    :root {
      color-scheme: light;
      --bg: #f6f4ee;
      --bg-soft: rgba(255, 255, 255, 0.54);
      --bg-strong: rgba(255, 255, 255, 0.78);
      --ink: #2f3433;
      --ink-soft: #5a625f;
      --charcoal: #242a2b;
      --navy: #314250;
      --line: rgba(49, 66, 80, 0.14);
      --line-strong: rgba(49, 66, 80, 0.24);
      --section-surface: rgba(255, 255, 255, 0.42);
      --label-mist: rgba(111, 105, 100, 0.66);
      --label-mist-line: rgba(154, 148, 141, 0.46);
      --label-mist-line-soft: rgba(154, 148, 141, 0.04);
      --label-mist-dot: rgba(173, 168, 163, 0.48);
      --shell: min(1180px, calc(100% - 32px));
      --font-sans: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
      --font-serif: "Shippori Mincho", "Yu Mincho", serif;
      --shadow-soft: none;
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-width: 320px;
      color: var(--ink);
      background:
        radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.78), transparent 24%),
        linear-gradient(180deg, #fcfaf6 0%, #f4efe8 100%);
      font-family: var(--font-sans);
      line-height: 1.84;
      letter-spacing: 0.01em;
      overflow-x: hidden;
    }

    body::before {
      content: none;
    }

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

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

    button,
    input,
    select,
    textarea {
      font: inherit;
    }

    h1,
    h2,
    h3,
    p,
    ul,
    li,
    dl,
    dd,
    dt,
    figure {
      margin: 0;
    }

    ul {
      padding: 0;
      list-style: none;
    }

    .shell {
      width: var(--shell);
      margin: 0 auto;
    }

    .page {
      padding: 0 0 88px;
    }

    .topbar {
      --menu-topbar-bg: rgba(249, 246, 240, 0.82);
      --menu-topbar-bg-condensed: rgba(249, 246, 240, 0.74);
      --menu-min-height: 84px;
      --menu-line: rgba(118, 103, 88, 0.04);
      --menu-line-strong: rgba(118, 103, 88, 0.08);
      --menu-active-color: rgba(38, 52, 61, 0.92);
      --menu-page-color: rgba(44, 44, 44, 0.48);
      --menu-page-hover-color: rgba(44, 44, 44, 0.72);
      --menu-nav-color: rgba(90, 98, 95, 0.6);
      --menu-nav-active-color: rgba(38, 52, 61, 0.88);
      --menu-nav-indicator: rgba(177, 141, 96, 0.48);
      box-shadow: 0 8px 20px rgba(50, 39, 26, 0.014);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .topbar.is-condensed {
      box-shadow: 0 10px 22px rgba(50, 39, 26, 0.02);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .topbar .topbar__inner {
      width: min(1200px, calc(100% - 48px));
      min-height: 84px;
    }

    .topbar.is-condensed .topbar__inner {
      min-height: 76px;
    }

    .topbar .nav-link {
      color: rgba(44, 44, 44, 0.58);
      padding-top: 11px;
      padding-bottom: 14px;
      font-size: 12px;
      letter-spacing: 0.14em;
    }

    .topbar .nav-link::after {
      bottom: -8px;
      width: 14px;
      background: rgba(177, 141, 96, 0.24);
    }

    .topbar .nav-link.is-current,
    .topbar .page-links__dropdown.is-current > .nav-link,
    .topbar .page-links__dropdown > .nav-link.is-current {
      color: rgba(38, 52, 61, 0.94);
    }

    .topbar .nav-link.is-current::after,
    .topbar .page-links__dropdown.is-current > .nav-link::after,
    .topbar .page-links__dropdown > .nav-link.is-current::after {
      width: 14px;
      background: rgba(177, 141, 96, 0.42);
      opacity: 0.72;
    }

    .topbar .brand {
      padding-block: 6px;
    }

    .hero {
      position: relative;
      min-height: min(78vh, 760px);
      padding: clamp(48px, 7vw, 96px) 0 64px;
      overflow: hidden;
      background:
        linear-gradient(
          90deg,
          rgba(246, 244, 238, 0.98) 0%,
          rgba(246, 244, 238, 0.94) 36%,
          rgba(246, 244, 238, 0.72) 58%,
          rgba(246, 244, 238, 0.28) 100%
        ),
        url("../images/lab-session.jpg");
      background-size: cover;
      background-position: center right;
      background-repeat: no-repeat;
      isolation: isolate;
    }

    .hero::before {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(49, 66, 80, 0.03) 1px, transparent 1px),
        linear-gradient(180deg, rgba(49, 66, 80, 0.024) 1px, transparent 1px),
        radial-gradient(circle at 78% 38%, rgba(255, 255, 255, 0.3), transparent 34%);
      background-size: 48px 48px, 48px 48px, auto;
      content: "";
      z-index: 0;
      pointer-events: none;
    }

    .hero .shell {
      position: relative;
      z-index: 1;
    }

    .hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.82fr);
      gap: clamp(36px, 5vw, 72px);
      align-items: center;
    }

    .hero__content {
      max-width: 640px;
    }

    .hero__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #3b4a45;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .section-label,
    .panel-label,
    .contact-luxury__mail-label,
    .contact-luxury__side-label {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--label-mist);
      font-family: var(--font-sans);
      font-size: clamp(0.64rem, 0.78vw, 0.69rem);
      font-weight: 400;
      line-height: 1.92;
      letter-spacing: 0.34em;
      text-transform: none;
      white-space: nowrap;
    }

    .hero__eyebrow::before {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #c7b07c;
      content: "";
    }

    .section-label,
    .panel-label,
    .contact-luxury__mail-label,
    .contact-luxury__side-label {
      position: relative;
    }

    .section-label::before,
    .panel-label::before,
    .contact-luxury__mail-label::before,
    .contact-luxury__side-label::before {
      width: 26px;
      height: 1px;
      background: linear-gradient(
        90deg,
        var(--label-mist-line-soft),
        var(--label-mist-line)
      );
      content: "";
    }

    .section-label::after,
    .panel-label::after,
    .contact-luxury__mail-label::after,
    .contact-luxury__side-label::after {
      width: 4px;
      height: 4px;
      border-radius: 999px;
      background: var(--label-mist-dot);
      box-shadow: 0 0 10px rgba(238, 234, 229, 0.46);
      content: "";
    }

    .hero__eyebrow {
      margin-bottom: 22px;
    }

    h1,
    h2,
    h3 {
      color: var(--charcoal);
      font-family: var(--font-serif);
      letter-spacing: 0.02em;
    }

    .hero h1 {
      max-width: none;
      font-size: clamp(3.2rem, 6vw, 5.2rem);
      line-height: 1.04;
      text-wrap: balance;
      white-space: nowrap;
    }

    .hero__lead {
      margin-top: 24px;
      display: grid;
      gap: 10px;
      max-width: none;
      color: var(--navy);
      font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
      font-weight: 400;
      letter-spacing: 0.09em;
      line-height: 1.9;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      white-space: normal;
    }

    .hero__lead-main,
    .hero__lead-sub {
      display: block;
      white-space: nowrap;
    }

    .hero__lead-main {
      font-size: clamp(1.26rem, 2.5vw, 1.64rem);
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }

    .hero__lead-sub {
      color: rgba(49, 66, 80, 0.76);
      font-size: clamp(1rem, 1.9vw, 1.18rem);
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }

    .hero__note {
      max-width: none;
      margin-top: 20px;
      color: var(--ink-soft);
      font-size: 0.98rem;
      line-height: 1.9;
      white-space: nowrap;
    }

    .hero__note br {
      display: block;
    }

    .button-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
      margin-top: 30px;
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 26px;
      border: 1px solid var(--navy);
      border-radius: 4px;
      color: var(--navy);
      font-size: 0.96rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease;
    }

    .button:hover,
    .button:focus-visible {
      opacity: 0.86;
      outline: none;
    }

    .button--primary {
      background: var(--navy);
      border-color: var(--navy);
      color: #ffffff;
    }

    .hero__aside {
      justify-self: end;
      width: min(100%, 400px);
    }

    .hero__panel {
      padding: 24px 24px 20px;
      border: 1px solid rgba(49, 66, 80, 0.16);
      background: rgba(255, 255, 255, 0.52);
      backdrop-filter: blur(10px);
    }

    .hero__panel-label {
      margin-bottom: 20px;
    }

    .hero__panel-list {
      display: grid;
      gap: 0;
    }

    .hero__panel-list li {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 4px;
      padding: 16px 0;
      border-top: 1px solid rgba(49, 66, 80, 0.12);
    }

    .hero__panel-list li:first-child {
      border-top: 1px solid rgba(49, 66, 80, 0.18);
    }

    .hero__panel-list strong {
      color: var(--charcoal);
      font-family: var(--font-serif);
      font-size: 1.1rem;
      line-height: 1.4;
      font-weight: 600;
    }

    .hero__panel-list span {
      color: rgba(74, 81, 86, 0.54);
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      text-transform: none;
    }

    .entry-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      align-items: start;
      margin-top: 54px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
    }

    .entry-panel {
      position: relative;
      z-index: 0;
      padding: clamp(42px, 6vw, 72px) 0;
      border: none;
      background: transparent;
    }

    .entry-panel::before {
      position: absolute;
      inset: 0 calc(50% - 50vw);
      background:
        linear-gradient(90deg, rgba(49, 66, 80, 0.018) 1px, transparent 1px),
        linear-gradient(180deg, rgba(49, 66, 80, 0.014) 1px, transparent 1px);
      background-size: 40px 40px;
      content: "";
      opacity: 0.32;
      pointer-events: none;
      z-index: -1;
    }

    .entry-panel > * {
      position: relative;
      z-index: 1;
    }

    .entry-panel h2 {
      margin-top: 16px;
      font-size: clamp(1.9rem, 3vw, 2.6rem);
      line-height: 1.26;
    }

    .profile-title-row {
      display: flex;
      align-items: flex-end;
      gap: 12px;
      width: fit-content;
      max-width: 100%;
      margin-top: 16px;
      flex-wrap: nowrap;
    }

    .profile-title-row #profile-title {
      margin-top: 0;
      white-space: nowrap;
    }

    .profile-instagram-link {
      position: relative;
      display: inline-flex;
      align-items: flex-end;
      justify-content: center;
      flex: 0 0 24px;
      width: 24px;
      height: 24px;
      line-height: 0;
      opacity: 0.92;
      transition: opacity 180ms ease;
    }

    .profile-instagram-link::before {
      position: absolute;
      inset: -6px;
      content: "";
    }

    .profile-instagram-link:hover {
      opacity: 0.72;
    }

    .profile-instagram-link:focus-visible {
      opacity: 0.72;
      outline: 1px solid rgba(49, 66, 80, 0.22);
      outline-offset: 3px;
    }

    .profile-instagram-link img {
      width: 24px;
      height: 24px;
      max-width: 24px;
      max-height: 24px;
      object-fit: contain;
      display: block;
      transform: translateY(-1px);
    }

    .entry-panel p {
      margin-top: 14px;
      color: var(--ink-soft);
      font-size: 0.96rem;
      line-height: 1.9;
    }

    .institution-record {
      margin-top: 34px;
      border-top: 1px solid rgba(49, 66, 80, 0.18);
      border-bottom: none;
    }

    .institution-record div {
      display: grid;
      grid-template-columns: 180px minmax(0, 1fr);
      gap: 24px;
      align-items: start;
      padding: 20px 0;
    }

    .institution-record div + div {
      border-top: 1px solid rgba(49, 66, 80, 0.12);
    }

    .institution-record dt {
      color: rgba(49, 66, 80, 0.58);
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .institution-record dd {
      color: var(--charcoal);
      font-family: var(--font-serif);
      font-size: 1.04rem;
      line-height: 1.56;
      letter-spacing: 0.04em;
    }

    #contact-mail-section {
      scroll-margin-top: 140px;
    }

    .contact-luxury {
      position: relative;
      overflow: hidden;
      padding: clamp(132px, 12vw, 188px) 0 clamp(124px, 10vw, 164px);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 245, 239, 0.92));
      isolation: isolate;
    }

    .contact-luxury::before {
      content: "";
      position: absolute;
      top: -14%;
      left: -10%;
      width: 74%;
      height: 128%;
      background:
        radial-gradient(circle at 10% 9%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.84) 18%, rgba(239, 234, 226, 0.34) 40%, rgba(239, 234, 226, 0) 72%),
        linear-gradient(122deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.52) 24%, rgba(227, 220, 210, 0.2) 38%, rgba(255, 255, 255, 0.3) 52%, rgba(255, 255, 255, 0) 78%);
      opacity: 0.68;
      filter: blur(18px);
      mask-image: linear-gradient(102deg, #000 0%, rgba(0, 0, 0, 0.9) 44%, rgba(0, 0, 0, 0.34) 66%, transparent 100%);
      -webkit-mask-image: linear-gradient(102deg, #000 0%, rgba(0, 0, 0, 0.9) 44%, rgba(0, 0, 0, 0.34) 66%, transparent 100%);
      pointer-events: none;
      z-index: 0;
    }

    .contact-luxury::after {
      content: "";
      position: absolute;
      left: 8%;
      right: 8%;
      bottom: 0;
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(32, 41, 43, 0.12),
        transparent
      );
      pointer-events: none;
      z-index: 0;
    }

    .contact-luxury__inner {
      width: min(1200px, calc(100% - 80px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(420px, 0.84fr);
      gap: clamp(88px, 7.6vw, 128px);
      align-items: start;
      position: relative;
      z-index: 1;
    }

    .contact-luxury__inner::before {
      content: "";
      position: absolute;
      top: 8px;
      bottom: 8px;
      left: calc(100% - 40.6%);
      width: 1px;
      background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(188, 180, 168, 0.46) 18%,
        rgba(188, 180, 168, 0.46) 82%,
        transparent 100%
      );
      pointer-events: none;
      z-index: 0;
    }

    .contact-luxury__inner::after {
      content: "";
      position: absolute;
      top: -6%;
      left: -4%;
      width: 60%;
      height: 108%;
      pointer-events: none;
      z-index: 0;
      opacity: 0.28;
      background:
        radial-gradient(ellipse at 8% 12%, rgba(98, 90, 79, 0.16) 0%, rgba(98, 90, 79, 0.1) 10%, transparent 24%),
        radial-gradient(ellipse at 16% 22%, rgba(98, 90, 79, 0.14) 0%, rgba(98, 90, 79, 0.08) 10%, transparent 24%),
        radial-gradient(ellipse at 24% 36%, rgba(98, 90, 79, 0.12) 0%, rgba(98, 90, 79, 0.07) 11%, transparent 24%),
        radial-gradient(ellipse at 12% 50%, rgba(98, 90, 79, 0.11) 0%, rgba(98, 90, 79, 0.06) 10%, transparent 24%),
        linear-gradient(118deg, transparent 0%, rgba(110, 101, 87, 0.08) 32%, transparent 70%);
      filter: blur(30px);
      mask-image: linear-gradient(110deg, #000 0%, rgba(0, 0, 0, 0.82) 40%, rgba(0, 0, 0, 0.18) 68%, transparent 100%);
      -webkit-mask-image: linear-gradient(110deg, #000 0%, rgba(0, 0, 0, 0.82) 40%, rgba(0, 0, 0, 0.18) 68%, transparent 100%);
    }

    .contact-luxury__main,
    .contact-luxury__side {
      position: relative;
      z-index: 2;
    }

    .contact-luxury__main {
      padding-top: 8px;
    }

    .contact-luxury__main::before {
      content: none;
    }

    .contact-luxury__title {
      margin: 0;
      position: relative;
      display: inline-block;
      padding-bottom: 30px;
      color: rgba(20, 25, 28, 0.98);
      font-family: var(--font-serif);
      font-size: clamp(3.36rem, 5vw, 5.28rem);
      line-height: 1;
      letter-spacing: 0.045em;
      font-weight: 600;
    }

    .contact-luxury__title::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 54px;
      height: 2px;
      background: linear-gradient(90deg, rgba(183, 149, 94, 0.9), rgba(183, 149, 94, 0.28));
    }

    .contact-luxury__lead {
      margin: 36px 0 0;
      max-width: 500px;
      color: rgba(22, 29, 32, 0.88);
      font-size: clamp(1.14rem, 1.45vw, 1.34rem);
      line-height: 2.22;
      letter-spacing: 0.045em;
    }

    .contact-luxury__note {
      margin: 44px 0 0;
      max-width: 502px;
      color: rgba(32, 41, 43, 0.58);
      font-size: 0.95rem;
      line-height: 2.32;
      letter-spacing: 0.06em;
    }

    .contact-luxury__mail-block {
      margin-top: 74px;
      padding-top: 0;
      max-width: 620px;
      border-top: 0;
    }

    .contact-luxury__mail-label {
      margin-bottom: 18px;
      margin-left: 2px;
    }

    .contact-luxury__side-label {
      margin: 0 0 22px 4px;
    }

    .contact-luxury__mail {
      display: block;
      width: fit-content;
      min-height: 0;
      max-width: 100%;
      padding: 14px 0 10px;
      color: rgba(30, 35, 37, 0.92);
      font-family: var(--font-serif);
      font-size: clamp(1rem, 1.8vw, 1.25rem);
      line-height: 1.82;
      letter-spacing: 0.05em;
      font-weight: 400;
      text-decoration: none;
      cursor: pointer;
      overflow-wrap: anywhere;
      transition: color 240ms ease, opacity 240ms ease, text-shadow 240ms ease;
    }

    .contact-luxury__mail:hover,
    .contact-luxury__mail:focus-visible {
      opacity: 0.96;
      color: rgba(54, 59, 62, 0.94);
      text-shadow: 0 0 16px rgba(245, 241, 235, 0.72);
    }

    .contact-luxury__mail-note {
      margin-top: 14px;
      color: rgba(56, 61, 63, 0.72);
      font-size: 0.88rem;
      line-height: 1.9;
      letter-spacing: 0.03em;
    }

    .contact-luxury__side {
      margin-top: clamp(26px, 2.3vw, 38px);
      padding: 60px 0 0 clamp(34px, 3vw, 48px);
      background: rgba(255, 255, 255, 0.08);
      border: 0;
      border-radius: 0;
      box-shadow: none;
      backdrop-filter: none;
    }

    .contact-luxury__side::before {
      content: "";
      position: absolute;
      top: 0;
      left: clamp(34px, 3vw, 48px);
      width: 44px;
      height: 1px;
      background: linear-gradient(90deg, var(--label-mist-line), var(--label-mist-line-soft));
    }

    .contact-luxury__examples {
      display: grid;
      gap: 0;
    }

    .contact-luxury__examples p {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 22px;
      align-items: center;
      margin: 0;
      padding: 30px 0 30px 20px;
      border-top: 1px solid rgba(137, 132, 126, 0.2);
      color: rgba(37, 43, 45, 0.74);
      font-size: 0.93rem;
      line-height: 2.02;
      letter-spacing: 0.065em;
      transition: color 240ms ease, border-color 240ms ease, text-shadow 240ms ease;
    }

    .contact-luxury__examples p:first-child {
      padding-top: 8px;
      border-top: 0;
    }

    .contact-luxury__examples p::before {
      content: "";
      position: absolute;
      left: 0;
      top: 1.02em;
      width: 5px;
      height: 5px;
      border-radius: 999px;
      background: rgba(173, 168, 163, 0.4);
      box-shadow: 0 0 10px rgba(242, 238, 233, 0.34);
    }

    .contact-luxury__examples p::after {
      content: "\2192";
      color: rgba(128, 122, 117, 0.58);
      font-size: 0.72rem;
      transform: translateX(0);
      transition: transform 240ms ease, color 240ms ease;
    }

    .contact-luxury__examples p:hover,
    .contact-luxury__examples p:focus-within {
      color: rgba(27, 32, 34, 0.86);
      border-color: rgba(137, 132, 126, 0.3);
      text-shadow: 0 0 12px rgba(255, 255, 255, 0.14);
    }

    .contact-luxury__examples p:hover::after,
    .contact-luxury__examples p:focus-within::after {
      color: rgba(107, 102, 98, 0.72);
      transform: translateX(1px);
    }

    .contact-luxury__support {
      position: relative;
      margin: 64px 0 0;
      max-width: none;
      padding-top: 30px;
      border-top: none;
      color: rgba(92, 76, 58, 0.76);
      font-size: clamp(0.52rem, 0.74vw, 0.8rem);
      line-height: 1.82;
      letter-spacing: 0.02em;
      white-space: nowrap;
    }

    .contact-luxury__support::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 118px;
      height: 1px;
      background: linear-gradient(90deg, var(--label-mist-line), var(--label-mist-line-soft));
    }

    .page-footer {
      width: var(--shell);
      margin: 46px auto 0;
      padding-top: 22px;
      border-top: 1px solid rgba(51, 68, 83, 0.12);
      color: var(--ink-soft);
      font-size: 0.86rem;
      line-height: 1.78;
    }

    .thanks-page {
      padding: clamp(48px, 8vw, 88px) 0 96px;
    }

    .thanks-shell {
      width: min(760px, calc(100% - 32px));
      margin: 0 auto;
    }

    .thanks-panel {
      padding: clamp(34px, 6vw, 54px);
      border: 1px solid rgba(49, 66, 80, 0.14);
      background: rgba(255, 255, 255, 0.66);
      backdrop-filter: blur(10px);
    }

    .thanks-panel h1 {
      margin-top: 14px;
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: 1.24;
      white-space: nowrap;
    }

    .thanks-panel p {
      margin-top: 16px;
      color: var(--ink-soft);
      font-size: 0.96rem;
      line-height: 1.9;
    }

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

    @media (max-width: 1100px) {
      .hero__grid {
        grid-template-columns: 1fr;
      }

      .hero__aside {
        justify-self: stretch;
        width: 100%;
      }
    }

    @media (max-width: 820px) {
      .contact-luxury {
        padding: 96px 0 108px;
      }

      .contact-luxury::before {
        top: -10%;
        left: -24%;
        width: 94%;
        height: 94%;
        opacity: 0.72;
      }

      .contact-luxury__inner {
        width: min(calc(100% - 32px), 640px);
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .contact-luxury__inner::before {
        display: none;
      }

      .contact-luxury__inner::after {
        left: -18%;
        top: -4%;
        width: 86%;
        height: 52%;
        opacity: 0.24;
        filter: blur(24px);
      }

      .contact-luxury__title {
        font-size: clamp(3rem, 13vw, 4.18rem);
      }

      .contact-luxury__lead,
      .contact-luxury__note {
        line-height: 2.05;
      }

      .contact-luxury__mail-block {
        margin-top: 44px;
      }

      .contact-luxury__side {
        margin-top: 0;
        padding: 34px 0 0;
      }

      .contact-luxury__side::before {
        left: 0;
      }

      .contact-luxury__examples {
        gap: 0;
      }

      .contact-luxury__mail {
        font-size: clamp(1rem, 4.4vw, 1.12rem);
      }

      .contact-luxury__support {
        max-width: none;
        margin-top: 34px;
      }
    }

    @media (max-width: 760px) {
      .page {
        padding-top: 0;
      }

      .hero {
        min-height: auto;
        padding: 32px 0 40px;
        background-position: 72% center;
      }

      .hero h1 {
        max-width: none;
        font-size: clamp(2.6rem, 10vw, 4.2rem);
        white-space: nowrap;
      }

      .hero__lead,
      .hero__note {
        max-width: none;
      }

      .hero__lead-main,
      .hero__lead-sub {
        white-space: normal;
      }

      .hero__note {
        font-size: 0.92rem;
      }

      .entry-panel {
        padding: clamp(36px, 10vw, 48px) 0;
      }

      .profile-title-row {
        gap: 8px;
      }

      .institution-record div {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .thanks-panel {
        padding: 30px 22px;
      }

      .thanks-panel h1 {
        font-size: clamp(0.98rem, 4.9vw, 2rem);
      }

      .thanks-actions {
        flex-direction: column;
      }

      .thanks-actions .button {
        width: 100%;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      .button,
      input,
      select,
      textarea {
        transition: none;
      }
    }
