:root {
  --white: #fff;
  --mist: #f8fbfd;
  --sky: #eaf8fd;
  --sky-strong: #d7f2fa;
  --navy: #083967;
  --navy-deep: #052b50;
  --aqua: #00b8d4;
  --aqua-dark: #0098bd;
  --line: #8adcf0;
  --muted: #5f7184;
  --green: #8fae55;
  --border: rgba(8, 57, 103, 0.16);
  --shadow: 0 22px 60px rgba(8, 57, 103, 0.12);
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
  --display-number: "Bodoni MT", Didot, "Times New Roman", serif;
  --header-h: 78px;
  --rail-w: 94px;
  --section-x: clamp(32px, 6.2vw, 112px);
  --section-y: clamp(88px, 9vw, 154px);
  --content-max: 1420px;
}

/* =========================================================
   2026-08-26 creative-director refinement
   Nagao comparison / venue 02 heading / detail whitespace
   ========================================================= */

/* Reference-faithful Nagao comparison introduction */
.nagao-overview-v9 .nagao-property-intro-v10 {
  padding: clamp(58px, 4.8vw, 76px) clamp(26px, 4.5vw, 64px) clamp(44px, 4vw, 64px);
}

.nagao-property-intro-v10__content {
  width: min(100%, 1280px);
  max-width: 1280px;
}

.nagao-property-intro-v10__copy {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: clamp(42px, 5vw, 76px);
  align-items: center;
  text-align: left;
}

.nagao-property-intro-v10__copy h3,
.nagao-property-intro-v10__lead {
  position: relative;
  margin: 0;
  padding-left: clamp(22px, 2.2vw, 32px);
}

.nagao-property-intro-v10__copy h3::before,
.nagao-property-intro-v10__lead::before {
  content: "";
  position: absolute;
  top: .05em;
  bottom: .05em;
  left: 0;
  width: 3px;
  border-radius: 3px;
  background: #10adcf;
}

.nagao-property-intro-v10__copy h3 {
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(38px, 3.25vw, 50px);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: .055em;
}

.nagao-property-intro-v10__copy h3 span,
.nagao-property-intro-v10__lead span { display: block; }

.nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
  color: rgba(7, 49, 94, .88);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 2;
  letter-spacing: .075em;
  text-align: left;
}

.nagao-property-intro-v10__homes {
  gap: clamp(22px, 2.2vw, 32px);
  margin-top: clamp(36px, 3.2vw, 46px);
}

.nagao-property-intro-v10__homes .nagao-property-intro-v10__home {
  min-height: 370px;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 55%) minmax(0, 45%);
  isolation: isolate;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
}

.nagao-property-intro-v10__homes .nagao-property-intro-v10__home::before {
  content: "";
  position: absolute;
  left: -55px;
  bottom: -66px;
  width: 180px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(215, 242, 251, .62);
  z-index: -1;
}

.nagao-property-intro-v10__homes .nagao-property-intro-v10__home::after {
  top: auto;
  right: auto;
  left: 35px;
  bottom: 22px;
  width: 94px;
  height: 30px;
  border-radius: 0;
  opacity: .42;
  background-image: radial-gradient(circle, #70cfe7 1.7px, transparent 1.9px);
  background-size: 12px 12px;
  background-color: transparent;
  z-index: -1;
}

.nagao-property-intro-v10__home-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: clamp(28px, 2.5vw, 36px) 8px clamp(30px, 2.5vw, 38px) clamp(26px, 2.6vw, 40px);
}

.nagao-property-intro-v10__home-copy > span {
  display: inline-flex;
  min-width: 84px;
  min-height: 38px;
  padding: 5px 18px;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 999px;
  background: #073765;
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
}

.nagao-property-intro-v10__home--two .nagao-property-intro-v10__home-copy > span { background: #08a8ca; }

.nagao-property-intro-v10__homes .nagao-property-intro-v10__home h4 {
  margin: 20px 0 14px;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.55;
}

.nagao-property-intro-v10__home-copy > i {
  display: block;
  width: 44px;
  height: 2px;
  margin: 0 0 16px;
  background: #0ca8c9;
}

.nagao-property-intro-v10__homes .nagao-property-intro-v10__home p {
  font-size: clamp(12px, .95vw, 14px);
  line-height: 1.9;
}

.nagao-property-intro-v10__home figure {
  position: relative;
  z-index: 1;
  width: calc(100% + 70px);
  height: 100%;
  min-width: 0;
  margin: 0 0 0 -70px;
  overflow: hidden;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
}

.nagao-property-intro-v10__home figure img {
  width: 100%;
  height: 100%;
  min-height: 370px;
  object-fit: cover;
}

.nagao-property-intro-v10__home--one figure img { object-position: 59% center; }
.nagao-property-intro-v10__home--two figure img { object-position: 64% center; }

.nagao-property-intro-v10__closing {
  margin-top: clamp(26px, 2.5vw, 34px);
}

.nagao-property-intro-v10__features {
  width: min(100%, 1210px);
  margin: clamp(26px, 2.5vw, 34px) auto 0;
  padding: 22px 18px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid rgba(70, 177, 217, .2);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(6,55,101,.065);
}

.nagao-property-intro-v10__features li {
  position: relative;
  min-width: 0;
  padding: 0 18px;
}

.nagao-property-intro-v10__features li + li::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 1px;
  background: rgba(19, 103, 151, .18);
}

.nagao-property-intro-v10__features li > i {
  width: clamp(82px, 7vw, 94px);
  height: clamp(82px, 7vw, 94px);
  margin-inline: auto;
  padding: 13px;
  border: 1px solid rgba(73,184,224,.16);
  border-radius: 50%;
  background: #edf8fc;
}

.nagao-property-intro-v10__features li > i img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nagao-property-intro-v10__features strong { margin-top: 10px; }

.nagao-property-intro-v10__cta {
  width: min(100%, 500px);
  min-height: 78px;
  margin-top: 20px;
  border-radius: 10px;
  background: #073765;
}

/* Venue 02 is presented with the same single-line hierarchy as venue 01. */
.kozu-v13-hero-copy h2 {
  padding: 0;
  border: 0;
  align-items: center;
  gap: clamp(16px, 2.2vw, 34px);
  font-size: clamp(29px, 3.15vw, 48px);
  line-height: 1.35;
  white-space: nowrap;
}

.kozu-v13-hero-copy h2 i {
  width: 1px;
  height: 1.2em;
  flex: 0 0 1px;
  background: rgba(7, 55, 101, .52);
}

.kozu-v13-hero-copy h2 span {
  color: #063465;
  font: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.kozu-v13-reasons-lead h2 { white-space: nowrap; }

/* Keep the paired photographs while removing the empty left-hand column. */
@media (min-width: 1101px) {
  .nagao-lot-v11__top,
  .kozu-v13-detail-top { align-items: start; }

  .nagao-lot-v11__gallery {
    grid-template-rows: repeat(2, clamp(270px, 17vw, 315px));
    align-content: start;
  }

  .nagao-lot-v11__gallery img { min-height: 0; }

  .kozu-v13-detail-gallery {
    grid-template-rows: repeat(2, clamp(270px, 17.2vw, 320px));
    align-content: start;
  }

  .kozu-v13-detail-gallery figure { aspect-ratio: auto; }
}

/* Sharper editorial numerals for the three lot-detail sections. */
.nagao-lot-v11__number strong,
.nagao-lot-v11__price strong,
.kozu-v13-detail-heading > p strong,
.kozu-v13-detail-price strong {
  font-family: Didot, "Bodoni MT", "Times New Roman", serif;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}

@media (max-width: 899px) {
  .nagao-property-intro-v10__copy {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .nagao-property-intro-v10__copy h3,
  .nagao-property-intro-v10__lead { max-width: 680px; }

  .nagao-property-intro-v10__homes { grid-template-columns: 1fr; }

  .nagao-property-intro-v10__homes .nagao-property-intro-v10__home {
    width: min(100%, 680px);
    margin-inline: auto;
  }

  .nagao-property-intro-v10__features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 22px;
  }

  .nagao-property-intro-v10__features li:nth-child(4)::before { display: none; }
  .nagao-property-intro-v10__features li:nth-child(n+4) { border-top: 1px solid rgba(19,103,151,.13); padding-top: 22px; }
  .nagao-property-intro-v10__features li:nth-child(4) { grid-column: 1 / 2; margin-left: 50%; }
  .nagao-property-intro-v10__features li:nth-child(5) { grid-column: 2 / 3; margin-left: 50%; }
}

@media (max-width: 767px) {
  .nagao-overview-v9 .nagao-property-intro-v10 { padding: 50px 14px 46px; }

  .nagao-property-intro-v10__copy h3,
  .nagao-property-intro-v10__lead { padding-left: 18px; }

  .nagao-property-intro-v10__copy h3 {
    font-size: clamp(24px, 7vw, 29px);
    line-height: 1.58;
    letter-spacing: .045em;
  }

  .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
    font-size: 12px;
    line-height: 1.9;
  }

  .nagao-property-intro-v10__homes { margin-top: 26px; gap: 16px; }

  .nagao-property-intro-v10__homes .nagao-property-intro-v10__home {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .nagao-property-intro-v10__home-copy { padding: 24px 22px 18px; }
  .nagao-property-intro-v10__homes .nagao-property-intro-v10__home h4 { margin-top: 15px; font-size: 21px; }
  .nagao-property-intro-v10__home-copy > i { margin-bottom: 12px; }

  .nagao-property-intro-v10__home figure {
    width: 100%;
    height: 180px;
    margin: -18px 0 0;
    clip-path: polygon(14% 18px, 100% 0, 100% 100%, 0 100%);
  }

  .nagao-property-intro-v10__home figure img { min-height: 180px; }

  .nagao-property-intro-v10__closing {
    margin-top: 20px;
    font-size: 12px;
    line-height: 1.85;
  }

  .nagao-property-intro-v10__features {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 0;
    margin-top: 22px;
    padding: 12px 8px;
  }

  .nagao-property-intro-v10__features li {
    min-height: 196px;
    padding: 16px 10px;
  }

  .nagao-property-intro-v10__features li:nth-child(odd)::before { display: none; }
  .nagao-property-intro-v10__features li:nth-child(n+3) { border-top: 1px solid rgba(19,103,151,.13); }
  .nagao-property-intro-v10__features li:nth-child(4) { grid-column: auto; margin-left: 0; }
  .nagao-property-intro-v10__features li:nth-child(5) { grid-column: 1 / -1; width: 50%; margin: 0 auto; }
  .nagao-property-intro-v10__features li > i { width: 70px; height: 70px; padding: 10px; }
  .nagao-property-intro-v10__features strong { font-size: 12px; }
  .nagao-property-intro-v10__features span { font-size: 10px; }
  .nagao-property-intro-v10__cta { min-height: 62px; margin-top: 18px; }

  .kozu-v13-hero-copy h2 {
    padding: 0;
    flex-direction: row;
    gap: 9px;
    font-size: clamp(14px, 4.15vw, 18px);
    line-height: 1.35;
    letter-spacing: .025em;
  }

  .kozu-v13-hero-copy h2 i { height: 1.25em; }
  .kozu-v13-reasons-lead h2 { font-size: clamp(27px, 8vw, 34px); }
}

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

html {
  scroll-behavior: smooth;
  color-scheme: light;
  background: var(--white);
}

body {
  margin: 0;
  color: var(--navy);
  background: var(--white);
  font-family: var(--sans);
  line-height: 1.8;
  letter-spacing: 0.035em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.18;
  background-image: radial-gradient(rgba(8,57,103,.12) .6px, transparent .6px);
  background-size: 5px 5px;
}

img { display: block; max-width: 100%; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 12px;
  z-index: 1000;
  padding: 10px 16px;
  color: var(--white);
  background: var(--navy);
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus-visible { transform: translateY(0); }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(22px, 3.2vw, 58px);
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(0, 184, 212, .18);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.2;
}
.brand-ja {
  font-family: var(--serif);
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 700;
  letter-spacing: .16em;
}
.brand-en {
  margin-top: 5px;
  color: var(--aqua-dark);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .24em;
}

.header-action {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 8px 18px 8px 24px;
  color: var(--white);
  background: var(--aqua);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 184, 212, .19);
  transition: background .2s ease, transform .2s ease;
}
.header-action svg { width: 22px; height: 22px; }
.header-action:hover { background: var(--aqua-dark); transform: translateY(-1px); }
.header-action:focus-visible, .button:focus-visible, .pace-choices button:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 3px solid rgba(0,184,212,.42);
  outline-offset: 3px;
}

.section-rail {
  position: fixed;
  z-index: 70;
  top: var(--header-h);
  bottom: 0;
  left: 0;
  width: var(--rail-w);
  overflow-y: auto;
  background: rgba(255,255,255,.95);
  border-right: 1px solid rgba(8,57,103,.13);
  scrollbar-width: none;
}
.section-rail::-webkit-scrollbar { display: none; }
.section-rail ol {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 16px 9px;
  margin: 0;
  list-style: none;
}
.section-rail a {
  position: relative;
  min-height: 43px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0;
  color: rgba(8,57,103,.55);
  border-radius: 6px;
  transition: color .2s ease, background .2s ease;
}
.section-rail a::before {
  content: "";
  position: absolute;
  left: -9px;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: transparent;
}
.section-rail a span {
  font-family: var(--serif);
  font-size: 15px;
  line-height: 1;
}
.section-rail a small {
  max-width: 72px;
  margin-top: 5px;
  overflow: hidden;
  font-size: 6.5px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .09em;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.section-rail a:hover { color: var(--navy); background: var(--sky); }
.section-rail a.is-active { color: var(--aqua-dark); background: linear-gradient(90deg, rgba(0,184,212,.08), transparent); }
.section-rail a.is-active::before { background: var(--aqua); }
.section-rail a.is-active span { font-size: 21px; }

main, .site-footer { margin-left: var(--rail-w); }

.lp-section {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  padding: var(--section-y) var(--section-x);
  isolation: isolate;
}
.lp-section > * { position: relative; z-index: 2; }
.lp-section::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(0,184,212,.16);
  border-radius: 50%;
  pointer-events: none;
}
.lp-section:nth-of-type(3n+1)::after { right: -250px; bottom: -220px; }
.lp-section:nth-of-type(3n+2)::after { left: -300px; top: 22%; }
.lp-section:nth-of-type(3n)::after { right: -220px; top: -260px; }

.section-mobile-index { display: none; }

/* Venue identity and in-section wayfinding */
.venue-context {
  width: fit-content;
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 18px;
  padding: 8px 13px 8px 10px;
  color: var(--navy-deep);
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(0,184,212,.22);
  border-left: 3px solid var(--aqua);
  border-radius: 4px 999px 999px 4px;
  box-shadow: 0 8px 20px rgba(8,57,103,.06);
  font-family: var(--sans);
  line-height: 1.2;
  letter-spacing: .055em;
}
.venue-context > span {
  color: var(--aqua-dark);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.venue-context > strong {
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.venue-context > em {
  padding: 4px 8px;
  color: var(--aqua-dark);
  background: var(--sky);
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.section-context {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px;
  padding: 5px 0;
  color: var(--navy);
  border-top: 1px solid rgba(0,184,212,.38);
  border-bottom: 1px solid rgba(0,184,212,.38);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .07em;
}
.section-context > span,
.section-context > strong { white-space: nowrap; }
.section-context > strong {
  padding-left: 9px;
  color: var(--aqua-dark);
  border-left: 1px solid rgba(0,184,212,.38);
  font-weight: 800;
}

@media (max-width: 720px) {
  .venue-context {
    width: 100%;
    max-width: 560px;
    grid-template-columns: auto minmax(0,1fr);
    gap: 4px 9px;
    padding: 9px 12px 9px 9px;
    border-radius: 4px 18px 18px 4px;
  }
  .venue-context > strong { min-width: 0; white-space: normal; }
  .venue-context > em { grid-column: 2; justify-self: start; }
  .section-context { max-width: 100%; flex-wrap: wrap; gap: 5px 8px; }
}

.section-number {
  position: absolute;
  top: clamp(38px, 5vw, 74px);
  left: var(--section-x);
  display: flex;
  align-items: flex-end;
  gap: 15px;
  z-index: 1;
  pointer-events: none;
}
.section-number span {
  color: rgba(0,184,212,.22);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(92px, 12vw, 188px);
  font-style: italic;
  font-weight: 400;
  line-height: .7;
  letter-spacing: -.08em;
}
.section-number small {
  margin-bottom: 5px;
  color: var(--aqua);
  font-family: var(--serif);
  font-size: 11px;
  font-style: italic;
  letter-spacing: .18em;
}

.section-heading { max-width: 680px; }
.section-heading.centered { max-width: 900px; margin-inline: auto; text-align: center; }
.section-heading h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(38px, 4.8vw, 74px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .07em;
}
.section-heading h2 em,
.hero h1 em {
  color: var(--navy);
  font-style: normal;
  background: linear-gradient(transparent 69%, rgba(0,184,212,.18) 69%);
}
.section-heading p {
  margin: clamp(24px, 2.5vw, 42px) 0 0;
  color: var(--muted);
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 2.15;
}
.mobile-title-break { display: none; }

.button {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 13px 30px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-family: var(--serif);
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 600;
  letter-spacing: .08em;
  transition: transform .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease;
}
.button svg { width: 23px; height: 23px; }
.button-primary { color: var(--white); background: var(--aqua); box-shadow: 0 16px 36px rgba(0,184,212,.22); }
.button-primary:hover { background: var(--aqua-dark); transform: translateY(-2px); box-shadow: 0 20px 44px rgba(0,152,189,.28); }
.button-outline { color: var(--navy); background: var(--white); border-color: var(--line); }
.button-outline:hover { color: var(--white); background: var(--navy); border-color: var(--navy); transform: translateY(-2px); }
.button-text {
  min-height: auto;
  padding: 10px 3px;
  border-radius: 0;
  border-bottom-color: var(--aqua);
  font-family: var(--sans);
  font-size: 14px;
}
.button-text:hover { color: var(--aqua-dark); }

.hero {
  min-height: calc(100svh - var(--header-h));
  display: grid;
  grid-template-columns: minmax(540px, 1.08fr) minmax(520px, .92fr);
  align-items: center;
  gap: clamp(28px, 3.2vw, 56px);
  padding-top: clamp(72px, 8vh, 112px);
  padding-bottom: clamp(68px, 8vh, 110px);
  background: var(--white);
}
.hero::before {
  content: "01";
  position: absolute;
  top: 1.5%;
  left: 4%;
  z-index: 0;
  color: rgba(0,184,212,.12);
  font-family: Georgia, serif;
  font-size: clamp(150px, 20vw, 330px);
  font-style: italic;
  line-height: 1;
}
.hero::after { width: 560px; height: 560px; right: -220px !important; bottom: -220px !important; }
.hero-copy { align-self: center; padding-left: clamp(0px, 1vw, 16px); }
.hero-lead {
  margin: 0 0 34px;
  color: var(--aqua-dark);
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 700;
  letter-spacing: .11em;
}
.hero h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(46px, 4vw, 60px);
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: .035em;
}
.hero-description {
  margin: 38px 0 0;
  color: var(--muted);
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 2.15;
}
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 42px; }
.hero-media { position: relative; min-height: min(70vh, 720px); }
.hero-photo { margin: 0; overflow: hidden; background: var(--sky); box-shadow: var(--shadow); }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.hero-photo figcaption {
  position: absolute;
  left: 20px;
  bottom: 18px;
  padding: 7px 13px;
  color: var(--navy);
  background: rgba(255,255,255,.9);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  backdrop-filter: blur(6px);
}
.hero-photo-main {
  position: absolute;
  inset: 4% 5% 8% 5%;
  border-radius: 48% 48% 24px 24px / 28% 28% 24px 24px;
}
.hero-photo-inset {
  position: absolute;
  right: 7px;
  bottom: 3%;
  width: 34%;
  aspect-ratio: 1.05;
  border: 10px solid var(--white);
  border-radius: 50%;
}
.hero-photo-inset figcaption { left: 50%; bottom: 10px; width: max-content; max-width: 90%; transform: translateX(-50%); }
.hero-fact {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  width: clamp(142px, 12vw, 190px);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  column-gap: 5px;
  color: var(--navy);
  background: var(--sky);
  border: 1px solid var(--line);
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 16px 40px rgba(8,57,103,.09);
}
.hero-fact strong { font-family: Georgia, serif; font-size: clamp(36px, 4vw, 58px); font-weight: 400; line-height: 1; }
.hero-fact span { align-self: end; padding-bottom: 6px; font-size: 12px; }
.hero-fact i { width: 18px; height: 1px; align-self: center; background: var(--aqua); }
.hero-fact small { grid-column: 1 / -1; margin-top: 6px; font-size: 10px; letter-spacing: .14em; }
.hero-curve { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; color: var(--aqua); opacity: .55; }
.hero-curve path { stroke-width: 1; }
.hero-scroll { position: absolute; left: 24px; bottom: 20px; display: flex; align-items: center; gap: 12px; transform: rotate(90deg); transform-origin: left center; }
.hero-scroll span { color: var(--muted); font-size: 8px; letter-spacing: .25em; }
.hero-scroll i { width: 54px; height: 1px; background: var(--aqua); }

.overview { background: var(--mist); }
.overview .section-heading { margin: 70px auto 0; max-width: 1020px; text-align: center; }
.overview-visual {
  max-width: var(--content-max);
  display: grid;
  grid-template-columns: 1fr .55fr 1fr;
  align-items: center;
  gap: 0;
  margin: 64px auto 0;
}
.overview-circle {
  position: relative;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 52px;
  border: 1px solid var(--line);
  border-radius: 50%;
  text-align: center;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.overview-circle:hover { transform: translateY(-8px); background: var(--white); box-shadow: var(--shadow); }
.overview-circle::after { content: ""; position: absolute; inset: 18px; border: 1px dashed rgba(0,184,212,.22); border-radius: 50%; }
.overview-place { color: var(--aqua-dark); font-size: 13px; font-weight: 700; letter-spacing: .16em; }
.overview-circle strong { margin-top: 16px; font-family: var(--serif); font-size: clamp(30px, 3vw, 48px); font-weight: 500; letter-spacing: .08em; }
.overview-circle p { margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 2; }
.overview-circle svg { position: absolute; right: 14%; bottom: 18%; width: 24px; height: 24px; color: var(--aqua); }
.overview-total { position: relative; z-index: 3; display: grid; place-items: center; text-align: center; }
.overview-total::before { content: ""; position: absolute; width: 190px; aspect-ratio: 1; z-index: -1; background: var(--aqua); border-radius: 50%; box-shadow: 0 20px 50px rgba(0,184,212,.25); }
.overview-total strong { color: var(--white); font-family: Georgia, serif; font-size: 92px; font-weight: 400; line-height: .85; }
.overview-total span { color: var(--white); font-family: var(--serif); font-size: 18px; }
.overview-total small { color: rgba(255,255,255,.78); font-size: 9px; letter-spacing: .14em; }
.overview-strip { max-width: var(--content-max); display: grid; grid-template-columns: 1.1fr .8fr 1.1fr; gap: 14px; margin: 62px auto 0; }
.overview-strip img { width: 100%; height: 210px; object-fit: cover; border-radius: 70px 18px 70px 18px; }

.compare { background: var(--white); }
.compare .section-heading { max-width: 1020px; margin-top: 64px; }
.compare .section-heading h2 { font-size: clamp(42px, 4.1vw, 64px); letter-spacing: .055em; }
.venue-portraits { max-width: 1160px; display: grid; grid-template-columns: 1fr 110px 1fr; align-items: center; gap: 20px; margin: 62px auto 0; }
.venue-portraits figure { position: relative; margin: 0; aspect-ratio: 1.55; overflow: hidden; border-radius: 34px; }
.venue-portraits img { width: 100%; height: 100%; object-fit: cover; }
.venue-portraits figcaption { position: absolute; left: 24px; bottom: 20px; padding: 10px 16px; color: var(--navy); background: rgba(255,255,255,.9); }
.venue-portraits figcaption span { display: block; color: var(--aqua-dark); font-size: 10px; font-weight: 700; }
.venue-portraits figcaption strong { font-family: var(--serif); font-size: 24px; font-weight: 500; }
.versus { color: var(--aqua); font-family: var(--serif); font-size: 36px; font-style: italic; text-align: center; }
.comparison-wrap { max-width: 1160px; margin: 38px auto 0; overflow: hidden; border-top: 1px solid var(--navy); border-bottom: 1px solid var(--navy); }
.comparison-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.comparison-table th, .comparison-table td { padding: 19px 24px; border-bottom: 1px solid var(--border); text-align: center; }
.comparison-table thead th { color: var(--white); background: var(--navy); font-size: 13px; letter-spacing: .12em; }
.comparison-table thead th:first-child { width: 23%; color: var(--navy); background: var(--sky); }
.comparison-table tbody th { color: var(--aqua-dark); background: var(--mist); font-size: 12px; letter-spacing: .12em; }
.comparison-table td { font-family: var(--serif); font-size: clamp(14px, 1.2vw, 18px); }
.comparison-table td small { display: block; color: var(--muted); font-family: var(--sans); font-size: 10px; }
.comparison-table tbody tr:last-child > * { border-bottom: 0; }
.split-actions { max-width: 800px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 42px auto 0; }

.property-section { background: var(--white); }
.property-section .section-heading { margin: 76px auto 0; max-width: 990px; text-align: center; }
.property-section .section-heading h2 { font-size: clamp(42px, 4.05vw, 62px); letter-spacing: .05em; }
.station-line { width: fit-content; display: flex; align-items: center; gap: 12px; margin: 34px auto 0; padding: 10px 18px; border: 1px solid var(--line); border-radius: 999px; }
.station-line svg { width: 22px; height: 22px; color: var(--aqua); }
.station-line span { font-size: 12px; }
.station-line strong { font-family: var(--serif); font-size: 16px; }
.house-grid { max-width: 1200px; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin: 58px auto 0; }
.house-card { overflow: hidden; background: var(--white); border: 1px solid var(--border); border-radius: 28px; box-shadow: 0 18px 50px rgba(8,57,103,.08); }
.house-card figure { margin: 0; aspect-ratio: 1.55; overflow: hidden; }
.house-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.house-card:hover figure img { transform: scale(1.035); }
.house-card-body { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 20px 36px; padding: 28px 32px 34px; }
.lot-label { display: inline-grid; place-items: center; min-width: 84px; min-height: 38px; padding: 6px 15px; color: var(--white); background: var(--navy); border-radius: 999px; font-size: 12px; font-weight: 700; }
.price { margin: 0; font-family: var(--serif); text-align: right; }
.price strong { color: var(--aqua-dark); font-family: Georgia, serif; font-size: clamp(42px, 4vw, 68px); font-weight: 400; line-height: .95; }
.price small { display: block; color: var(--muted); font-family: var(--sans); font-size: 10px; }
.spec-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--border); }
.spec-list div { padding: 18px 10px 0; text-align: center; }
.spec-list div + div { border-left: 1px solid var(--border); }
.spec-list dt { color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.spec-list dd { margin: 4px 0 0; font-family: var(--serif); font-size: 18px; }
.wide-cta { max-width: 1000px; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin: 46px auto 0; padding: 34px 40px; background: var(--sky); border-radius: 18px 90px 18px 90px; }
.wide-cta.centered { justify-content: center; background: transparent; padding: 0; }
.wide-cta p { margin: 0; font-family: var(--serif); font-size: clamp(20px, 2vw, 28px); }

.house-comparison { background: var(--mist); }
.house-comparison .section-heading { margin-top: 70px; }
.house-compare-grid { max-width: 1240px; display: grid; grid-template-columns: 1fr 240px 1fr; gap: 28px; align-items: stretch; margin: 64px auto 0; }
.compare-house { position: relative; padding: 28px; background: var(--white); border: 1px solid var(--border); border-radius: 26px; }
.compare-house .lot-label { position: absolute; top: 18px; left: 18px; z-index: 2; }
.plan-frame { height: 460px; display: grid; place-items: center; margin: 0; padding: 26px; overflow: hidden; background: var(--white); }
.plan-frame img { width: 100%; height: 100%; object-fit: contain; }
.compare-house ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 20px 0 0; margin: 0; border-top: 1px solid var(--border); list-style: none; }
.compare-house li { padding: 7px 12px; color: var(--navy); background: var(--sky); border-radius: 999px; font-size: 11px; }
.compare-questions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 34px 20px; color: var(--white); background: var(--navy); border-radius: 120px; text-align: center; }
.compare-questions span { color: var(--aqua); font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.compare-questions p { width: 100%; margin: 0; padding: 18px 4px; border-bottom: 1px solid rgba(255,255,255,.18); font-family: var(--serif); font-size: 15px; }
.compare-questions p:last-child { border: 0; }

.kozu { background: var(--white); }
.kozu-layout { max-width: 1260px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 38px; align-items: start; margin: 60px auto 0; }
.kozu-main { grid-row: span 2; height: 680px; margin: 0; overflow: hidden; border-radius: 260px 260px 26px 26px; background: var(--sky); }
.kozu-main img { width: 100%; height: 100%; object-fit: cover; }
.kozu-specs { padding-top: 10px; }
.kozu-specs .price { text-align: left; }
.kozu-specs .price strong { font-size: clamp(58px, 6vw, 92px); }
.pill-specs { display: grid; gap: 12px; margin: 36px 0 0; }
.pill-specs div { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 18px; padding: 14px 20px; border: 1px solid var(--line); border-radius: 999px; }
.pill-specs dt { display: flex; align-items: center; gap: 9px; color: var(--aqua-dark); font-size: 10px; font-weight: 700; }
.pill-specs dt svg { width: 20px; height: 20px; }
.pill-specs dd { margin: 0; font-family: var(--serif); font-size: 16px; }
.feature-chips { display: grid; grid-template-columns: 1fr 1fr; padding: 0; margin: 26px 0 0; border-top: 1px solid var(--border); list-style: none; }
.feature-chips li { padding: 16px; border-bottom: 1px solid var(--border); font-size: 12px; }
.feature-chips li:nth-child(odd) { border-right: 1px solid var(--border); }
.kozu-plan { min-height: 270px; display: grid; place-items: center; margin: 0; padding: 20px; overflow: hidden; background: var(--mist); border: 1px dashed var(--line); }
.kozu-plan img { max-height: 280px; object-fit: contain; }

.kozu-features { background: linear-gradient(160deg, var(--white), var(--sky)); }
.feature-layout, .pace-layout { max-width: 1320px; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(46px, 7vw, 110px); align-items: center; margin: 70px auto 0; }
.arch-photo { position: relative; height: 680px; margin: 0; overflow: hidden; background: var(--sky); border-radius: 280px 280px 30px 30px; box-shadow: var(--shadow); }
.arch-photo img { width: 100%; height: 100%; object-fit: cover; }
.arch-photo figcaption { position: absolute; right: 16px; bottom: 12px; padding: 5px 10px; color: var(--muted); background: rgba(255,255,255,.85); font-size: 9px; }
.feature-content .section-heading, .pace-content .section-heading { max-width: 760px; }
.icon-feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; margin: 40px 0 42px; border-top: 1px solid var(--border); list-style: none; }
.icon-feature-list li { min-height: 94px; display: flex; align-items: center; gap: 18px; padding: 20px; border-bottom: 1px solid var(--border); }
.icon-feature-list li:nth-child(odd) { border-right: 1px solid var(--border); }
.icon-feature-list svg { width: 36px; height: 36px; color: var(--aqua); stroke-width: 1.35; }
.icon-feature-list span { font-family: var(--serif); font-size: 17px; }

.experience { background: var(--white); }
.experience .section-heading { margin-top: 64px; }
.experience-list { max-width: 1020px; display: grid; grid-template-columns: repeat(6, 1fr); padding: 0; margin: 70px 0 0 auto; list-style: none; background: var(--sky); border-radius: 180px 0 0 180px; }
.experience-list li { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; border-right: 1px solid rgba(8,57,103,.12); }
.experience-list li:last-child { border: 0; }
.experience-list svg { width: 50px; height: 50px; color: var(--aqua); stroke-width: 1.25; }
.experience-list span { font-family: var(--serif); font-size: 14px; text-align: center; }
.experience-photos { max-width: 1200px; display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 12px; margin: 58px auto 0; }
.experience-photos figure { position: relative; height: 290px; margin: 0; overflow: hidden; }
.experience-photos figure:first-child { border-radius: 130px 16px 16px 16px; }
.experience-photos figure:last-child { border-radius: 16px 130px 16px 16px; }
.experience-photos img { width: 100%; height: 100%; object-fit: cover; }
.experience-photos figcaption { position: absolute; left: 14px; bottom: 14px; padding: 6px 11px; color: var(--navy); background: rgba(255,255,255,.88); font-size: 10px; }

.trust { background: var(--mist); }
.trust-intro { max-width: 1240px; display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 58px; margin: 70px auto 0; }
.trust .section-heading h2 { font-size: clamp(42px, 3.7vw, 56px); letter-spacing: .05em; }
.trust-intro figure { position: relative; height: 430px; margin: 0; overflow: hidden; border-radius: 26px 130px 26px 26px; box-shadow: var(--shadow); }
.trust-intro img { width: 100%; height: 100%; object-fit: cover; }
.trust-intro figcaption { position: absolute; right: 14px; bottom: 10px; color: var(--muted); font-size: 9px; }
.trust-stats { max-width: 1040px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; margin: 54px auto 0; }
.trust-stats div { aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-inline: -10px; border: 1px solid var(--line); border-radius: 50%; text-align: center; }
.trust-stats div:nth-child(2) { background: rgba(234,248,253,.62); }
.trust-stats strong { color: var(--aqua-dark); font-family: Georgia, serif; font-size: clamp(46px, 5vw, 78px); font-weight: 400; line-height: 1; }
.trust-stats strong sup { font-size: .45em; }
.trust-stats span { margin-top: 12px; font-family: var(--serif); font-size: 15px; }
.trust-support { max-width: 900px; display: grid; gap: 0; padding: 0; margin: 42px auto 0; list-style: none; border-top: 1px solid var(--border); }
.trust-support li { display: flex; align-items: center; gap: 20px; padding: 18px 6px; border-bottom: 1px solid var(--border); }
.trust-support svg { width: 30px; height: 30px; flex: 0 0 auto; color: var(--aqua); }
.trust-support span { font-family: var(--serif); font-size: 16px; }

.pace { background: var(--white); }
.pace-layout { grid-template-columns: .9fr 1.1fr; }
.pace .arch-photo { height: 720px; }
.pace-emphasis { display: block; margin-top: 26px; color: var(--aqua-dark); font-family: var(--serif); font-size: clamp(18px, 1.8vw, 26px); font-weight: 500; }
.pace-choices { display: grid; gap: 12px; padding: 0; margin: 34px 0 32px; list-style: none; }
.pace-choices button { width: 100%; min-height: 72px; display: grid; grid-template-columns: 42px 1fr 26px; align-items: center; gap: 15px; padding: 10px 18px; color: var(--navy); background: var(--white); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-family: var(--serif); font-size: 16px; text-align: left; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.pace-choices button:hover { transform: translateX(6px); background: var(--sky); box-shadow: 0 10px 26px rgba(8,57,103,.07); }
.pace-choices button span { width: 38px; aspect-ratio: 1; display: grid; place-items: center; color: var(--white); background: var(--aqua); border-radius: 50%; font-family: Georgia, serif; }
.pace-choices svg { width: 23px; height: 23px; color: var(--aqua); }

.access { background: linear-gradient(180deg, var(--white), var(--mist)); }
.access .section-heading { margin: 70px auto 0; max-width: 940px; text-align: center; }
.access-grid { max-width: 1280px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 58px auto 0; }
.access-card { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 16px 46px rgba(8,57,103,.07); }
.access-card-head { display: flex; align-items: center; gap: 16px; padding: 26px 28px 10px; }
.access-card-head span { width: 46px; aspect-ratio: 1; display: grid; place-items: center; color: var(--white); background: var(--aqua); border-radius: 50% 50% 50% 0; font-family: Georgia, serif; font-size: 21px; }
.access-card h3 { margin: 0; font-family: var(--serif); font-size: 31px; font-weight: 500; letter-spacing: .1em; }
.access-card address { padding: 0 28px; color: var(--muted); font-style: normal; font-size: 12px; }
.access-card > p { display: flex; align-items: center; gap: 10px; padding: 8px 28px 22px; margin: 0; font-size: 12px; }
.access-card > p svg { width: 22px; height: 22px; color: var(--aqua); }
.access-card > p strong { color: var(--aqua-dark); font-family: var(--serif); font-size: 16px; }
.access-card figure { height: 480px; margin: 0; overflow: auto; background: var(--mist); border-top: 1px solid var(--border); }
.access-card figure img { width: 100%; min-height: 100%; object-fit: contain; }
.map-note { margin: 26px auto 0; color: var(--muted); font-size: 10px; text-align: center; }

.faq { min-height: 820px; background: var(--white); }
.faq::before { content: ""; position: absolute; z-index: 0; width: 940px; height: 940px; top: 2%; right: -120px; border-radius: 50%; background: var(--sky); opacity: .65; }
.faq .section-heading { margin-top: 70px; }
.faq-grid { max-width: 960px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; margin: -170px 0 0 auto; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 132px; display: grid; grid-template-columns: 46px 1fr 26px; align-items: center; gap: 18px; cursor: pointer; list-style: none; font-family: var(--serif); font-size: 16px; line-height: 1.7; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary > span { width: 44px; aspect-ratio: 1; display: grid; place-items: center; color: var(--aqua); border: 1px solid var(--aqua); border-radius: 50%; font-family: Georgia, serif; font-size: 23px; font-style: italic; }
.faq summary i { position: relative; width: 22px; height: 22px; }
.faq summary i::before, .faq summary i::after { content: ""; position: absolute; top: 10px; left: 2px; width: 18px; height: 1px; background: var(--aqua); transition: transform .2s ease; }
.faq summary i::after { transform: rotate(90deg); }
.faq details[open] summary i::after { transform: rotate(0); }
.faq details p { margin: -14px 0 24px 64px; color: var(--muted); font-size: 12px; }
.faq-note { width: fit-content; margin: 34px 20% 0 auto; color: var(--muted); font-size: 12px; }

.reserve {
  min-height: 900px;
  color: var(--white);
  background: var(--navy-deep);
}
.reserve::before { content: ""; position: absolute; z-index: 0; width: 840px; height: 840px; top: -520px; right: -140px; border-radius: 50%; background: var(--sky); opacity: .11; }
.reserve::after { border-color: rgba(0,184,212,.4); }
.reserve .section-number span { color: rgba(255,255,255,.13); }
.reserve-layout { max-width: 1320px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: center; margin: 50px auto 0; }
.reserve-brand { margin: 0 0 24px; font-family: var(--serif); font-size: 16px; letter-spacing: .18em; }
.reserve .section-heading h2, .reserve .section-heading h2 em { color: var(--white); background: none; }
.reserve .section-heading p { color: var(--aqua); }
.venue-options { display: grid; gap: 0; padding: 0; margin: 34px 0 0; border: 0; }
.venue-options label { min-height: 66px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.26); cursor: pointer; font-family: var(--serif); font-size: 14px; }
.venue-options input { position: absolute; opacity: 0; pointer-events: none; }
.venue-options label > span { width: 32px; aspect-ratio: 1; border: 2px solid var(--white); border-radius: 50%; transition: border .2s ease, box-shadow .2s ease, background .2s ease; }
.venue-options input:checked + span { border: 8px solid var(--white); background: var(--aqua); box-shadow: 0 0 0 4px rgba(0,184,212,.28); }
.venue-options input:focus-visible + span { outline: 3px solid var(--aqua); outline-offset: 4px; }
.reserve-form { padding: clamp(34px, 4vw, 64px); color: var(--navy); background: var(--white); border-radius: 44px 160px 44px 44px; box-shadow: 0 30px 90px rgba(0,0,0,.2); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 36px; }
.form-grid label { display: block; }
.form-grid label > span { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-weight: 700; }
.form-grid label > span svg { width: 22px; height: 22px; color: var(--aqua); }
.form-grid input { width: 100%; min-height: 52px; padding: 10px 2px; color: var(--navy); background: transparent; border: 0; border-bottom: 1px solid rgba(8,57,103,.32); border-radius: 0; }
.form-grid input:focus { border-bottom-color: var(--aqua); outline: 0; }
.form-wide { grid-column: 1 / -1; }
.form-submit { width: 100%; margin-top: 38px; border: 0; }
.form-note { margin: 16px 0 0; color: var(--muted); font-size: 10px; text-align: center; }
.form-status { min-height: 1.8em; margin: 8px 0 0; color: var(--aqua-dark); font-size: 12px; text-align: center; }

.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 12px 28px; padding: 42px var(--section-x); color: rgba(255,255,255,.72); background: #031d37; font-size: 10px; }
.footer-brand { grid-row: span 2; display: flex; flex-direction: column; }
.footer-brand strong { color: var(--white); font-family: var(--serif); font-size: 20px; letter-spacing: .15em; }
.footer-brand span { margin-top: 5px; color: var(--aqua); font-size: 8px; letter-spacing: .2em; }
.site-footer p { margin: 0; text-align: right; }
.footer-links { grid-column: 2; display: flex; justify-content: flex-end; gap: 18px; }
.footer-links a { color: var(--aqua); border-bottom: 1px solid rgba(0,184,212,.4); }

.js .reveal { opacity: 0; translate: 0 24px; transition: opacity .8s cubic-bezier(.2,.7,.2,1), translate .8s cubic-bezier(.2,.7,.2,1); }
.js .reveal.is-visible { opacity: 1; translate: 0 0; }

@media (max-width: 1350px) {
  .hero { grid-template-columns: minmax(500px, 1.15fr) minmax(430px, .85fr); gap: 24px; }
  .hero h1 { font-size: clamp(44px, 4vw, 52px); letter-spacing: .03em; }
}

@media (max-width: 1180px) {
  :root { --rail-w: 76px; --section-x: clamp(26px, 4.5vw, 64px); }
  .section-rail a small { display: none; }
  .hero { grid-template-columns: 1.08fr .92fr; gap: 24px; }
  .hero h1 { font-size: clamp(34px, 3.6vw, 46px); letter-spacing: .02em; }
  .hero-media { min-height: 590px; }
  .overview-circle { min-height: 300px; padding: 40px; }
  .overview-total::before { width: 160px; }
  .overview-total strong { font-size: 76px; }
  .house-compare-grid { grid-template-columns: 1fr 190px 1fr; }
  .plan-frame { height: 390px; }
  .faq-grid { max-width: 820px; margin-top: -130px; }
}

@media (max-width: 900px) {
  :root { --rail-w: 0px; --header-h: 70px; --section-x: clamp(22px, 5vw, 42px); --section-y: 90px; }
  html { scroll-padding-top: calc(var(--header-h) + 10px); }
  .section-rail { display: none; }
  main, .site-footer { margin-left: 0; }
  .section-mobile-index { display: block; margin-bottom: 22px; color: var(--aqua-dark); font-family: Georgia, serif; font-size: 13px; font-style: italic; letter-spacing: .12em; }
  .section-number { display: none; }
  .lp-section { min-height: auto; scroll-margin-top: calc(var(--header-h) + 10px); }
  .hero { min-height: calc(100svh - var(--header-h)); grid-template-columns: 1fr; padding-top: calc(var(--header-h) + 28px); }
  .hero-copy { max-width: 720px; padding-left: 0; }
  .hero-media { min-height: 640px; }
  .hero-photo-main { inset: 5% 8% 10% 4%; }
  .hero-photo-main img { object-position: 70% 52%; }
  .hero-photo-inset img { object-position: 64% 55%; }
  .hero-actions { flex-wrap: wrap; }
  .hero-actions .button-text {
    width: min(100%, 280px);
    min-height: 60px;
    padding: 13px 24px;
    color: var(--navy-deep);
    background: rgba(255,255,255,.94);
    border: 1px solid var(--navy-deep);
    border-radius: 999px;
    font-family: var(--serif);
    text-decoration: none;
  }
  .hero-fact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    color: #fff;
    background: #05b5d1;
    border: 0;
  }
  .hero-fact span {
    align-self: auto;
    padding: 0;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(11px, 1.8vw, 15px);
    line-height: 1.3;
  }
  .hero-fact strong {
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(38px, 5.5vw, 50px);
    line-height: 1.05;
  }
  .hero-foliage-shadow { display: none; }
  .hero-scroll { display: none; }
  .overview .section-heading, .compare .section-heading, .house-comparison .section-heading, .access .section-heading { margin-top: 0; }
  .overview-visual { grid-template-columns: 1fr 120px 1fr; }
  .overview-circle { min-height: 270px; padding: 32px; }
  .overview-total::before { width: 132px; }
  .overview-total strong { font-size: 66px; }
  .overview-strip img { height: 170px; }
  .house-grid { gap: 22px; }
  .house-card-body { grid-template-columns: 1fr; }
  .house-card .price { text-align: left; }
  .spec-list { grid-column: 1; }
  .house-compare-grid { grid-template-columns: 1fr 160px 1fr; gap: 14px; }
  .compare-house { padding: 16px; }
  .plan-frame { height: 330px; padding: 12px; }
  .compare-questions { padding-inline: 10px; }
  .compare-questions p { font-size: 12px; }
  .kozu-layout { grid-template-columns: 1fr; }
  .kozu-main { grid-row: auto; height: 620px; }
  .kozu-plan { min-height: 420px; }
  .feature-layout, .pace-layout { grid-template-columns: 1fr; }
  .arch-photo, .pace .arch-photo { height: 620px; }
  .experience .section-heading { margin-top: 0; }
  .experience-list { grid-template-columns: repeat(3, 1fr); border-radius: 90px 0 0 90px; }
  .experience-list li { min-height: 140px; border-bottom: 1px solid rgba(8,57,103,.12); }
  .trust-intro { grid-template-columns: 1fr; }
  .trust-stats { max-width: 720px; }
  .access-card figure { height: 400px; }
  .faq::before { width: 780px; height: 780px; }
  .faq-grid { max-width: 100%; margin: 46px auto 0; }
  .faq-note { margin-right: auto; }
  .reserve-layout { grid-template-columns: 1fr; }
  .reserve-form { border-radius: 36px 100px 36px 36px; }
}

@media (max-width: 640px) {
  :root { --section-x: 20px; --section-y: 74px; }
  body { letter-spacing: .025em; }
  .site-header { padding: 0 18px; }
  .brand-ja { font-size: 17px; }
  .brand-en { font-size: 7px; }
  .header-action { width: auto; min-width: 78px; min-height: 44px; gap: 5px; padding: 0 12px; justify-content: center; }
  .header-action span { font-size: 0; }
  .header-action span::after { content: "見学"; font-size: 11px; letter-spacing: .08em; }
  .header-action svg { width: 19px; height: 19px; }
  .lp-section::after { width: 260px; height: 260px; }
  .section-heading h2 { font-size: clamp(32px, 9.8vw, 45px); line-height: 1.5; letter-spacing: .05em; }
  .section-heading p { font-size: 14px; line-height: 2; }
  .button { width: 100%; min-height: 56px; padding-inline: 20px; }
  .hero { display: block; padding-top: calc(var(--header-h) + 24px); }
  .hero::before { top: 0; left: -4%; font-size: 150px; }
  .hero h1 { font-size: clamp(28px, 7.8vw, 31px); line-height: 1.62; letter-spacing: .02em; }
  .hero-lead { margin-bottom: 25px; font-size: 12px; }
  .hero-description br { display: none; }
  .hero-actions { display: grid; gap: 12px; margin-top: 30px; }
  .hero-actions .button-text { width: 100%; justify-self: stretch; }
  .hero-media { min-height: 480px; margin-top: 42px; }
  .hero-photo-main { inset: 0 6% 10% 0; border-radius: 42% 42% 18px 18px / 25% 25% 18px 18px; }
  .hero-photo-inset { width: 42%; border-width: 6px; }
  .hero-photo figcaption { left: 10px; bottom: 10px; font-size: 9px; }
  .hero-fact { top: -12px; right: -2px; width: 122px; }
  .hero-fact strong { font-size: 38px; }
  .hero-fact span { font-size: 11px; }
  .overview .section-heading { text-align: left; }
  .overview-visual { grid-template-columns: 1fr; gap: 18px; }
  .overview-circle { width: min(100%, 340px); min-height: auto; aspect-ratio: 1; margin-inline: auto; }
  .overview-total { order: -1; min-height: 155px; }
  .overview-total::before { width: 145px; }
  .overview-strip { grid-template-columns: 1fr 1fr; }
  .overview-strip img { height: 150px; border-radius: 45px 12px 45px 12px; }
  .overview-strip img:first-child { grid-column: 1 / -1; height: 210px; }
  .compare .section-heading { text-align: left; }
  .compare .section-heading h2 em { display: block; }
  .venue-portraits { grid-template-columns: 1fr 54px 1fr; gap: 7px; }
  .venue-portraits figure { aspect-ratio: .82; border-radius: 22px; }
  .venue-portraits figcaption { left: 8px; right: 8px; bottom: 8px; padding: 7px 8px; }
  .venue-portraits figcaption strong { font-size: 16px; }
  .versus { font-size: 25px; }
  .comparison-wrap { margin-top: 24px; }
  .comparison-table thead { display: none; }
  .comparison-table, .comparison-table tbody { display: block; }
  .comparison-table tr { display: grid; grid-template-columns: 82px 1fr 1fr; }
  .comparison-table th, .comparison-table td { display: block; padding: 14px 7px; font-size: 11px; line-height: 1.55; }
  .comparison-table tbody th { display: grid; place-items: center; }
  .comparison-table td:nth-child(2)::before { content: "長尾"; display: block; margin-bottom: 4px; color: var(--aqua-dark); font-family: var(--sans); font-size: 8px; font-weight: 700; }
  .comparison-table td:nth-child(3)::before { content: "郡津"; display: block; margin-bottom: 4px; color: var(--aqua-dark); font-family: var(--sans); font-size: 8px; font-weight: 700; }
  .comparison-table td small { font-size: 8px; }
  .split-actions { grid-template-columns: 1fr; gap: 12px; }
  .property-section .section-heading { margin-top: 0; text-align: left; }
  .property-section .section-heading h2 { font-size: clamp(30px, 8.8vw, 34px); line-height: 1.55; letter-spacing: .04em; }
  .mobile-title-break { display: block; }
  .desktop-title-separator { display: none; }
  .station-line { margin-left: 0; }
  .house-grid { grid-template-columns: 1fr; }
  .house-card-body { grid-template-columns: auto 1fr; gap: 18px; padding: 22px; }
  .house-card .price { text-align: right; }
  .spec-list { grid-column: 1 / -1; }
  .wide-cta { display: block; padding: 26px 20px; border-radius: 16px 55px 16px 55px; text-align: center; }
  .wide-cta .button { margin-top: 20px; }
  .wide-cta.centered .button { margin: 0; }
  .house-comparison .section-heading { text-align: left; }
  .house-compare-grid { grid-template-columns: 1fr; }
  .compare-questions { grid-row: 1; border-radius: 28px; }
  .compare-questions p { padding: 12px 4px; font-size: 14px; }
  .plan-frame { height: 430px; }
  .kozu-main { height: 500px; border-radius: 170px 170px 22px 22px; }
  .kozu-specs .price strong { font-size: 58px; }
  .pill-specs div { grid-template-columns: 102px 1fr; padding: 12px 14px; }
  .pill-specs dd { font-size: 13px; }
  .kozu-plan { min-height: 330px; }
  .feature-layout, .pace-layout { margin-top: 0; }
  .arch-photo, .pace .arch-photo { height: 480px; border-radius: 170px 170px 20px 20px; }
  .feature-content .section-heading, .pace-content .section-heading { margin-top: 40px; }
  .icon-feature-list li { min-height: 84px; padding: 14px 10px; gap: 10px; }
  .icon-feature-list svg { width: 29px; height: 29px; }
  .icon-feature-list span { font-size: 13px; }
  .experience-list { grid-template-columns: repeat(2, 1fr); margin-top: 38px; border-radius: 50px 0 0 50px; }
  .experience-list li { min-height: 118px; }
  .experience-list svg { width: 39px; height: 39px; }
  .experience-photos { grid-template-columns: 1fr 1fr; }
  .experience-photos figure { height: 190px; }
  .experience-photos figure:nth-child(2) { border-radius: 12px 70px 12px 12px; }
  .experience-photos figure:last-child { grid-column: 1 / -1; height: 240px; border-radius: 12px; }
  .trust-intro { margin-top: 0; gap: 34px; }
  .trust-intro figure { height: 300px; border-radius: 20px 70px 20px 20px; }
  .trust-stats { grid-template-columns: 1fr 1fr; }
  .trust-stats div { margin: -4px; }
  .trust-stats div:first-child { grid-column: 1 / -1; width: 58%; margin: 0 auto -20px; }
  .trust-stats strong { font-size: 44px; }
  .trust-stats span { font-size: 12px; }
  .trust-support span { font-size: 13px; }
  .pace-choices button { min-height: 64px; font-size: 14px; }
  .access .section-heading { text-align: left; }
  .access-grid { grid-template-columns: 1fr; }
  .access-card figure { height: auto; max-height: 430px; }
  .access-card figure img { min-height: 0; }
  .faq::before { width: 520px; height: 520px; top: 13%; right: -250px; }
  .faq .section-heading { margin-top: 0; }
  .faq-grid { grid-template-columns: 1fr; margin-top: 38px; }
  .faq summary { min-height: 98px; grid-template-columns: 40px 1fr 22px; gap: 12px; font-size: 14px; }
  .faq summary > span { width: 38px; }
  .faq details p { margin-left: 52px; }
  .reserve-layout { margin-top: 0; }
  .reserve-form { padding: 28px 20px; border-radius: 28px 70px 28px 28px; }
  .form-grid { grid-template-columns: 1fr; gap: 22px; }
  .form-wide { grid-column: 1; }
  .venue-options label { font-size: 13px; }
  .site-footer { grid-template-columns: 1fr; padding: 34px 20px; }
  .footer-brand { grid-row: auto; }
  .site-footer p { text-align: left; }
  .footer-links { grid-column: 1; justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 360px) {
  .hero h1 { font-size: 27.5px; letter-spacing: .01em; }
}

/* Section 01 fidelity pass: 1662 × 946 reference */
@media (min-width: 1351px) {
  :root {
    --rail-w: clamp(92px, 7.34vw, 122px);
    --header-h: 0px;
  }

  body::before { display: none; }

  .site-header {
    position: absolute;
    inset: 0 0 auto var(--rail-w);
    z-index: 30;
    width: auto;
    height: auto;
    justify-content: flex-start;
    padding: clamp(56px, 7.1vh, 67px) 0 0 clamp(52px, 3.4vw, 58px);
    background: transparent;
    border: 0;
    backdrop-filter: none;
    pointer-events: none;
  }
  .site-header .brand { pointer-events: auto; }
  .site-header .brand-ja {
    font-size: clamp(34px, 2.53vw, 42px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .2em;
  }
  .site-header .brand-en,
  .site-header .header-action { display: none; }

  .section-rail {
    top: 0;
    width: var(--rail-w);
    overflow-y: auto;
    background: rgba(255,255,255,.985);
    border-right-color: rgba(0,174,208,.62);
  }
  .section-rail::before {
    content: "";
    position: absolute;
    right: -48px;
    bottom: -34px;
    z-index: 0;
    width: 210px;
    height: 210px;
    opacity: .09;
    filter: blur(7px);
    background:
      radial-gradient(ellipse 13px 30px at 15% 82%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 16px 35px at 34% 68%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 14px 31px at 51% 75%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 17px 38px at 70% 52%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 13px 30px at 86% 35%, #274f68 96%, transparent 100%),
      linear-gradient(28deg, transparent 47%, #274f68 48% 50%, transparent 51%);
    transform: rotate(-13deg);
    pointer-events: none;
  }
  .section-rail ol { position: relative; z-index: 1; }
  .section-rail ol {
    min-height: max-content;
    display: block;
    padding: clamp(112px, 16.7vh, 158px) 0 96px;
  }
  .section-rail li { margin: 0; }
  .section-rail li { display: none; }
  .section-rail[data-rail-group="0"] li:nth-child(-n+4),
  .section-rail[data-rail-group="1"] li:nth-child(n+5):nth-child(-n+8),
  .section-rail[data-rail-group="2"] li:nth-child(n+9):nth-child(-n+12),
  .section-rail[data-rail-group="3"] li:nth-child(n+13):nth-child(-n+14) { display: block; }
  .section-rail a {
    min-height: 0;
    height: clamp(132px, 16.5vh, 156px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 15px;
    padding-top: 15px;
    color: #b7bcc2;
    background: transparent;
    border-radius: 0;
  }
  .section-rail[data-rail-group="0"] li:first-child a {
    height: 173px;
    gap: 22px;
    padding-top: 19px;
  }
  .section-rail[data-rail-group="0"] li:nth-child(2) a { padding-top: 17px; }
  .section-rail[data-rail-group="0"] li:nth-child(3) a {
    gap: 13px;
    padding-top: 17px;
  }
  .section-rail a::before { display: none; }
  .section-rail a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 16px;
    width: 18px;
    height: 1px;
    background: #c8cdd1;
    transform: translateX(-50%);
  }
  .section-rail[data-rail-group="0"] li:first-child a::after { bottom: 22px; }
  .section-rail[data-rail-group="0"] li:nth-child(3) a::after { bottom: 17px; }
  .section-rail[data-rail-group="0"] li:nth-child(4) a::after { display: none; }
  .section-rail a span,
  .section-rail a.is-active span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 2.55vw, 42px);
    font-weight: 400;
    line-height: 1;
  }
  .section-rail a small {
    max-width: none;
    margin-top: 0;
    overflow: visible;
    font-size: clamp(9px, .74vw, 12px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    text-overflow: clip;
  }
  .section-rail a:hover,
  .section-rail a.is-active {
    color: var(--navy-deep);
    background: transparent;
  }
  .section-rail a.is-active::after { background: var(--aqua); }

  main, .site-footer { margin-left: var(--rail-w); }

  .hero {
    min-height: max(100svh, 900px);
    display: block;
    padding: 0;
    background: #fff;
  }
  .hero::before,
  .hero::after { display: none; }

  .hero-copy {
    position: absolute;
    z-index: 7;
    top: clamp(198px, 22.3vh, 211px);
    left: clamp(52px, 3.4vw, 58px);
    width: min(46vw, 720px);
    padding: 0;
  }
  .hero-lead {
    margin: 0 0 22px;
    color: #00a9cc;
    font-family: var(--serif);
    font-size: clamp(19px, 1.45vw, 24px);
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: .18em;
  }
  .hero h1 {
    margin: 0;
    font-size: clamp(54px, 3.97vw, 66px);
    font-weight: 500;
    line-height: 1.47;
    letter-spacing: .075em;
  }
  .hero h1 em { background: none; }
  .hero-description {
    margin: 30px 0 0;
    color: #123d68;
    font-family: var(--serif);
    font-size: clamp(15px, 1.12vw, 18.5px);
    line-height: 2.5;
    letter-spacing: .09em;
    max-width: 650px;
  }
  .hero-actions {
    width: min(100%, 464px);
    display: grid;
    gap: 30px;
    margin-top: 47px;
    transform: translateX(-3px);
  }
  .hero-actions .button {
    width: 100%;
    box-shadow: none;
  }
  .hero-actions .button-primary {
    min-height: 100px;
    justify-content: space-between;
    padding: 16px 34px 16px 88px;
    background: #05aecb;
    border-radius: 52px;
    font-size: clamp(23px, 1.75vw, 29px);
    font-weight: 500;
  }
  .hero-actions .button-primary svg { width: 30px; height: 30px; }
  .hero-actions .button-text {
    width: 461px;
    min-height: 68px;
    margin-left: 2px;
    justify-content: space-between;
    padding: 13px 31px 13px 124px;
    color: var(--navy-deep);
    background: rgba(255,255,255,.92);
    border: 1px solid var(--navy-deep);
    border-radius: 36px;
    font-family: var(--serif);
    font-size: clamp(16px, 1.1vw, 19px);
    font-weight: 500;
  }
  .hero-actions .button-text svg { width: 22px; height: 22px; }

  .hero-media {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: 1;
    width: 62%;
    min-height: 0;
  }
  .hero-media::before,
  .hero-media::after {
    display: none;
  }
  .hero-photo {
    overflow: hidden;
    background: transparent;
    box-shadow: none;
  }
  .hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .hero-photo-main {
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: 0;
    -webkit-mask-image:
      radial-gradient(ellipse 85% 105% at 99.5% 21%, #000 99%, transparent 100%),
      radial-gradient(ellipse 26% 29% at 34% 69%, #000 99%, transparent 100%);
    mask-image:
      radial-gradient(ellipse 85% 105% at 99.5% 21%, #000 99%, transparent 100%),
      radial-gradient(ellipse 26% 29% at 34% 69%, #000 99%, transparent 100%);
  }
  .hero-photo-main img {
    object-position: 70% 50%;
    transform: scale(1.085);
    transform-origin: 100% 100%;
  }
  .hero-photo-main figcaption { display: none; }
  .hero-photo-inset {
    right: clamp(-304px, -18.25vw, -245px);
    bottom: clamp(-424px, -44.4vh, -338px);
    left: auto;
    top: auto;
    z-index: 6;
    width: clamp(790px, 53.9vw, 896px);
    height: clamp(790px, 53.9vw, 896px);
    border: 9px solid #fff;
    border-radius: 50%;
    box-shadow: none;
  }
  .hero-photo-inset img {
    object-fit: contain;
    object-position: 50% 0;
    background: #efe7db;
    transform: translateY(-20px);
  }
  .hero-photo-inset figcaption { display: none; }
  .hero-fact {
    top: 45.5%;
    left: 21px;
    z-index: 8;
    width: clamp(218px, 14.45vw, 240px);
    height: clamp(235px, 15.52vw, 258px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 24px 16px 17px;
    color: #fff;
    background: #05b5d1;
    border: 0;
    border-radius: 50%;
    box-shadow: none;
  }
  .hero-fact span {
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(27px, 2.2vw, 37px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .05em;
  }
  .hero-fact strong {
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(57px, 4.5vw, 74px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .02em;
  }
  .hero-fact > * { transform: translateY(5px); }
  .hero-curve {
    top: auto;
    right: auto;
    bottom: 35px;
    left: -8px;
    z-index: 5;
    width: 520px;
    height: 340px;
    color: #00afd1;
    opacity: 1;
  }
  .hero-curve path { stroke-width: 1; }
  .hero-scroll { display: none; }

  .hero-foliage-shadow {
    position: absolute;
    z-index: 5;
    bottom: -58px;
    left: -28px;
    width: 440px;
    height: 260px;
    opacity: .13;
    filter: blur(8px);
    transform: rotate(-10deg);
    background:
      radial-gradient(ellipse 17px 35px at 7% 83%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 18px 38px at 17% 70%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 15px 32px at 28% 79%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 20px 42px at 38% 58%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 17px 36px at 50% 68%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 21px 44px at 61% 43%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 16px 35px at 73% 54%, #274f68 96%, transparent 100%),
      radial-gradient(ellipse 18px 39px at 84% 30%, #274f68 96%, transparent 100%),
      linear-gradient(20deg, transparent 47%, #274f68 48% 50%, transparent 51%);
    pointer-events: none;
  }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .hero-actions {
    flex-wrap: wrap;
    gap: 18px;
  }
  .hero-actions .button-text {
    min-width: clamp(180px, 18vw, 230px);
    min-height: 58px;
    justify-content: space-between;
    padding: 13px 22px;
    color: var(--navy-deep);
    background: rgba(255,255,255,.94);
    border: 1px solid var(--navy-deep);
    border-radius: 999px;
    font-family: var(--serif);
    text-decoration: none;
  }
  .hero-fact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 10px;
    color: #fff;
    background: #05b5d1;
    border: 0;
  }
  .hero-fact span {
    align-self: auto;
    padding: 0;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(12px, 1.25vw, 16px);
    line-height: 1.3;
  }
  .hero-fact strong {
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(42px, 4vw, 54px);
    line-height: 1.05;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; translate: none; scale: none; rotate: none; transform: none; }
}

/* --------------------------------------------------------------------------
   Section 01 / FV v2
   Accepted reference: assets/reference/fv-reference-v2.png (1672 × 941)
   -------------------------------------------------------------------------- */

:root {
  --fv-header-h: 104px;
  --fv-navy: #18315c;
  --fv-aqua: #1ab5d2;
  --fv-aqua-strong: #28b8d1;
  --fv-sky: #f2fafc;
  --fv-line: #d8eef5;
  --fv-paper: #fefefe;
}

body { overflow-x: clip; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 140;
  width: 100%;
  height: var(--fv-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 27px 0 45px;
  background: rgba(255,255,255,.985);
  border: 0;
  box-shadow: 0 6px 18px rgba(24,49,92,.07);
  backdrop-filter: blur(12px);
  pointer-events: auto;
}

.site-header .brand {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  color: var(--fv-navy);
  pointer-events: auto;
}

.brand-mark {
  width: 51px;
  height: 55px;
  flex: 0 0 auto;
  color: var(--fv-aqua);
  stroke-width: 2.2;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.site-header .brand-ja {
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .18em;
  white-space: nowrap;
}

.brand-tagline {
  margin-top: 8px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .2em;
  white-space: nowrap;
}

.site-header .brand-en,
.site-header .header-action { display: none; }

.menu-toggle {
  position: relative;
  z-index: 141;
  width: 80px;
  height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0;
  color: #fff;
  background: var(--fv-navy);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(24,49,92,.17);
  transition: transform .22s ease, background .22s ease;
}

.menu-toggle:hover { background: #0d2851; transform: translateY(-1px); }
.menu-toggle:focus-visible { outline: 3px solid rgba(26,181,210,.52); outline-offset: 4px; }

.menu-lines {
  width: 29px;
  display: grid;
  gap: 7px;
}

.menu-lines i {
  width: 29px;
  height: 2px;
  display: block;
  background: currentColor;
  border-radius: 3px;
  transition: transform .22s ease, opacity .22s ease;
}

.menu-label {
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
}

.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

.section-rail {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 130;
  width: min(430px, 88vw);
  height: 100dvh;
  overflow-y: auto;
  padding: 122px 42px 46px;
  color: var(--fv-navy);
  background: rgba(250,254,255,.985);
  border: 0;
  border-left: 1px solid rgba(26,181,210,.2);
  box-shadow: -28px 0 70px rgba(24,49,92,.13);
  scrollbar-width: thin;
  transform: translateX(108%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .32s cubic-bezier(.2,.74,.2,1), visibility .32s;
}

.section-rail::before { display: none; }
.section-rail.is-open { transform: translateX(0); visibility: visible; pointer-events: auto; }

.menu-kicker {
  margin: 0 0 20px;
  color: var(--fv-aqua);
  font-family: Georgia, serif;
  font-size: 12px;
  font-style: italic;
  letter-spacing: .2em;
}

.section-rail ol,
.section-rail[data-rail-group] ol {
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 22px;
  padding: 0;
  margin: 0;
}

.section-rail li,
.section-rail[data-rail-group] li,
.section-rail[data-rail-group="0"] li,
.section-rail[data-rail-group="1"] li,
.section-rail[data-rail-group="2"] li,
.section-rail[data-rail-group="3"] li { display: block; margin: 0; }

.section-rail a,
.section-rail[data-rail-group] a {
  position: relative;
  min-height: 60px;
  height: auto;
  display: grid;
  grid-template-columns: 34px 1fr;
  place-items: initial;
  align-items: center;
  gap: 8px;
  padding: 11px 0;
  color: rgba(24,49,92,.62);
  background: transparent;
  border-radius: 0;
  border-bottom: 1px solid rgba(24,49,92,.1);
}

.section-rail[data-rail-group="0"] li:first-child a,
.section-rail[data-rail-group="0"] li:nth-child(2) a,
.section-rail[data-rail-group="0"] li:nth-child(3) a,
.section-rail[data-rail-group="0"] li:nth-child(4) a {
  height: auto;
  gap: 8px;
  padding: 11px 0;
}

.section-rail a::before,
.section-rail a::after { display: none; }

.section-rail a span,
.section-rail a.is-active span,
.section-rail[data-rail-group] a span {
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.section-rail a small,
.section-rail[data-rail-group] a small {
  max-width: none;
  display: block;
  margin: 0;
  overflow: visible;
  font-size: 8px;
  line-height: 1.2;
  letter-spacing: .06em;
  white-space: normal;
}

.section-rail a:hover,
.section-rail a.is-active { color: var(--fv-navy); background: transparent; }
.section-rail a.is-active span { color: var(--fv-aqua); }

.menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  padding: 0;
  background: rgba(7,30,56,.24);
  border: 0;
  opacity: 0;
  cursor: default;
  transition: opacity .22s ease;
}

.menu-backdrop[hidden] { display: none; }
.menu-backdrop.is-visible { opacity: 1; }
body.menu-open { overflow: hidden; }

main,
.site-footer { margin-left: 0; }

.hero {
  position: relative;
  width: 100%;
  height: calc(100svh - var(--fv-header-h));
  min-height: 837px;
  display: block;
  margin-top: var(--fv-header-h);
  padding: 0;
  overflow: hidden;
  color: var(--fv-navy);
  background:
    radial-gradient(circle at 0 0, rgba(215,245,252,.78), transparent 23%),
    linear-gradient(106deg, #fff 0%, #fff 48%, #fbfeff 100%);
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  top: 34px;
  left: 342px;
  z-index: 0;
  width: 248px;
  height: 248px;
  border: 2px dashed rgba(26,181,210,.18);
  border-radius: 50%;
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 8;
  width: 100%;
  height: 65px;
  background: linear-gradient(0deg, rgba(255,255,255,.99), rgba(255,255,255,0));
  pointer-events: none;
}

.hero > * { position: relative; z-index: 2; }
.js .hero .reveal { opacity: 1; transform: none; }

.hero-copy {
  position: absolute;
  z-index: 9;
  top: 73px;
  left: clamp(56px, 4.78vw, 80px);
  width: 646px;
  max-width: none;
  align-self: initial;
  padding: 0;
}

.hero-script {
  margin: 0 0 8px -8px;
  color: var(--fv-aqua);
  font-family: "Segoe Script", "Snell Roundhand", "Brush Script MT", cursive;
  font-size: 31px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .03em;
  transform: rotate(-7deg);
  transform-origin: left center;
}

.hero h1 {
  margin: 0;
  color: var(--fv-navy);
  font-family: var(--serif);
  font-size: 62px;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .055em;
}

.hero h1 span { display: block; white-space: nowrap; }
.hero h1 span:nth-child(n+2) { position: relative; top: 9px; letter-spacing: .025em; }

.hero-number {
  display: inline-block;
  margin: 0 .02em 0 -.03em;
  color: var(--fv-aqua);
  font-family: Georgia, "Times New Roman", serif;
  position: relative;
  top: -15px;
  font-size: 108px;
  font-weight: 500;
  line-height: .58;
  letter-spacing: -.04em;
  vertical-align: .02em;
}

.hero-description {
  max-width: 630px;
  margin: 26px 0 0 3px;
  color: var(--fv-navy);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: .09em;
}

.hero-actions {
  width: 502px;
  display: block;
  margin: 25px 0 0 2px;
  transform: none;
}

.hero-actions .button,
.hero-actions .button-primary {
  width: 502px;
  min-height: 89px;
  display: flex;
  justify-content: space-between;
  padding: 10px 11px 10px 57px;
  color: #fff;
  background: var(--fv-aqua-strong);
  border: 0;
  border-radius: 45px;
  font-family: var(--sans);
  font-size: 23px;
  font-weight: 500;
  letter-spacing: .08em;
  box-shadow: 0 14px 28px rgba(24,49,92,.12);
}

.hero-actions .button-primary:hover { background: #0ba8c5; transform: translateY(-2px); }

.hero-cta-icon {
  width: 68px;
  height: 68px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  color: var(--fv-aqua);
  background: #fff;
  border-radius: 50%;
}

.hero-cta-icon svg { width: 29px; height: 29px; }

.hero-schedule {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 29px 0 0 9px;
  color: var(--fv-navy);
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: .07em;
}

.hero-schedule svg { width: 27px; height: 27px; color: var(--fv-aqua); stroke-width: 1.9; }
.hero-schedule strong { font-weight: 700; }
.hero-schedule time { font-weight: 600; }

.hero-location {
  width: 580px;
  min-height: 81px;
  display: grid;
  grid-template-columns: 48px 1fr 42px;
  align-items: center;
  gap: 13px;
  margin: 44px 0 0 -29px;
  padding: 10px 18px 10px 37px;
  color: var(--fv-navy);
  background: var(--fv-sky);
  border-radius: 44px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .065em;
  transition: background .2s ease, transform .2s ease;
}

.hero-location:hover { background: #e5f6fa; transform: translateY(-1px); }
.hero-location > svg { width: 39px; height: 39px; color: var(--fv-aqua); fill: var(--fv-aqua); stroke-width: 1.45; }
.hero-location > svg circle { color: #fff; fill: #fff; }
.hero-location > i { width: 42px; height: 42px; display: grid; place-items: center; color: var(--fv-aqua); background: #fff; border-radius: 50%; }
.hero-location > i svg { width: 21px; height: 21px; }

.hero-points {
  position: absolute;
  z-index: 11;
  top: 252px;
  left: 42.7%;
  width: 161px;
  height: 344px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 36px 12px 18px;
  color: var(--fv-navy);
  background: rgba(255,255,255,.92);
  border: 2px solid var(--fv-line);
  border-radius: 82px 82px 31px 31px;
  box-shadow: 0 12px 35px rgba(24,49,92,.035);
  text-align: center;
}

.hero-points p { margin: 0; font-family: var(--serif); font-size: 17px; font-weight: 600; line-height: 1.35; letter-spacing: .04em; }
.hero-points > strong { margin-top: 3px; color: var(--fv-aqua); font-family: Georgia, serif; font-size: 66px; font-weight: 500; line-height: .95; }
.hero-points-unit { margin-top: 0; font-size: 16px; font-weight: 700; line-height: 1.35; letter-spacing: .07em; }
.hero-points ul { width: 100%; display: grid; gap: 8px; padding: 0; margin: 19px 0 0; list-style: none; text-align: left; }
.hero-points li { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 600; line-height: 1.55; white-space: nowrap; }
.hero-points li i { width: 19px; height: 19px; display: grid; flex: 0 0 auto; place-items: center; color: #fff; background: var(--fv-aqua); border-radius: 50%; font-family: Arial, sans-serif; font-size: 12px; font-style: normal; }

.hero-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  min-height: 0;
  pointer-events: none;
}

.hero-photo { margin: 0; background: transparent; box-shadow: none; }

.hero-photo-main {
  position: absolute;
  z-index: 1;
  top: 115px;
  left: 54.15%;
  width: 60%;
  height: 795px;
  overflow: hidden;
  border-radius: 16px;
  transform: rotate(5deg);
  transform-origin: center;
  -webkit-mask-image: none;
  mask-image: none;
}

.hero-photo-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: translate(-19%, -8%) scale(1.04);
  transform-origin: 50% 50%;
}

.hero .hero-photo-main figcaption {
  position: absolute;
  right: 20px;
  bottom: 18px;
  left: auto;
  display: block;
  padding: 5px 10px;
  color: rgba(24,49,92,.72);
  background: rgba(255,255,255,.76);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .08em;
  backdrop-filter: blur(6px);
}

.hero-handnote {
  position: absolute;
  z-index: 5;
  top: 69px;
  right: 39px;
  width: 290px;
  color: var(--fv-aqua);
  font-family: "Yu Kyokasho", "Hiragino Maru Gothic ProN", var(--sans);
  transform: rotate(2deg);
}

.hero-handnote::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -30px;
  height: 73px;
  border-left: 3px dotted rgba(26,181,210,.8);
  transform: rotate(-9deg);
}

.hero-handnote p { margin: 0; font-size: 25px; font-weight: 500; line-height: 1.52; letter-spacing: .08em; text-align: center; }
.hero-handnote p span { padding-left: 22px; }
.hero-handnote svg { width: 100%; height: 72px; margin-top: -7px; color: currentColor; }
.hero-handnote path { stroke-width: 1.5; }

.hero-thumbs {
  position: absolute;
  z-index: 12;
  left: 40.13%;
  bottom: 54px;
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.hero-thumb {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 8px solid #fff;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(24,49,92,.18);
}

.hero-thumb-a { width: 266px; height: 203px; transform: rotate(-2.8deg); }
.hero-thumb-b { z-index: 2; width: 255px; height: 200px; margin-bottom: 16px; transform: rotate(-1.5deg); }
.hero-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hero-thumb-a img { object-position: 54% 53%; }
.hero-thumb-b img { object-position: 50% 53%; }

.hero-thumb figcaption {
  position: absolute;
  left: 12px;
  bottom: 0;
  min-width: 105px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 15px;
  color: #fff;
  background: var(--fv-navy);
  border-radius: 22px 22px 0 0;
  line-height: 1;
}

.hero-thumb-b figcaption { background: #03b0cd; }
.hero-thumb figcaption strong { font-size: 20px; letter-spacing: .07em; }
.hero-thumb figcaption small { font-size: 8px; letter-spacing: .08em; }

.hero-image-note {
  position: absolute;
  right: 18px;
  bottom: 13px;
  z-index: 14;
  margin: 0;
  color: rgba(24,49,92,.62);
  font-size: 9px;
  letter-spacing: .08em;
}

@media (min-width: 901px) and (max-width: 1450px) {
  :root { --fv-header-h: 88px; }

  .site-header { padding-left: 30px; }
  .brand-mark { width: 44px; height: 48px; }
  .site-header .brand { gap: 17px; }
  .site-header .brand-ja { font-size: 24px; }
  .brand-tagline { font-size: 10px; }
  .menu-toggle { width: 68px; height: 68px; }

  .hero { min-height: 760px; }
  .hero::before { left: 24%; width: 210px; height: 210px; }
  .hero-copy { top: 36px; left: 4.3vw; width: 535px; }
  .hero-script { font-size: 25px; }
  .hero h1 { font-size: clamp(45px, 4vw, 56px); }
  .hero-number { font-size: 90px; }
  .hero-description { margin-top: 24px; font-size: 17px; }
  .hero-actions { width: 440px; margin-top: 25px; }
  .hero-actions .button,
  .hero-actions .button-primary { width: 440px; min-height: 78px; padding-left: 44px; font-size: 19px; }
  .hero-cta-icon { width: 58px; height: 58px; }
  .hero-schedule { margin-top: 17px; font-size: 16px; }
  .hero-location { width: 492px; min-height: 68px; margin-top: 24px; margin-left: -13px; padding-left: 25px; font-size: 16px; }
  .hero-points { top: 228px; left: 45%; width: 142px; height: 307px; padding-top: 31px; }
  .hero-points p { font-size: 14px; }
  .hero-points > strong { font-size: 57px; }
  .hero-points-unit, .hero-points li { font-size: 13px; }
  .hero-points ul { gap: 6px; margin-top: 15px; }
  .hero-photo-main { top: 65px; left: 55.5%; width: 61%; height: 730px; }
  .hero-handnote { top: 58px; right: 16px; width: 240px; }
  .hero-handnote p { font-size: 21px; }
  .hero-thumbs { left: 42%; bottom: 34px; gap: 5px; }
  .hero-thumb-a { width: 232px; height: 174px; }
  .hero-thumb-b { width: 218px; height: 168px; }
}

@media (max-width: 1350px) {
  :root { --fv-header-h: 72px; }

  html { scroll-padding-top: calc(var(--fv-header-h) + 10px); }

  .site-header { height: var(--fv-header-h); padding: 0 14px 0 17px; }
  .site-header .brand { gap: 11px; }
  .brand-mark { width: 37px; height: 41px; }
  .site-header .brand-ja { font-size: 20px; letter-spacing: .13em; }
  .brand-tagline { margin-top: 6px; font-size: 8px; letter-spacing: .12em; }
  .menu-toggle { width: 54px; height: 54px; gap: 6px; }
  .menu-lines { width: 23px; gap: 5px; }
  .menu-lines i { width: 23px; }
  .menu-label { font-size: 7px; }
  .menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-lines i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .section-rail { display: block; width: min(380px, 92vw); padding: 96px 25px 35px; }
  .section-rail ol,
  .section-rail[data-rail-group] ol { grid-template-columns: 1fr; }

  main,
  .site-footer { margin-left: 0; }

  .hero {
    width: 100%;
    height: auto;
    min-height: 0;
    display: block;
    margin-top: var(--fv-header-h);
    padding: 34px 20px 54px;
    overflow: hidden;
  }

  .hero::before { top: 38px; left: auto; right: -70px; width: 210px; height: 210px; }
  .hero::after { height: 35px; }

  .hero-copy { position: relative; top: auto; left: auto; width: 100%; max-width: 590px; margin: 0 auto; }
  .hero-script { margin-left: 0; font-size: 25px; }
  .hero h1 { font-size: clamp(31px, 7.9vw, 43px); line-height: 1.52; letter-spacing: .035em; }
  .hero h1 span { white-space: nowrap; }
  .hero-number { font-size: 1.78em; line-height: .55; }
  .hero-description { margin-top: 24px; font-size: 15px; line-height: 2; }
  .hero-description br { display: block; }
  .hero-actions { width: 100%; margin-top: 25px; }
  .hero-actions .button,
  .hero-actions .button-primary { width: 100%; min-height: 68px; padding: 8px 8px 8px 25px; font-size: clamp(15px, 4.15vw, 18px); }
  .hero-cta-icon { width: 52px; height: 52px; }
  .hero-cta-icon svg { width: 23px; height: 23px; }
  .hero-schedule { gap: 7px; margin: 17px 0 0 5px; font-size: 14px; }
  .hero-schedule svg { width: 22px; height: 22px; }
  .hero-location { width: 100%; min-height: 68px; grid-template-columns: 37px 1fr 34px; gap: 8px; margin: 22px 0 0; padding: 9px 10px 9px 17px; font-size: 13px; }
  .hero-location > svg { width: 31px; height: 31px; }
  .hero-location > i { width: 34px; height: 34px; }

  .hero-points {
    position: relative;
    top: auto;
    left: auto;
    width: min(100%, 590px);
    height: auto;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0 9px;
    margin: 28px auto 0;
    padding: 15px 18px;
    border-radius: 26px;
    text-align: left;
  }

  .hero-points p { grid-column: 1 / 3; font-size: 13px; }
  .hero-points > strong { grid-column: 1; grid-row: 2; margin: 0; font-size: 46px; }
  .hero-points-unit { grid-column: 2; grid-row: 2; font-size: 12px; }
  .hero-points ul { grid-column: 3; grid-row: 1 / 3; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 12px; margin: 0; }
  .hero-points li { gap: 5px; font-size: 11px; }
  .hero-points li i { width: 16px; height: 16px; font-size: 9px; }

  .hero-media { position: relative; inset: auto; width: min(100%, 650px); min-height: 535px; margin: 25px auto 0; }
  .hero-photo-main { top: 22px; left: 6%; width: 105%; height: 430px; border-radius: 12px; transform: rotate(3.2deg); }
  .hero-photo-main img { object-position: 50% 51%; }
  .hero-handnote { top: 3px; right: -3px; width: 190px; }
  .hero-handnote::before { height: 48px; }
  .hero-handnote p { font-size: 16px; line-height: 1.45; }
  .hero-handnote svg { height: 50px; }
  .hero-thumbs { left: -3px; right: -3px; bottom: 21px; width: auto; gap: 4px; }
  .hero-thumb { border-width: 6px; border-radius: 10px; }
  .hero-thumb-a { width: 52%; height: 150px; }
  .hero-thumb-b { width: 48%; height: 146px; margin-bottom: 10px; }
  .hero-thumb figcaption { left: 7px; min-width: 80px; height: 31px; padding: 0 9px; }
  .hero-thumb figcaption strong { font-size: 15px; }
  .hero-thumb figcaption small { font-size: 7px; }
  .hero-image-note { right: 0; bottom: -1px; font-size: 8px; }
}

@media (max-width: 430px) {
  .site-header .brand-ja { font-size: 18px; }
  .brand-tagline { font-size: 7px; }
  .hero { padding-inline: 17px; }
  .hero h1 { font-size: clamp(29px, 7.45vw, 32px); }
  .hero-description { font-size: 14px; letter-spacing: .035em; }
  .hero-actions .button,
  .hero-actions .button-primary { font-size: 15px; letter-spacing: .045em; }
  .hero-location { font-size: 12px; letter-spacing: .035em; }
  .hero-points { grid-template-columns: auto auto; }
  .hero-points ul { grid-column: 1 / 3; grid-row: 3; justify-content: flex-start; margin-top: 9px; }
  .hero-media { min-height: 485px; }
  .hero-photo-main { height: 385px; }
  .hero-thumb-a { height: 132px; }
  .hero-thumb-b { height: 128px; }
}

@media (max-width: 350px) {
  .hero { padding-top: 42px; }
  .hero-script { top: 6px; font-size: 23px; transform: rotate(-4deg); }
  .hero h1 { font-size: 26px; letter-spacing: .015em; }
  .hero-description { line-height: 1.95; letter-spacing: .02em; }
  .hero-description-tail { display: block; }
  .hero-actions .button,
  .hero-actions .button-primary {
    min-height: 60px;
    padding: 7px 7px 7px 16px;
    font-size: 13px;
    letter-spacing: .02em;
  }
  .hero-actions .button-primary > span { white-space: nowrap; }
  .hero-cta-icon { width: 44px; height: 44px; }
  .hero-location { grid-template-columns: 31px 1fr 30px; padding-inline: 10px 7px; font-size: 11px; }
  .hero-location-status { display: block; }
}

/* Section 02 fidelity pass: supplied 1672 × 941 reference */
.overview-v2 {
  color: #15366a;
  background-color: #eff9ff;
  background-image: url("assets/images/section02-city-background-v1.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  scroll-margin-top: 0;
}

.overview-v2::after { display: none; }
.overview-v2 figure { margin: 0; }
.js .overview-v2 .reveal { opacity: 1; transform: none; }

.overview-v2-intro h2 {
  margin: 0;
  color: #15366a;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: .08em;
}

.overview-v2-intro h2 span {
  display: block;
  width: fit-content;
  white-space: nowrap;
  transform-origin: left center;
}

.overview-v2-intro > p {
  margin: 0;
  color: #15366a;
  font-weight: 500;
  letter-spacing: .075em;
}

.overview-v2-intro > p span { white-space: nowrap; }

.overview-v2-script {
  color: rgba(84, 192, 230, .21);
  font-family: "Segoe Script", "Bradley Hand", cursive;
  font-weight: 400;
  line-height: .75;
  letter-spacing: -.06em;
  transform: rotate(-6deg);
  transform-origin: left top;
  pointer-events: none;
  user-select: none;
}

.overview-v2-script b {
  display: block;
  font: inherit;
  white-space: nowrap;
}

.overview-v2-benefits {
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(255, 255, 255, .72);
  box-shadow: 0 22px 60px rgba(33, 92, 139, .035);
  backdrop-filter: blur(8px);
}

.overview-v2-benefits-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.overview-v2-benefits-title i {
  height: 1.5px;
  background: #85d1f2;
}

.overview-v2-benefits-title h3 {
  margin: 0;
  color: #15366a;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .1em;
  text-align: center;
}

.overview-v2-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.overview-v2-benefits-grid article {
  position: relative;
  min-width: 0;
  text-align: center;
}

.overview-v2-benefits-grid article:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  width: 1px;
  background-image: linear-gradient(to bottom, #83d2f4 48%, transparent 48%);
  background-size: 1px 6px;
}

.overview-v2-icon {
  display: grid;
  place-items: center;
  margin-inline: auto;
  color: #15366a;
  background: linear-gradient(145deg, rgba(236, 248, 253, .98), rgba(225, 241, 249, .72));
  border-radius: 50%;
}

.overview-v2-benefits-grid article:first-child .overview-v2-icon {
  border: 1px solid rgba(103, 207, 239, .42);
}

.overview-v2-icon svg { width: 45%; height: 45%; stroke-width: 1.2; }
.overview-v2-benefits-grid h4 { margin: 0; color: #15366a; font-weight: 700; letter-spacing: .06em; }
.overview-v2-benefits-grid p { margin: 0; color: #15366a; font-weight: 500; letter-spacing: .025em; }

.overview-v2-homes {
  display: grid;
  grid-template-columns: .88fr 1fr 1.02fr;
  gap: 5.35%;
}

.overview-v2-home {
  position: relative;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

.overview-v2-home img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 13px 30px rgba(25, 69, 111, .06);
}

.overview-v2-home-dark img { object-position: 50% 44%; }
.overview-v2-home-gray img { object-position: 50% 43%; }
.overview-v2-home-light img { object-position: 50% 50%; }

.overview-v2-note {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 12px;
  color: #15366a;
  background: rgba(255, 255, 255, .97);
  border-radius: 50%;
  box-shadow: 0 13px 32px rgba(25, 69, 111, .065);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .035em;
  text-align: center;
}

.overview-v2-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 999px;
  box-shadow: 0 16px 45px rgba(25, 69, 111, .035);
  backdrop-filter: blur(8px);
}

.overview-v2-schedule {
  min-width: 0;
  display: flex;
  align-items: center;
  margin: 0;
  color: #15366a;
  font-weight: 500;
  letter-spacing: .07em;
  white-space: nowrap;
}

.overview-v2-schedule svg {
  flex: 0 0 auto;
  color: #24b9d7;
  stroke-width: 1.65;
}

.overview-v2-schedule-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: .35em;
}

.overview-v2-schedule-text time { white-space: nowrap; }

.overview-v2-cta {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background: #24b9d7;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(21, 54, 106, .12);
  font-weight: 500;
  letter-spacing: .065em;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.overview-v2-cta:hover {
  background: #0eabc9;
  box-shadow: 0 16px 32px rgba(21, 54, 106, .16);
  transform: translateY(-2px);
}

.overview-v2-cta:focus-visible {
  outline: 3px solid rgba(36, 185, 215, .42);
  outline-offset: 4px;
}

.overview-v2-cta i {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  color: #24b9d7;
  background: #fff;
  border-radius: 50%;
}

.overview-v2-cta i svg { width: 52%; height: 52%; stroke-width: 1.75; }

@media (min-width: 1351px) {
  .overview-v2 {
    width: 100%;
    height: clamp(760px, 56.28vw, 941px);
    min-height: clamp(760px, 56.28vw, 941px);
    padding: 0;
  }

  .overview-v2 > .section-mobile-index { display: none; }

  .overview-v2-intro {
    position: absolute;
    top: 9.03%;
    left: 6.04%;
    width: 35.3%;
  }

  .overview-v2-intro h2 {
    font-size: clamp(43px, 3.17vw, 53px);
    line-height: 1.42;
    letter-spacing: .04em;
  }

  .overview-v2-intro h2 span { position: relative; top: 2px; left: 1px; }
  .overview-v2-intro h2 span:nth-child(1) { letter-spacing: -.095em; }
  .overview-v2-intro h2 span:nth-child(2) { letter-spacing: -.105em; }
  .overview-v2-intro h2 span:nth-child(3) { letter-spacing: .068em; }

  .overview-v2-intro > p {
    position: relative;
    top: -1px;
    left: 2px;
    margin-top: clamp(18px, 1.32vw, 22px);
    font-size: clamp(16px, 1.2vw, 20px);
    line-height: 1.95;
    letter-spacing: .105em;
  }

  .overview-v2-script {
    position: absolute;
    top: clamp(282px, 20.81vw, 348px);
    left: -3.56vw;
    font-size: clamp(58px, 4.67vw, 78px);
  }

  .overview-v2-script b {
    margin-top: clamp(-8px, -.48vw, -5px);
    margin-left: clamp(175px, 13.45vw, 225px);
  }

  .overview-v2-benefits {
    position: absolute;
    top: 6.48%;
    left: 43.9%;
    width: 47.31%;
    height: 45.59%;
    padding-top: 2.55%;
    border-radius: clamp(25px, 1.91vw, 32px);
  }

  .overview-v2-benefits-title {
    gap: clamp(28px, 2.51vw, 42px);
    margin-inline: 7.1%;
  }

  .overview-v2-benefits-title h3 { font-size: clamp(21px, 1.56vw, 26px); }

  .overview-v2-benefits-grid {
    grid-template-columns: .96fr 1.02fr 1.02fr;
    height: calc(100% - 62px);
    margin-top: clamp(24px, 1.91vw, 32px);
    padding-inline: 3.1%;
  }

  .overview-v2-benefits-grid article:not(:last-child)::after {
    top: 24%;
    bottom: 2%;
  }

  .overview-v2-icon {
    width: clamp(115px, 8.55vw, 143px);
    height: clamp(115px, 8.55vw, 143px);
  }

  .overview-v2-benefits-grid h4 {
    margin-top: clamp(9px, .66vw, 11px);
    font-size: clamp(16px, 1.2vw, 20px);
    line-height: 1.55;
  }

  .overview-v2-benefits-grid p {
    margin-top: clamp(12px, .9vw, 15px);
    font-size: clamp(11px, .84vw, 14px);
    line-height: 1.9;
  }

  .overview-v2-homes {
    position: absolute;
    top: 60.25%;
    left: 10.47%;
    width: 78.05%;
    height: 25.72%;
    grid-template-columns: 27.36% 6.28% 30.57% 4.83% 30.96%;
    gap: 0;
  }

  .overview-v2-home:nth-child(1) { grid-column: 1; }
  .overview-v2-home:nth-child(2) { grid-column: 3; }
  .overview-v2-home:nth-child(3) { grid-column: 5; }

  .overview-v2-note {
    width: clamp(106px, 8.08vw, 135px);
    height: clamp(106px, 8.08vw, 135px);
    font-size: clamp(12px, .9vw, 15px);
  }

  .overview-v2-home-dark .overview-v2-note { top: -17.8%; left: -17.4%; }
  .overview-v2-home-gray .overview-v2-note { top: -12.5%; left: -12.8%; }
  .overview-v2-home-light .overview-v2-note { top: -11.7%; left: -10.9%; }

  .overview-v2-bottom {
    position: absolute;
    top: 87.46%;
    left: 10.41%;
    width: 78.59%;
    height: 10.1%;
    padding: .75% 5.75% .7% 9.5%;
  }

  .overview-v2-schedule {
    gap: clamp(16px, 1.44vw, 24px);
    font-size: clamp(16px, 1.2vw, 20px);
  }

  .overview-v2-schedule svg {
    width: clamp(33px, 2.51vw, 42px);
    height: clamp(33px, 2.51vw, 42px);
  }

  .overview-v2-cta {
    width: clamp(362px, 26.73vw, 447px);
    height: clamp(56px, 4.13vw, 69px);
    min-width: 362px;
    padding: 7px 8px 7px clamp(28px, 2.4vw, 40px);
    font-size: clamp(16px, 1.2vw, 20px);
    white-space: nowrap;
  }

  .overview-v2-cta i { width: clamp(42px, 3.11vw, 52px); height: clamp(42px, 3.11vw, 52px); }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .overview-v2 {
    min-height: 0;
    padding: 80px clamp(42px, 6vw, 74px) 68px;
    background-position: 58% center;
  }

  .overview-v2 > .section-mobile-index { display: none; }
  .overview-v2-intro { max-width: 660px; }
  .overview-v2-intro h2 { font-size: clamp(43px, 5vw, 53px); line-height: 1.48; }
  .overview-v2-intro > p { margin-top: 24px; font-size: 18px; line-height: 2; }
  .overview-v2-script { position: absolute; top: 292px; left: -18px; font-size: 58px; }
  .overview-v2-script b { margin: -8px 0 0 188px; }

  .overview-v2-benefits {
    margin-top: 104px;
    padding: 38px 30px 34px;
    border-radius: 30px;
  }

  .overview-v2-benefits-title { gap: 32px; margin-inline: 28px; }
  .overview-v2-benefits-title h3 { font-size: 24px; }
  .overview-v2-benefits-grid { margin-top: 32px; }
  .overview-v2-benefits-grid article { padding-inline: 12px; }
  .overview-v2-benefits-grid article:not(:last-child)::after { top: 58px; bottom: 0; }
  .overview-v2-icon { width: 132px; height: 132px; }
  .overview-v2-benefits-grid h4 { margin-top: 16px; font-size: 18px; line-height: 1.55; }
  .overview-v2-benefits-grid p { margin-top: 12px; font-size: 13px; line-height: 1.85; }

  .overview-v2-homes { margin-top: 76px; }
  .overview-v2-home { aspect-ratio: 1.58; }
  .overview-v2-note { top: -44px; left: -38px; width: 116px; height: 116px; font-size: 13px; }
  .overview-v2-home-gray .overview-v2-note,
  .overview-v2-home-light .overview-v2-note { top: -34px; left: -30px; }

  .overview-v2-bottom {
    min-height: 92px;
    margin-top: 18px;
    padding: 12px 14px 12px 30px;
  }

  .overview-v2-schedule { gap: 14px; font-size: 16px; }
  .overview-v2-schedule svg { width: 34px; height: 34px; }
  .overview-v2-cta { width: min(43%, 430px); min-height: 66px; padding: 7px 8px 7px 32px; font-size: 17px; }
  .overview-v2-cta i { width: 50px; height: 50px; }
}

@media (max-width: 900px) {
  .overview-v2 {
    min-height: 0;
    padding: 72px clamp(20px, 5vw, 42px) 60px;
    background-position: 61% top;
    background-size: auto 100%;
  }

  .overview-v2 > .section-mobile-index {
    position: relative;
    top: auto;
    left: auto;
    display: block;
    margin-bottom: 23px;
    color: #24b9d7;
  }

  .overview-v2-intro h2 { font-size: clamp(31px, 7.7vw, 39px); line-height: 1.55; letter-spacing: .045em; }
  .overview-v2-intro > p { margin-top: 24px; font-size: 15px; line-height: 2; letter-spacing: .04em; }
  .overview-v2-intro > p span { display: block; width: fit-content; white-space: nowrap; }
  .overview-v2-intro > p br { display: none; }
  .overview-v2-script { display: none; }

  .overview-v2-benefits {
    margin-top: 42px;
    padding: 30px 22px 32px;
    border-radius: 28px;
  }

  .overview-v2-benefits-title { gap: 16px; }
  .overview-v2-benefits-title h3 { font-size: 20px; white-space: nowrap; }
  .overview-v2-benefits-grid { grid-template-columns: 1fr; margin-top: 29px; }
  .overview-v2-benefits-grid article { display: grid; grid-template-columns: 106px 1fr; grid-template-rows: auto auto; column-gap: 18px; align-items: center; padding: 0 0 24px; text-align: left; }
  .overview-v2-benefits-grid article + article { padding-top: 24px; }
  .overview-v2-benefits-grid article:not(:last-child)::after { right: 0; bottom: 0; left: 0; width: auto; height: 1px; background-image: linear-gradient(to right, #83d2f4 48%, transparent 48%); background-size: 6px 1px; }
  .overview-v2-icon { grid-column: 1; grid-row: 1 / 3; width: 106px; height: 106px; }
  .overview-v2-benefits-grid h4 { align-self: end; font-size: 17px; line-height: 1.55; }
  .overview-v2-benefits-grid p { align-self: start; margin-top: 7px; font-size: 12px; line-height: 1.75; }

  .overview-v2-homes { grid-template-columns: 1fr; gap: 44px; margin-top: 68px; padding-left: 22px; }
  .overview-v2-home { aspect-ratio: 1.55; }
  .overview-v2-note { top: -34px; left: -22px; width: 105px; height: 105px; font-size: 12px; }

  .overview-v2-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    margin-top: 22px;
    padding: 24px 18px 18px;
    border-radius: 30px;
  }

  .overview-v2-schedule { justify-content: center; gap: 10px; font-size: clamp(12px, 3.45vw, 15px); letter-spacing: .025em; white-space: normal; }
  .overview-v2-schedule-text { justify-content: center; }
  .overview-v2-schedule svg { width: 30px; height: 30px; }
  .overview-v2-cta { width: 100%; min-height: 64px; padding: 6px 7px 6px 24px; font-size: clamp(15px, 4vw, 18px); }
  .overview-v2-cta i { width: 50px; height: 50px; }
}

@media (max-width: 430px) {
  .overview-v2 { padding-inline: 17px; }
  .overview-v2-intro h2 { font-size: clamp(24px, 6.5vw, 26px); letter-spacing: .025em; }
  .overview-v2-intro h2 span { width: fit-content; white-space: nowrap; }
  .overview-v2-benefits { padding-inline: 17px; }
  .overview-v2-benefits-grid article { grid-template-columns: 88px 1fr; column-gap: 14px; }
  .overview-v2-icon { width: 88px; height: 88px; }
  .overview-v2-benefits-grid h4 { font-size: 15px; }
  .overview-v2-benefits-grid p { font-size: 11px; }
  .overview-v2-homes { padding-left: 17px; }
  .overview-v2-note { width: 92px; height: 92px; font-size: 11px; }
  .overview-v2-schedule { justify-content: flex-start; }
  .overview-v2-schedule-text { justify-content: flex-start; }
  .overview-v2-cta { font-size: 15px; letter-spacing: .035em; }
}

@media (max-width: 350px) {
  .overview-v2-intro h2 { font-size: 22px; letter-spacing: .015em; }
  .overview-v2-cta { padding-left: 14px; font-size: 12px; letter-spacing: 0; }
  .overview-v2-cta i { width: 44px; height: 44px; }
}

/* Fixed header anchor alignment */
html { scroll-padding-top: calc(var(--fv-header-h, 104px) + 10px); }
.lp-section { scroll-margin-top: 0; }

/* Section 03 fidelity pass: 1536 × 1024 reference */
.compare-v3 {
  --compare-v3-navy: #0b3271;
  --compare-v3-aqua: #02a9d0;
  --compare-v3-line: #dcecf4;
  min-height: 0;
  padding: 76px clamp(20px, 5vw, 76px) 70px;
  color: var(--compare-v3-navy);
  background: #fff;
}

.compare-v3::after { display: none; }
.compare-v3 figure,
.compare-v3 dl,
.compare-v3 dt,
.compare-v3 dd { margin: 0; }

.compare-v3-background {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
  background: #fff url("assets/images/compare-nagao-background-v1.png") center / cover no-repeat;
}

.compare-v3-background::before,
.compare-v3-background::after { display: none; }

.compare-v3-intro { position: relative; max-width: 590px; }

.compare-v3-script {
  margin: 0;
  color: var(--compare-v3-aqua);
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(30px, 2.5vw, 40px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.075em;
  transform: rotate(-7deg);
  transform-origin: left center;
}

.compare-v3-intro h2 {
  margin: 28px 0 0;
  color: var(--compare-v3-navy);
  font-family: var(--serif);
  font-size: clamp(45px, 3.9vw, 63px);
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: .075em;
}

.compare-v3-lead {
  margin: 17px 0 0;
  color: var(--compare-v3-navy);
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .075em;
}

.compare-v3-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 25px 0 0;
  padding: 20px 0 0;
  list-style: none;
  border-top: 1px solid rgba(40,169,216,.34);
}

.compare-v3-benefits li {
  position: relative;
  min-width: 0;
  min-height: 136px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px 12px 9px;
  text-align: center;
}

.compare-v3-benefits li:nth-child(odd)::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  bottom: 8px;
  width: 1px;
  background: rgba(40,169,216,.22);
}

.compare-v3-benefits i {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  color: var(--compare-v3-aqua);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(40,169,216,.16);
  border-radius: 50%;
}

.compare-v3-benefits svg {
  width: 38px;
  height: 38px;
  stroke-width: 1.55;
}

.compare-v3-benefits span {
  font-size: clamp(11px, .95vw, 14px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: .035em;
}

.compare-v3-cta {
  width: min(100%, 408px);
  min-height: 69px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 8px 7px 25px;
  color: #fff;
  background: linear-gradient(115deg, #06acd4, #03a4c9);
  border-radius: 999px;
  box-shadow: 0 13px 28px rgba(11,117,157,.22);
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 700;
  letter-spacing: .065em;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.compare-v3-cta:hover {
  box-shadow: 0 17px 34px rgba(11,117,157,.28);
  transform: translateY(-3px);
}

.compare-v3-cta:focus-visible {
  outline: 3px solid rgba(11,50,113,.46);
  outline-offset: 4px;
}

.compare-v3-cta > svg {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  stroke-width: 1.8;
}

.compare-v3-cta > i {
  width: 52px;
  height: 52px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  margin-left: auto;
  color: var(--compare-v3-aqua);
  background: #fff;
  border-radius: 50%;
}

.compare-v3-cta > i svg { width: 27px; height: 27px; stroke-width: 1.65; }

.compare-v3-venue-heading {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.15vw, 18px);
  margin: 46px auto 0;
  color: var(--compare-v3-navy);
  font-family: var(--serif);
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .075em;
  text-align: center;
  white-space: nowrap;
}

.compare-v3-venue-number {
  position: relative;
  padding: 0 17px;
  color: var(--compare-v3-aqua);
  font-family: var(--sans);
  font-size: .78em;
  font-weight: 800;
  letter-spacing: .12em;
}

.compare-v3-venue-number::before,
.compare-v3-venue-number::after {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 1px;
  background: currentColor;
  content: "";
}

.compare-v3-venue-number::before { left: 0; }
.compare-v3-venue-number::after { right: 0; }
.compare-v3-venue-place { font-weight: 600; }
.compare-v3-venue-heading strong { color: var(--compare-v3-aqua); font-weight: 700; }

.compare-v3-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 47px;
}

.compare-v3-card {
  min-width: 0;
  overflow: hidden;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(16,91,137,.06);
  border-radius: 16px;
  box-shadow: 0 15px 34px rgba(19,73,112,.105), 0 2px 7px rgba(19,73,112,.035);
}

.compare-v3-card figure {
  position: relative;
  height: 309px;
  overflow: hidden;
}

.compare-v3-card figure::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 9%;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.2));
  pointer-events: none;
}

.compare-v3-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.compare-v3-card-a figure img { object-position: 50% 43%; }
.compare-v3-card-b figure img { object-position: 50% 44%; }

.compare-v3-card figcaption {
  position: absolute;
  top: 25px;
  left: 21px;
  z-index: 2;
  min-width: 92px;
  height: 45px;
  display: grid;
  place-items: center;
  padding-inline: 18px;
  color: #fff;
  background: #0c3e7e;
  border-radius: 999px;
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}

.compare-v3-card-b figcaption { background: #05add0; }

.compare-v3-card dl { padding: 0 24px; }

.compare-v3-card dl > div {
  min-height: 65px;
  display: grid;
  grid-template-columns: 31% minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--compare-v3-line);
}

.compare-v3-card dl > div:last-child { border-bottom: 0; }
.compare-v3-card dt { font-size: clamp(12px, .95vw, 15px); font-weight: 700; letter-spacing: .025em; }
.compare-v3-card dd { min-width: 0; font-family: var(--serif); font-size: clamp(16px, 1.35vw, 21px); font-weight: 500; line-height: 1.6; text-align: right; letter-spacing: .025em; }
.compare-v3-card .compare-v3-price { min-height: 75px; }
.compare-v3-price dd { color: var(--compare-v3-aqua); font-family: var(--sans); font-size: clamp(14px, 1.1vw, 17px); font-weight: 700; white-space: nowrap; }
.compare-v3-price dd strong { font-size: clamp(27px, 2.1vw, 32px); font-weight: 500; letter-spacing: .02em; }
.compare-v3-card .compare-v3-description { min-height: 94px; }
.compare-v3-card .compare-v3-recommend { min-height: 69px; }
.compare-v3-description dd,
.compare-v3-recommend dd { font-family: var(--sans); font-size: clamp(11px, .92vw, 14px); font-weight: 600; line-height: 1.7; text-align: left; }

.compare-v3-note {
  margin: 35px 0 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .035em;
  text-align: center;
}

@media (min-width: 1351px) {
  .compare-v3 {
    width: 100%;
    height: clamp(900px, 66.6667vw, 1024px);
    min-height: clamp(900px, 66.6667vw, 1024px);
    padding: 0;
  }

  .compare-v3 > .section-mobile-index { display: none; }

  .compare-v3-intro {
    position: absolute;
    top: 8.6%;
    left: 3.85%;
    width: 26.55%;
    height: 77.15%;
  }

  .compare-v3-script {
    position: relative;
    top: 0;
    left: -7px;
    font-size: clamp(27px, 1.95vw, 31px);
  }
  .compare-v3-intro h2 { margin-top: 34px; font-size: clamp(49px, 3.9vw, 60px); }
  .compare-v3-lead { font-size: clamp(15px, 1.18vw, 18px); }
  .compare-v3-benefits { margin-top: 24px; padding-top: 19px; }
  .compare-v3-benefits li { min-height: clamp(118px, 8.85vw, 136px); padding-inline: 5px; }
  .compare-v3-benefits i { width: clamp(58px, 4.55vw, 70px); height: clamp(58px, 4.55vw, 70px); }
  .compare-v3-benefits svg { width: 55%; height: 55%; }
  .compare-v3-benefits span { font-size: clamp(10px, .91vw, 14px); }
  .compare-v3-cta { position: absolute; bottom: 0; left: 0; }

  .compare-v3-venue-heading {
    position: absolute;
    top: 10.2%;
    left: 46.5%;
    width: 50%;
    margin: 0;
    font-size: clamp(18px, 1.48vw, 23px);
  }

  .compare-v3-cards {
    position: absolute;
    top: 18.95%;
    left: 34.31%;
    width: 62.3%;
    height: 67.19%;
    gap: 2.98%;
    margin: 0;
  }

  .compare-v3-card { height: 100%; }
  .compare-v3-card figure { height: 44.91%; }
  .compare-v3-card dl { height: 55.09%; padding-inline: 5%; }
  .compare-v3-card dl > div { min-height: 0; height: 17.2%; }
  .compare-v3-card .compare-v3-price { min-height: 0; height: 20%; }
  .compare-v3-card .compare-v3-description { min-height: 0; height: 25%; }
  .compare-v3-card .compare-v3-recommend { min-height: 0; height: 20.6%; }
  .compare-v3-card dt { font-size: clamp(12px, .98vw, 15px); }
  .compare-v3-card dd { font-size: clamp(15px, 1.24vw, 19px); }
  .compare-v3-price dd { font-size: clamp(12px, 1.05vw, 16px); }
  .compare-v3-price dd strong { font-size: clamp(25px, 2.08vw, 32px); }
  .compare-v3-description dd,
  .compare-v3-recommend dd { font-size: clamp(12px, .98vw, 15px); font-weight: 700; }

  .compare-v3-note {
    position: absolute;
    top: 89.9%;
    left: 34.31%;
    width: 62.3%;
    margin: 0;
    font-size: clamp(10px, .78vw, 12px);
  }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .compare-v3 > .section-mobile-index { display: none; }
  .compare-v3-intro { max-width: 760px; margin-inline: auto; text-align: center; }
  .compare-v3-script { width: fit-content; margin-inline: auto; }
  .compare-v3-benefits { max-width: 560px; margin-inline: auto; }
  .compare-v3-cta { margin: 30px auto 0; }
  .compare-v3-cards { margin-top: 42px; }
  .compare-v3-card figure { height: auto; aspect-ratio: 1.5; }
  .compare-v3-card dl { padding-inline: 18px; }
  .compare-v3-description dd,
  .compare-v3-recommend dd { font-size: 11px; }
}

@media (max-width: 900px) {
  .compare-v3 { padding: 70px clamp(20px, 5vw, 42px) 64px; }
  .compare-v3 > .section-mobile-index { display: block; margin-bottom: 26px; color: var(--compare-v3-aqua); }
  .compare-v3-background { background-position: 58% top; background-size: auto 100%; }
  .compare-v3-intro { max-width: 610px; margin-inline: auto; }
  .compare-v3-script { font-size: clamp(31px, 8vw, 42px); }
  .compare-v3-intro h2 { margin-top: 17px; font-size: clamp(36px, 9.7vw, 50px); line-height: 1.47; }
  .compare-v3-lead { margin-top: 20px; font-size: clamp(13px, 3.8vw, 17px); }
  .compare-v3-benefits { margin-top: 32px; padding-top: 25px; }
  .compare-v3-benefits li { min-height: 132px; padding-inline: 7px; }
  .compare-v3-benefits i { width: 65px; height: 65px; }
  .compare-v3-benefits span { font-size: clamp(10px, 3vw, 13px); }
  .compare-v3-cta { margin: 31px auto 0; padding-left: 23px; font-size: clamp(14px, 4vw, 18px); }
  .compare-v3-venue-heading {
    width: min(100%, 620px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: center;
    gap: 6px 12px;
    margin: 52px auto 0;
    padding: 17px 18px;
    font-size: clamp(16px, 4.6vw, 22px);
    white-space: normal;
    background: rgba(255,255,255,.82);
    border-top: 1px solid rgba(2,169,208,.24);
    border-bottom: 1px solid rgba(2,169,208,.24);
  }
  .compare-v3-venue-number { justify-self: end; }
  .compare-v3-venue-place { justify-self: start; }
  .compare-v3-venue-heading strong { grid-column: 1 / -1; }
  .compare-v3-cards { grid-template-columns: minmax(0, 620px); justify-content: center; gap: 34px; margin-top: 34px; }
  .compare-v3-card { border-radius: 18px; }
  .compare-v3-card figure { height: auto; aspect-ratio: 1.5; }
  .compare-v3-card dl { padding-inline: clamp(17px, 5vw, 25px); }
  .compare-v3-card dl > div { grid-template-columns: 32% minmax(0, 1fr); }
  .compare-v3-card dt { font-size: clamp(11px, 3.2vw, 14px); }
  .compare-v3-card dd { font-size: clamp(15px, 4.2vw, 19px); }
  .compare-v3-price dd { font-size: clamp(12px, 3.2vw, 15px); }
  .compare-v3-price dd strong { font-size: clamp(26px, 7vw, 32px); }
  .compare-v3-description dd,
  .compare-v3-recommend dd { font-size: clamp(10px, 2.85vw, 13px); }
  .compare-v3-note { max-width: 560px; margin: 28px auto 0; font-size: 10px; }
}

@media (max-width: 390px) {
  .compare-v3 { padding-inline: 16px; }
  .compare-v3-benefits li { min-height: 122px; }
  .compare-v3-benefits i { width: 58px; height: 58px; }
  .compare-v3-cta { min-height: 64px; gap: 9px; padding-left: 19px; font-size: 13px; letter-spacing: .035em; }
  .compare-v3-cta > svg { width: 24px; height: 24px; }
  .compare-v3-cta > i { width: 48px; height: 48px; }
  .compare-v3-card figcaption { top: 17px; left: 16px; min-width: 78px; height: 40px; font-size: 19px; }
  .compare-v3-card dl > div { gap: 9px; }
}

@media (max-width: 350px) {
  .compare-v3-venue-heading { font-size: 16px; letter-spacing: .04em; }
  .compare-v3-cta { gap: 6px; padding-right: 6px; padding-left: 14px; font-size: 12px; letter-spacing: 0; }
  .compare-v3-cta > svg { width: 22px; height: 22px; }
  .compare-v3-cta > i { width: 44px; height: 44px; }
}

/* Section 06 fidelity pass: 1672 × 941 reference */
.nagao-compare-v6 {
  --nagao-v6-canvas: #fefefe;
  --nagao-v6-navy: #082f5d;
  --nagao-v6-capsule-start: #072f5d;
  --nagao-v6-capsule-end: #103762;
  --nagao-v6-cyan: #01b8d7;
  --nagao-v6-icon: #8de0f2;
  --nagao-v6-pale: #f0f8fd;
  --nagao-v6-dotted: #35c6e8;
  --nagao-v6-divider: #bfeaf5;
  position: relative;
  overflow: hidden;
  padding: 76px clamp(18px, 5vw, 52px) 62px;
  color: var(--nagao-v6-navy);
  background: var(--nagao-v6-canvas);
}

.nagao-compare-v6::after { display: none; }

.nagao-compare-v6-background {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
}

.nagao-compare-v6-background i { position: absolute; display: block; border-radius: 50%; }
.nagao-compare-v6-background i:nth-child(1) { top: 7%; left: 3.3%; width: 9.2%; aspect-ratio: 1; background: radial-gradient(circle at 45% 42%, rgba(225,242,252,.92), rgba(241,249,253,.38) 72%, transparent 73%); }
.nagao-compare-v6-background i:nth-child(2) { top: 15.8%; left: 4.5%; width: 12.2%; aspect-ratio: 1; border: 2px dashed rgba(53,198,232,.82); }
.nagao-compare-v6-background i:nth-child(3) { top: -11%; right: -8.5%; width: 24.3%; aspect-ratio: 1; background: radial-gradient(circle at 42% 58%, rgba(235,247,253,.92), rgba(245,251,254,.55) 68%, transparent 69%); }
.nagao-compare-v6-background i:nth-child(4) { top: 21.5%; right: 4.4%; width: 12.3%; aspect-ratio: 1; border: 2px dashed rgba(53,198,232,.68); }
.nagao-compare-v6-background i:nth-child(5) { left: -12%; bottom: -25%; width: 34%; aspect-ratio: 1; background: radial-gradient(circle at 56% 42%, rgba(231,245,252,.9), rgba(245,251,254,.46) 70%, transparent 71%); }
.nagao-compare-v6-background i:nth-child(6) { right: -1.8%; bottom: -10%; width: 18.4%; aspect-ratio: 1; background: radial-gradient(circle at 46% 43%, rgba(229,244,252,.88), rgba(244,250,254,.44) 70%, transparent 71%); }

.nagao-compare-v6 > .section-mobile-index { position: relative; z-index: 2; margin-bottom: 26px; color: var(--nagao-v6-cyan); }

.nagao-compare-v6-intro { position: relative; z-index: 2; max-width: 1120px; margin: 0 auto; text-align: center; }

.nagao-compare-v6-intro > .section-context { display: none; }

.nagao-compare-v6-script {
  width: fit-content;
  margin: 0 auto 12px;
  color: var(--nagao-v6-cyan);
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(19px, 2.1vw, 28px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.05em;
  transform: rotate(-7deg);
}

.nagao-compare-v6-script::after { width: 130px; height: 2px; display: block; margin-top: 7px; background: var(--nagao-v6-cyan); content: ""; transform: rotate(-8deg); transform-origin: left center; }

.nagao-compare-v6-intro h2 {
  margin: 0;
  color: var(--nagao-v6-navy);
  font-family: var(--serif);
  font-size: clamp(32px, 4.3vw, 52px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .075em;
}

.nagao-compare-v6-lead { margin: 18px 0 0; color: #153b67; font-family: var(--serif); font-size: clamp(15px, 1.65vw, 20px); font-weight: 500; line-height: 1.85; letter-spacing: .08em; }
.nagao-v6-lead-mobile-break,
.nagao-v6-card-break { display: none; }

.nagao-compare-v6-layout { position: relative; z-index: 2; display: grid; gap: 30px; max-width: 960px; margin: 42px auto 0; }

.nagao-compare-v6-card {
  position: relative;
  width: 100%;
  max-width: 441px;
  min-height: 556px;
  margin-inline: auto;
  padding: 28px clamp(24px, 6vw, 45px) 32px;
  background: rgba(255,255,255,.98);
  border-radius: 14px;
  box-shadow: 0 9px 28px rgba(20,58,94,.08), 0 2px 7px rgba(20,58,94,.035);
}

.nagao-compare-v6-lot { min-width: 88px; height: 33px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 25px; color: #fff; background: linear-gradient(90deg,#032653,#164b76); border-radius: 999px; font-family: var(--serif); font-size: 16px; font-weight: 600; line-height: 1; }

.nagao-compare-v6-plan { width: 100%; height: 300px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); place-items: stretch; gap: 12px; margin: 15px 0 0; overflow: hidden; }
.nagao-compare-v6-plan-level { position: relative; min-width: 0; height: 100%; display: grid; place-items: center; overflow: hidden; }
.nagao-compare-v6-plan-level + .nagao-compare-v6-plan-level { border-left: 1px dotted var(--nagao-v6-divider); }
.nagao-compare-v6-floor { position: absolute; top: 0; left: 4px; z-index: 2; min-width: 35px; height: 24px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--nagao-v6-navy); border-radius: 999px; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.nagao-compare-v6-plan-art { width: 100%; height: calc(100% - 18px); display: block; margin-top: 18px; overflow: hidden; }
.nagao-compare-v6-plan-art image { opacity: 1; filter: saturate(.82) contrast(.98) brightness(1.01); }

.nagao-compare-v6-card-copy { margin-top: 18px; }
.nagao-compare-v6-card-copy h3 { margin: 0; padding: 0 0 15px; border-bottom: 1px dotted var(--nagao-v6-divider); color: var(--nagao-v6-navy); font-family: var(--serif); font-size: clamp(18px, 2.5vw, 21px); font-weight: 500; line-height: 1.55; letter-spacing: .065em; text-align: center; white-space: nowrap; }
.nagao-compare-v6-card-copy p { margin: 14px 0 0; color: #143963; font-family: var(--serif); font-size: clamp(14px, 2vw, 16px); font-weight: 500; line-height: 1.72; letter-spacing: .045em; text-align: center; }

.nagao-compare-v6-points {
  width: 100%;
  max-width: 441px;
  margin-inline: auto;
  padding: 40px 31px 32px;
  color: #fff;
  background: linear-gradient(155deg,var(--nagao-v6-capsule-start) 0%,#0b335e 52%,var(--nagao-v6-capsule-end) 100%);
  border-radius: 38px;
  text-align: center;
}

.nagao-compare-v6-points-title { margin: 0; color: var(--nagao-v6-cyan); font-family: var(--serif); font-size: 18px; font-weight: 500; letter-spacing: .12em; }
.nagao-compare-v6-points-title::before { display: block; margin: 0 auto 9px; color: var(--nagao-v6-cyan); content: "⌁  ╲  │  ╱  ⌁"; font-family: var(--sans); font-size: 14px; line-height: 1; letter-spacing: .06em; }
.nagao-compare-v6-points ul { display: grid; padding: 0; margin: 26px 0 0; list-style: none; }
.nagao-compare-v6-points li { min-height: 86px; display: flex; align-items: center; justify-content: center; gap: 20px; border-bottom: 1px dotted rgba(20,184,218,.75); }
.nagao-compare-v6-points li:last-child { border: 0; }
.nagao-compare-v6-points svg { width: 29px; height: 29px; flex: 0 0 auto; color: var(--nagao-v6-icon); fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.nagao-compare-v6-points span { font-family: var(--serif); font-size: clamp(17px, 2.6vw, 21px); font-weight: 500; letter-spacing: .06em; }

.nagao-compare-v6-cta {
  position: relative;
  z-index: 2;
  width: min(100%,330px);
  min-height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 30px auto 0;
  padding: 10px 28px 10px 44px;
  color: #fff;
  background: var(--nagao-v6-cyan);
  border-radius: 999px;
  box-shadow: 0 7px 16px rgba(0,154,190,.17);
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .12em;
  transition: transform .2s ease, box-shadow .2s ease;
}

.nagao-compare-v6-cta:hover { box-shadow: 0 11px 23px rgba(0,154,190,.24); transform: translateY(-2px); }
.nagao-compare-v6-cta:focus-visible { outline: 3px solid rgba(8,47,93,.42); outline-offset: 4px; }
.nagao-compare-v6-cta svg { width: 18px; height: 18px; flex: 0 0 auto; stroke-width: 1.8; }
.nagao-compare-v6-cta > span { white-space: nowrap; }

@media (min-width: 1351px) {
  .nagao-compare-v6 { width: 100%; height: clamp(800px,56.28vw,941px); min-height: clamp(800px,56.28vw,941px); padding: 0; }
  .nagao-compare-v6 > .section-mobile-index { display: none; }

  .nagao-compare-v6-intro { position: absolute; top: 4.68%; left: 0; width: 100%; max-width: none; }
  .nagao-compare-v6-intro > .section-context { position: absolute; top: 0; right: 15.5%; margin: 0; }
  .nagao-compare-v6-script { position: absolute; top: 0; left: 16.93%; margin: 0; font-size: clamp(17px,1.2vw,20px); }
  .nagao-compare-v6-intro h2 { margin-top: 35px; font-size: clamp(41px,2.87vw,48px); line-height: 1.35; white-space: nowrap; }
  .nagao-compare-v6-lead { margin-top: 18px; font-size: clamp(16px,1.2vw,20px); }

  .nagao-compare-v6-layout { position: absolute; top: 27.4%; left: 13.10%; width: 73.86%; height: 59.09%; max-width: none; display: grid; grid-template-columns: 35.71% 21.70% 35.71%; column-gap: 3.44%; margin: 0; }
  .nagao-compare-v6-card { width: 100%; max-width: none; min-height: 0; height: 100%; margin: 0; padding: 0; }
  .nagao-compare-v6-lot { position: absolute; top: 6.65%; left: 11.8%; min-width: 19.8%; height: 5.94%; padding-inline: 1.45vw; font-size: clamp(14px,1vw,17px); }
  .nagao-compare-v6-plan { position: absolute; top: 14.9%; left: 10.2%; width: 79.6%; height: 54%; margin: 0; }
  .nagao-compare-v6-card-copy { position: absolute; top: 73.1%; left: 10.2%; width: 79.6%; margin: 0; }
  .nagao-compare-v6-card-copy h3 { padding-bottom: clamp(10px,1.1vw,15px); font-size: clamp(15px,1.2vw,21px); line-height: 1.45; }
  .nagao-compare-v6-card-copy p { margin-top: clamp(10px,1vw,16px); font-size: clamp(13px,.98vw,16.5px); line-height: 1.7; }

  .nagao-compare-v6-points { width: 100%; max-width: none; height: 91.55%; margin: .36% 0 0; padding: 19.2% 11.6% 8%; border-radius: 999px; }
  .nagao-compare-v6-points-title { font-size: clamp(15px,1.08vw,18px); }
  .nagao-compare-v6-points ul { height: 68.5%; grid-template-rows: repeat(3,1fr); margin-top: 5%; }
  .nagao-compare-v6-points li { min-height: 0; gap: clamp(14px,1.25vw,21px); }
  .nagao-compare-v6-points svg { width: clamp(24px,1.74vw,29px); height: clamp(24px,1.74vw,29px); }
  .nagao-compare-v6-points span { font-size: clamp(17px,1.25vw,21px); white-space: nowrap; }

  .nagao-compare-v6-cta { position: absolute; left: 40.13%; bottom: 5.1%; width: 19.74%; min-height: 5.42%; margin: 0; padding: .6% 1.8% .6% 2.7%; gap: 8%; font-size: clamp(16px,1.17vw,20px); }
}

@media (min-width: 721px) and (max-width: 1350px) {
  .nagao-compare-v6-layout { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 940px; }
  .nagao-compare-v6-points { grid-column: 1 / -1; grid-row: 1; max-width: none; display: grid; grid-template-columns: 210px 1fr; align-items: center; padding: 28px 30px; }
  .nagao-compare-v6-points ul { grid-template-columns: repeat(3,1fr); margin: 0; }
  .nagao-compare-v6-points li { min-height: 86px; gap: 8px; padding-inline: 9px; border-right: 1px dotted rgba(20,184,218,.75); border-bottom: 0; }
  .nagao-compare-v6-points li:last-child { border-right: 0; }
  .nagao-compare-v6-points span { font-size: clamp(14px,1.6vw,17px); white-space: nowrap; }
  .nagao-compare-v6-card-a { grid-column: 1; grid-row: 2; }
  .nagao-compare-v6-card-b { grid-column: 2; grid-row: 2; }
  .nagao-compare-v6-card-copy h3 { white-space: normal; }
  .nagao-v6-card-break { display: block; }
}

@media (max-width: 720px) {
  .nagao-compare-v6 { padding-top: 68px; }
  .nagao-compare-v6-intro { text-align: left; }
  .nagao-compare-v6-intro > .section-context { margin-inline: 0; }
  .nagao-compare-v6-script { margin-left: 0; }
  .nagao-compare-v6-intro h2 { font-size: clamp(29px,8.2vw,39px); line-height: 1.58; letter-spacing: .045em; }
  .nagao-compare-v6-lead { line-height: 1.95; }
  .nagao-v6-lead-mobile-break,
  .nagao-v6-card-break { display: block; }
  .nagao-compare-v6-layout { margin-top: 34px; }
  .nagao-compare-v6-card { min-height: 0; padding: 25px 22px 27px; }
  .nagao-compare-v6-plan { height: auto; aspect-ratio: 1.13; }
  .nagao-compare-v6-card-copy h3 { font-size: clamp(16px,4.6vw,19px); white-space: normal; }
  .nagao-compare-v6-card-copy p { font-size: clamp(13px,3.8vw,15px); }
  .nagao-compare-v6-points { padding: 32px 24px 25px; }
  .nagao-compare-v6-points li { justify-content: flex-start; padding-left: 14%; }
  .nagao-compare-v6-cta { font-size: 17px; }
  .nagao-compare-v6-background i:nth-child(2), .nagao-compare-v6-background i:nth-child(4) { opacity: .5; }
}

@media (max-width: 900px) {
  .nagao-compare-v6-plan { height: auto; grid-template-columns: 1fr; aspect-ratio: auto; gap: 12px; overflow: visible; }
  .nagao-compare-v6-plan-level { height: clamp(245px,70vw,300px); }
  .nagao-compare-v6-plan-level + .nagao-compare-v6-plan-level { border-left: 0; }
  .nagao-compare-v6-plan-art image { filter: none; }
}

@media (max-width: 350px) {
  .nagao-compare-v6-intro h2 span { display: block; }
  .nagao-compare-v6-cta { gap: 12px; padding-right: 20px; padding-left: 28px; font-size: 16px; }
}

/* Section 04 fidelity pass: 1672 × 941 reference */
.compare-v2 {
  --compare-navy: #17376b;
  --compare-aqua: #18b8d3;
  --compare-line: #9fdcf2;
  min-height: 0;
  padding: 76px clamp(28px, 5vw, 76px) 74px;
  color: var(--compare-navy);
  background: #fff;
}

.compare-v2::after { display: none; }

.compare-v2-background {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 32%, rgba(230,246,255,.82) 0 18%, transparent 18.2%),
    radial-gradient(circle at 94% 61%, rgba(237,248,254,.94) 0 19%, transparent 19.2%),
    linear-gradient(146deg, transparent 78%, rgba(236,248,255,.92) 78.1% 90%, transparent 90.1%);
  pointer-events: none;
}

.compare-v2-orbit {
  position: absolute;
  display: block;
  border: 2px dashed rgba(80,199,232,.32);
  border-radius: 50%;
}

.compare-v2-orbit-left {
  top: 20%;
  left: -14%;
  width: 24%;
  aspect-ratio: 1;
}

.compare-v2-orbit-right {
  top: -25%;
  right: 1.5%;
  width: 24%;
  aspect-ratio: 1;
}

.compare-v2-intro {
  position: relative;
  max-width: none;
  margin: 0 auto;
  text-align: center;
}

.compare-v2-intro h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(42px, 3.5vw, 58px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .12em;
}

.compare-v2-intro h2 span { display: inline; }

.compare-v2-intro > p {
  margin: 16px 0 0;
  font-size: clamp(14px, 1.05vw, 17px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .09em;
}

.compare-v2-handnote {
  position: absolute;
  top: 16px;
  right: 6%;
  color: #21b9dc;
  font-family: "Segoe Print", "Bradley Hand", cursive;
  font-size: clamp(15px, 1.25vw, 21px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .08em;
  transform: rotate(-5deg);
}

.compare-v2-handnote::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -14px;
  width: 132px;
  height: 36px;
  border-bottom: 2px solid currentColor;
  border-radius: 50%;
  transform: rotate(-8deg);
}

.compare-v2-handnote::before {
  content: "";
  position: absolute;
  top: 22px;
  left: -67px;
  width: 75px;
  height: 35px;
  border-bottom: 2px solid currentColor;
  border-radius: 50%;
  transform: rotate(24deg);
}

.compare-v2-cards {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(72px, 11vw, 164px);
  max-width: 1396px;
  margin: 28px auto 0;
}

.compare-v2-card {
  min-width: 0;
  overflow: hidden;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(92,159,196,.14);
  border-radius: 28px;
  box-shadow: 0 16px 35px rgba(39,85,121,.12);
}

.compare-v2-photo {
  position: relative;
  height: 268px;
  margin: 11px 11px 0;
  overflow: visible;
  border-radius: 19px 19px 0 0;
}

.compare-v2-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 43%;
  border-radius: inherit;
}

.compare-v2-card-b .compare-v2-photo img { object-position: 50% 44%; }

.compare-v2-photo::after {
  content: "";
  position: absolute;
  inset: 56% 0 0;
  border-radius: 0 0 18px 18px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.96));
  pointer-events: none;
}

.compare-v2-photo figcaption {
  position: absolute;
  left: 17px;
  bottom: -1px;
  z-index: 2;
  width: 98px;
  height: 98px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--compare-navy);
  border-radius: 50%;
  font-family: var(--serif);
  line-height: 1;
}

.compare-v2-card-b .compare-v2-photo figcaption { background: var(--compare-aqua); }
.compare-v2-photo figcaption strong { font-size: 45px; font-weight: 400; }
.compare-v2-photo figcaption span { margin: 15px 0 0 4px; font-size: 20px; }

.compare-v2-card-body { padding: 0 13px 13px; }

.compare-v2-card h3 {
  min-height: 89px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.42;
  text-align: center;
  letter-spacing: .09em;
}

.compare-v2-card h3 small { font-size: clamp(16px, 1.3vw, 21px); font-weight: 500; }
.compare-v2-card h3 strong { color: var(--compare-aqua); font-size: clamp(21px, 1.75vw, 29px); font-weight: 500; }

.compare-v2-fit-list {
  min-height: 98px;
  display: grid;
  align-content: center;
  gap: 6px;
  margin: 0;
  padding: 2px 20px 7px;
  list-style: none;
}

.compare-v2-fit-list li {
  position: relative;
  padding-left: 29px;
  font-size: clamp(11px, .95vw, 15px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .075em;
}

.compare-v2-fit-list li::before {
  content: "✓";
  position: absolute;
  top: .1em;
  left: 0;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--compare-aqua);
  border-radius: 50%;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
}

.compare-v2-specs {
  min-height: 134px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(67,186,224,.27);
  border-radius: 14px;
}

.compare-v2-specs > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 13px 5px 8px;
  text-align: center;
}

.compare-v2-specs > div + div { border-left: 1px solid rgba(67,186,224,.2); }
.compare-v2-specs svg { width: 43px; height: 43px; color: #18b7df; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.compare-v2-specs dt { margin-top: 4px; font-size: clamp(9px, .73vw, 12px); font-weight: 500; line-height: 1.45; }
.compare-v2-specs dd { margin: 3px 0 0; font-size: clamp(10px, .82vw, 13px); font-weight: 700; line-height: 1.45; letter-spacing: .02em; }

.compare-v2-bridge {
  position: absolute;
  top: 36.6%;
  left: 50%;
  z-index: 4;
  width: clamp(138px, 11.15vw, 186px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: var(--compare-aqua);
  border: 2px dashed rgba(38,185,219,.56);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  transform: translateX(-50%);
  text-align: center;
}

.compare-v2-bridge::before,
.compare-v2-bridge::after {
  content: "";
  position: absolute;
  top: 42%;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.compare-v2-bridge::before { left: -6px; border-right: 10px solid var(--compare-aqua); }
.compare-v2-bridge::after { right: -6px; border-left: 10px solid var(--compare-aqua); }

.compare-v2-bridge span {
  font-family: var(--serif);
  font-size: clamp(15px, 1.25vw, 21px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .08em;
}

.compare-v2-footer {
  max-width: 980px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(32px, 4vw, 62px);
  margin: 28px auto 0;
}

.compare-v2-cta {
  width: 472px;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  padding: 8px 10px 8px 77px;
  color: #fff;
  background: linear-gradient(100deg, #19bad3 0%, #13aec8 100%);
  border-radius: 999px;
  box-shadow: 0 13px 25px rgba(19,146,178,.2);
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .08em;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}

.compare-v2-cta:hover { transform: translateY(-3px); box-shadow: 0 17px 30px rgba(19,146,178,.26); }
.compare-v2-cta:focus-visible { outline: 3px solid rgba(23,55,107,.55); outline-offset: 4px; }
.compare-v2-cta i { width: 62px; height: 62px; display: grid; place-items: center; color: var(--compare-aqua); background: #fff; border-radius: 50%; }
.compare-v2-cta svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.compare-v2-schedule {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin: 0;
  font-size: clamp(13px, 1.02vw, 17px);
  font-weight: 600;
  letter-spacing: .075em;
  white-space: nowrap;
}

.compare-v2-schedule svg { width: 25px; height: 25px; color: var(--compare-aqua); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

@media (min-width: 1351px) {
  .compare-v2 {
    height: calc(100vw * 941 / 1672);
    min-height: 760px;
    max-height: 1080px;
    padding: 2.87% 8.25% 3.1%;
  }

  .compare-v2 > .section-mobile-index { display: none; }
  .compare-v2-intro > .section-context {
    position: absolute;
    top: -31px;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
  }
  .compare-v2-intro h2 { font-size: clamp(47px, 3.47vw, 58px); }
  .compare-v2-cards { height: clamp(504px, 37.32vw, 717px); margin-top: 1.05%; }
  .compare-v2-card { height: 100%; }
  .compare-v2-photo { height: 42.8%; }
  .compare-v2-card-body {
    height: 57.2%;
    display: grid;
    grid-template-rows: clamp(72px, 5.32vw, 102px) clamp(80px, 5.92vw, 114px) clamp(108px, 8.01vw, 154px);
    align-content: start;
  }
  .compare-v2-card h3, .compare-v2-fit-list, .compare-v2-specs { min-height: 0; }
  .compare-v2-footer { left: 6.5%; margin-top: 1.65%; }
  .compare-v2-specs dd { font-size: clamp(9px, .75vw, 12px); letter-spacing: -.02em; white-space: nowrap; }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .compare-v2 > .section-mobile-index { display: none; }
  .compare-v2-intro > .section-context { margin-inline: auto; }
  .compare-v2-handnote { right: 3%; }
  .compare-v2-cards { gap: 92px; margin-top: 52px; }
  .compare-v2-card { min-height: 590px; }
  .compare-v2-photo { height: 245px; }
  .compare-v2-card h3 small { font-size: 17px; }
  .compare-v2-card h3 strong { font-size: 23px; }
  .compare-v2-fit-list { padding-inline: 12px; }
  .compare-v2-fit-list li { font-size: 12px; letter-spacing: .03em; }
  .compare-v2-specs { min-height: 128px; }
  .compare-v2-specs svg { width: 35px; height: 35px; }
  .compare-v2-bridge { top: 37%; width: 145px; }
  .compare-v2-footer { margin-top: 36px; }
  .compare-v2-cta { width: 430px; min-height: 74px; padding-left: 55px; font-size: 20px; }
  .compare-v2-cta i { width: 56px; height: 56px; }
}

@media (max-width: 900px) {
  .compare-v2 { padding: 66px clamp(17px, 5vw, 42px) 62px; }
  .compare-v2 > .section-mobile-index { position: relative; top: auto; left: auto; display: block; margin-bottom: 20px; color: var(--compare-aqua); }
  .compare-v2-background { background: radial-gradient(circle at 8% 13%, rgba(230,246,255,.82) 0 12%, transparent 12.3%), radial-gradient(circle at 100% 63%, rgba(237,248,254,.94) 0 16%, transparent 16.3%); }
  .compare-v2-orbit-right { top: 2%; right: -28%; width: 62%; }
  .compare-v2-orbit-left { top: 43%; left: -43%; width: 72%; }
  .compare-v2-intro h2 { font-size: clamp(29px, 8vw, 39px); line-height: 1.45; letter-spacing: .07em; }
  .compare-v2-intro h2 span { display: block; white-space: nowrap; }
  .compare-v2-intro > p { max-width: 560px; margin: 16px auto 0; font-size: 13px; line-height: 1.9; letter-spacing: .04em; }
  .compare-v2-handnote { display: none; }
  .compare-v2-cards { grid-template-columns: minmax(0, 620px); justify-content: center; gap: 42px; margin-top: 42px; }
  .compare-v2-card { border-radius: 24px; }
  .compare-v2-photo { height: auto; aspect-ratio: 1.58; }
  .compare-v2-photo figcaption { left: 13px; width: 82px; height: 82px; }
  .compare-v2-photo figcaption strong { font-size: 36px; }
  .compare-v2-photo figcaption span { margin-top: 12px; font-size: 17px; }
  .compare-v2-card h3 { min-height: 90px; padding-top: 6px; }
  .compare-v2-card h3 small { font-size: clamp(15px, 4.3vw, 19px); }
  .compare-v2-card h3 strong { font-size: clamp(22px, 6vw, 27px); }
  .compare-v2-fit-list { min-height: 0; gap: 8px; padding: 4px 12px 20px; }
  .compare-v2-fit-list li { font-size: clamp(11px, 3.25vw, 14px); letter-spacing: .025em; }
  .compare-v2-card-b .compare-v2-fit-list li:nth-child(2) span { display: block; }
  .compare-v2-specs { min-height: 0; grid-template-columns: repeat(2, 1fr); }
  .compare-v2-specs > div { min-height: 116px; }
  .compare-v2-specs > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(67,186,224,.2); }
  .compare-v2-specs > div:nth-child(4) { border-top: 1px solid rgba(67,186,224,.2); }
  .compare-v2-specs svg { width: 39px; height: 39px; }
  .compare-v2-specs dt { font-size: 10px; }
  .compare-v2-specs dd { font-size: 12px; }
  .compare-v2-bridge { position: relative; top: auto; left: auto; width: 145px; margin: 4px auto; transform: none; }
  .compare-v2-bridge span { font-size: 16px; }
  .compare-v2-footer { flex-direction: column; gap: 20px; margin-top: 38px; }
  .compare-v2-cta { width: min(100%, 472px); min-height: 68px; padding: 7px 8px 7px 30px; font-size: clamp(16px, 4.7vw, 21px); }
  .compare-v2-cta i { width: 52px; height: 52px; }
  .compare-v2-cta svg { width: 25px; height: 25px; }
  .compare-v2-schedule { font-size: clamp(12px, 3.55vw, 15px); }
}

@media (max-width: 390px) {
  .compare-v2-card-body { padding-inline: 9px; }
  .compare-v2-fit-list { padding-inline: 6px; }
  .compare-v2-fit-list li { padding-left: 25px; font-size: 11px; }
  .compare-v2-fit-list li::before { width: 17px; height: 17px; }
  .compare-v2-cta { padding-left: 24px; font-size: 16px; }
}

/* Section 05 fidelity pass: 1672 × 941 reference */
.nagao-v5 {
  --nagao-v5-navy: #04255a;
  --nagao-v5-heading: #061b50;
  --nagao-v5-cyan: #01afcd;
  --nagao-v5-pale: #eef8fd;
  --nagao-v5-border: #cdeef6;
  --nagao-v5-divider: #d8e4ed;
  min-height: 0;
  padding: 76px clamp(20px, 5vw, 76px) 70px;
  color: var(--nagao-v5-navy);
  background: #fff;
}

.nagao-v5::after { display: none; }
.nagao-v5 figure,
.nagao-v5 dl,
.nagao-v5 dt,
.nagao-v5 dd { margin: 0; }

.nagao-v5-background {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(ellipse 38% 45% at 7% 99%, rgba(233,247,254,.88) 0 61%, transparent 61.4%),
    radial-gradient(ellipse 31% 48% at 103% 42%, rgba(239,249,254,.84) 0 55%, transparent 55.4%),
    radial-gradient(ellipse 35% 25% at 94% 103%, rgba(236,248,254,.72) 0 58%, transparent 58.4%),
    #fff;
}

.nagao-v5-background::before {
  content: "";
  position: absolute;
  top: 6.8%;
  left: 20.5%;
  width: 215px;
  height: 215px;
  border: 2px dashed rgba(79,194,230,.26);
  border-radius: 50%;
}

.nagao-v5-intro { position: relative; max-width: 590px; }
.nagao-v5-intro > .venue-context { margin-bottom: 14px; }

.nagao-v5-script {
  width: fit-content;
  margin: 0;
  color: var(--nagao-v5-cyan);
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(30px, 2.5vw, 42px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.055em;
  transform: rotate(-7deg);
  transform-origin: left center;
}

.nagao-v5-intro h2 {
  margin: 23px 0 0;
  color: var(--nagao-v5-heading);
  font-family: var(--serif);
  font-size: clamp(42px, 3.35vw, 56px);
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: .055em;
}

.nagao-v5-title-line { display: block; }
.nagao-v5-title-line > em { margin-inline: .12em; font-style: normal; }
.nagao-v5-title-line > strong { color: var(--nagao-v5-cyan); font-size: 1.28em; font-weight: 500; line-height: 0; }

.nagao-v5-rule {
  width: 59px;
  height: 2px;
  display: block;
  margin-top: 24px;
  background: var(--nagao-v5-cyan);
}

.nagao-v5-lead {
  margin: 31px 0 0;
  color: var(--nagao-v5-heading);
  font-size: clamp(15px, 1.14vw, 19px);
  font-weight: 600;
  line-height: 2.05;
  letter-spacing: .085em;
}
.nagao-v5-lead > span { display: block; }

.nagao-v5-mobile-break { display: inline; }

.nagao-v5-points {
  width: min(100%, 470px);
  margin: 44px auto 0;
  padding: 27px 24px 25px;
  color: var(--nagao-v5-navy);
  background: rgba(255,255,255,.75);
  border: 1.5px solid var(--nagao-v5-border);
  border-radius: 34px;
  text-align: center;
}

.nagao-v5-points > p { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.nagao-v5-points > strong { display: inline-block; margin-top: 4px; color: var(--nagao-v5-cyan); font-family: var(--serif); font-size: 56px; font-weight: 500; line-height: .95; }
.nagao-v5-points > span { display: inline-block; margin-left: 7px; font-size: 12px; font-weight: 700; line-height: 1.35; text-align: left; }
.nagao-v5-points ul { display: flex; justify-content: center; gap: 22px; padding: 0; margin: 21px 0 0; list-style: none; }
.nagao-v5-points li { position: relative; padding-left: 24px; font-size: 14px; font-weight: 700; }
.nagao-v5-points li::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--nagao-v5-cyan);
  border-radius: 50%;
  font-size: 11px;
  line-height: 1;
  transform: translateY(-50%);
}

.nagao-v5-sketch {
  display: none;
  color: rgba(1,175,205,.73);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nagao-v5-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 48px;
}

.nagao-v5-card {
  min-width: 0;
  overflow: hidden;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(11,55,98,.04);
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(15,54,93,.09), 0 2px 8px rgba(15,54,93,.04);
}

.nagao-v5-card figure {
  overflow: hidden;
  margin: 10px 10px 0;
  border-radius: 14px;
  aspect-ratio: 1.23;
}

.nagao-v5-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.nagao-v5-card-body { padding-inline: 18px; }

.nagao-v5-card header {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 22px;
  border-bottom: 1px dashed var(--nagao-v5-divider);
}

.nagao-v5-card header > span {
  min-width: 83px;
  height: 36px;
  display: grid;
  place-items: center;
  padding-inline: 14px;
  color: #fff;
  background: var(--nagao-v5-navy);
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
}

.nagao-v5-card h3 {
  margin: 0;
  color: var(--nagao-v5-heading);
  font-family: var(--serif);
  font-size: clamp(21px, 1.7vw, 29px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .08em;
  white-space: nowrap;
}

.nagao-v5-price {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  color: var(--nagao-v5-cyan);
}

.nagao-v5-price strong { font-family: var(--serif); font-size: clamp(40px, 3vw, 50px); font-weight: 500; line-height: 1; letter-spacing: .04em; }
.nagao-v5-price span { align-self: flex-end; margin-bottom: 27px; color: var(--nagao-v5-navy); font-size: 15px; font-weight: 700; }

.nagao-v5-specs {
  min-height: 124px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-bottom: 17px;
}

.nagao-v5-specs > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 9px;
  padding: 0 8px;
}

.nagao-v5-specs > div + div { border-left: 1px solid var(--nagao-v5-divider); }
.nagao-v5-specs svg { grid-column: 1; grid-row: 1 / 3; align-self: start; width: 30px; height: 30px; color: var(--nagao-v5-navy); stroke-width: 1.55; }
.nagao-v5-specs dt { align-self: end; font-size: 12px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.nagao-v5-specs dd { align-self: start; margin-top: 7px; font-family: var(--serif); font-size: clamp(13px, 1vw, 17px); font-weight: 600; line-height: 1.35; letter-spacing: .015em; }

.nagao-v5-footer {
  position: relative;
  min-height: 132px;
  display: grid;
  grid-template-columns: 1.35fr .85fr 1.25fr;
  align-items: center;
  gap: 24px;
  margin-top: 48px;
  padding: 22px 24px 22px 32px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(215,232,242,.7);
  border-radius: 17px;
  box-shadow: 0 6px 24px rgba(20,66,105,.10);
}

.nagao-v5-footer-copy {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
}

.nagao-v5-footer-copy span { color: var(--nagao-v5-cyan); font-family: "Segoe Script", "Bradley Hand", cursive; font-size: clamp(22px, 1.8vw, 30px); line-height: 1; letter-spacing: -.05em; transform: rotate(-7deg); white-space: nowrap; }
.nagao-v5-footer-copy strong { font-family: var(--serif); font-size: clamp(19px, 1.55vw, 26px); font-weight: 500; letter-spacing: .1em; white-space: nowrap; }

.nagao-v5-schedule {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  padding-left: 34px;
  border-left: 1px solid var(--nagao-v5-divider);
  font-size: clamp(14px, 1.18vw, 20px);
  font-weight: 700;
  letter-spacing: .055em;
  white-space: nowrap;
}

.nagao-v5-schedule svg { flex: 0 0 auto; width: 34px; height: 34px; color: var(--nagao-v5-cyan); stroke-width: 1.7; }

.nagao-v5-cta {
  width: 100%;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 10px 42px;
  color: #fff;
  background: linear-gradient(110deg, #05b1cf, #01a9c8);
  border-radius: 999px;
  box-shadow: 0 7px 16px rgba(0,159,190,.15);
  font-size: clamp(18px, 1.42vw, 24px);
  font-weight: 500;
  letter-spacing: .14em;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}

.nagao-v5-cta:hover { box-shadow: 0 12px 24px rgba(0,159,190,.23); transform: translateY(-2px); }
.nagao-v5-cta:focus-visible { outline: 3px solid rgba(4,37,90,.45); outline-offset: 4px; }
.nagao-v5-cta i { width: 64px; height: 64px; display: grid; flex: 0 0 auto; place-items: center; color: var(--nagao-v5-cyan); background: #fff; border-radius: 50%; }
.nagao-v5-cta svg { width: 28px; height: 28px; stroke-width: 1.7; }

@media (min-width: 1351px) {
  .nagao-v5 {
    width: 100%;
    height: clamp(800px, 56.28vw, 941px);
    min-height: clamp(800px, 56.28vw, 941px);
    padding: 0;
  }

  .nagao-v5 > .section-mobile-index { display: none; }

  .nagao-v5-intro {
    position: absolute;
    top: 10.95%;
    left: 4.67%;
    width: 38%;
    max-width: none;
  }

  .nagao-v5-intro > .venue-context {
    position: absolute;
    top: 2px;
    right: 0;
    margin: 0;
  }

  .nagao-v5-script { font-size: clamp(28px, 1.92vw, 32px); }
  .nagao-v5-intro h2 { margin-top: 24px; font-size: clamp(39px, calc(2.8vw + 1px), 48px); line-height: 1.52; letter-spacing: .035em; }
  .nagao-v5-title-line { white-space: nowrap; }
  .nagao-v5-lead { font-size: clamp(15px, 1.08vw, 18px); }

  .nagao-v5-points {
    position: absolute;
    top: 39.43%;
    left: 30.26%;
    width: 9.15%;
    height: 36.13%;
    display: block;
    margin: 0;
    padding: 35px 13px 24px;
    border-radius: 999px;
  }

  .nagao-v5-points > p { font-size: clamp(10px, .78vw, 13px); white-space: nowrap; }
  .nagao-v5-points > strong { display: block; margin-top: 8px; font-size: clamp(48px, 3.58vw, 60px); }
  .nagao-v5-points > span { margin: 5px 0 0; font-size: clamp(10px, .72vw, 12px); text-align: center; }
  .nagao-v5-points ul { display: grid; justify-content: stretch; gap: clamp(12px, 1.28vw, 21px); margin-top: 23px; text-align: left; }
  .nagao-v5-points li { padding-left: 27px; font-size: clamp(12px, .96vw, 16px); white-space: nowrap; }

  .nagao-v5-sketch {
    position: absolute;
    top: 60%;
    left: 2.05%;
    width: 18.1%;
    height: 15.9%;
    display: block;
  }

  .nagao-v5-cards {
    position: absolute;
    top: 7.86%;
    left: 43.24%;
    width: 52.81%;
    height: 68.54%;
    gap: .72%;
    margin: 0;
  }

  .nagao-v5-card { height: 100%; }
  .nagao-v5-card figure { height: 51.63%; aspect-ratio: auto; }
  .nagao-v5-card-body { height: calc(48.37% - 10px); }
  .nagao-v5-card header { height: 27.15%; min-height: 0; }
  .nagao-v5-card header > span { min-width: clamp(70px, 4.96vw, 83px); height: clamp(31px, 2.15vw, 36px); font-size: clamp(13px, .96vw, 16px); }
  .nagao-v5-card h3 { font-size: clamp(21px, 1.62vw, 27px); }
  .nagao-v5-price { height: 31.8%; min-height: 0; }
  .nagao-v5-price strong { font-size: clamp(39px, 2.87vw, 48px); }
  .nagao-v5-price span { margin-bottom: 22px; font-size: clamp(12px, .9vw, 15px); }
  .nagao-v5-specs { height: 41.05%; min-height: 0; padding-bottom: 13px; }
  .nagao-v5-specs > div { grid-template-columns: clamp(25px, 1.8vw, 30px) 1fr; column-gap: clamp(5px, .54vw, 9px); padding-inline: clamp(3px, .48vw, 8px); }
  .nagao-v5-specs svg { width: clamp(25px, 1.8vw, 30px); height: clamp(25px, 1.8vw, 30px); }
  .nagao-v5-specs dt { font-size: clamp(10px, .78vw, 13px); }
  .nagao-v5-specs dd { margin-top: 5px; font-size: clamp(11px, .9vw, 15px); }

  .nagao-v5-footer {
    position: absolute;
    bottom: 4.46%;
    left: 4.31%;
    width: 91.75%;
    height: 14.03%;
    min-height: 0;
    display: block;
    margin: 0;
    padding: 0;
  }

  .nagao-v5-footer-copy { position: absolute; top: 0; left: 2.1%; width: 39%; height: 100%; }
  .nagao-v5-footer-copy span { font-size: clamp(20px, 1.67vw, 28px); }
  .nagao-v5-footer-copy strong { font-size: clamp(19px, 1.43vw, 24px); }
  .nagao-v5-schedule { position: absolute; top: 28%; left: 42.2%; height: 44%; min-height: 0; padding-left: 3%; font-size: clamp(14px, 1.08vw, 18px); }
  .nagao-v5-schedule svg { width: clamp(27px, 2.03vw, 34px); height: clamp(27px, 2.03vw, 34px); }
  .nagao-v5-cta { position: absolute; top: 18.2%; right: 6.97%; width: 31.82%; height: 63.64%; min-height: 0; padding-left: 8.2%; font-size: clamp(18px, 1.31vw, 22px); }
  .nagao-v5-cta i { width: clamp(52px, 3.83vw, 64px); height: clamp(52px, 3.83vw, 64px); }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .nagao-v5 > .section-mobile-index { display: none; }
  .nagao-v5-intro { max-width: 760px; margin-inline: auto; text-align: center; }
  .nagao-v5-intro > .venue-context { margin-inline: auto; }
  .nagao-v5-script { margin-inline: auto; }
  .nagao-v5-rule { margin-inline: auto; }
  .nagao-v5-points { max-width: 620px; }
  .nagao-v5-cards { margin-top: 54px; }
  .nagao-v5-card header { gap: 13px; }
  .nagao-v5-card h3 { font-size: 20px; }
  .nagao-v5-specs { grid-template-columns: 1fr; padding-bottom: 18px; }
  .nagao-v5-specs > div { min-height: 70px; grid-template-columns: 38px 1fr; padding: 10px 16px; }
  .nagao-v5-specs > div + div { border-top: 1px solid var(--nagao-v5-divider); border-left: 0; }
  .nagao-v5-footer { grid-template-columns: 1fr 1fr; }
  .nagao-v5-footer-copy { grid-column: 1 / -1; justify-content: center; }
}

@media (max-width: 900px) {
  .nagao-v5 { padding: 70px clamp(17px, 5vw, 42px) 62px; }
  .nagao-v5 > .section-mobile-index { display: block; margin-bottom: 26px; color: var(--nagao-v5-cyan); }
  .nagao-v5-background::before { top: 4%; left: 48%; width: 170px; height: 170px; }
  .nagao-v5-intro { max-width: 610px; margin-inline: auto; }
  .nagao-v5-script { font-size: clamp(29px, 8vw, 40px); }
  .nagao-v5-intro h2 { margin-top: 20px; font-size: clamp(31px, 8.5vw, 43px); line-height: 1.56; }
  .nagao-v5-title-line { white-space: normal; }
  .nagao-v5-title-line > em { margin-inline: .04em; }
  .nagao-v5-rule { margin-top: 26px; }
  .nagao-v5-lead { margin-top: 27px; font-size: clamp(13px, 3.7vw, 16px); line-height: 2; }
  .nagao-v5-lead > span { white-space: nowrap; }
  .nagao-v5-mobile-break { display: block; }
  .nagao-v5-points { padding: 24px 18px; }
  .nagao-v5-points ul { flex-wrap: wrap; gap: 13px 19px; }
  .nagao-v5-sketch { display: none; }
  .nagao-v5-cards { grid-template-columns: minmax(0, 620px); justify-content: center; gap: 30px; margin-top: 42px; }
  .nagao-v5-card figure { aspect-ratio: 1.27; }
  .nagao-v5-card header { min-height: 76px; gap: 15px; }
  .nagao-v5-card h3 { font-size: clamp(19px, 5.2vw, 25px); }
  .nagao-v5-price { min-height: 88px; }
  .nagao-v5-price strong { font-size: clamp(37px, 10.5vw, 48px); }
  .nagao-v5-specs { min-height: 118px; }
  .nagao-v5-specs > div { grid-template-columns: 30px 1fr; column-gap: 6px; padding-inline: 5px; }
  .nagao-v5-specs svg { width: 27px; height: 27px; }
  .nagao-v5-specs dt { font-size: clamp(9px, 2.75vw, 12px); }
  .nagao-v5-specs dd { font-size: clamp(11px, 3.15vw, 14px); }
  .nagao-v5-footer { grid-template-columns: 1fr; gap: 19px; margin-top: 34px; padding: 28px 18px 18px; text-align: center; }
  .nagao-v5-footer-copy { justify-content: center; flex-wrap: wrap; gap: 13px 22px; }
  .nagao-v5-footer-copy strong { font-size: clamp(18px, 5vw, 23px); }
  .nagao-v5-schedule { justify-content: center; min-height: 0; padding: 16px 0 0; border-top: 1px solid var(--nagao-v5-divider); border-left: 0; font-size: clamp(13px, 3.7vw, 16px); }
  .nagao-v5-cta { min-height: 68px; padding: 8px 9px 8px 28px; font-size: clamp(16px, 4.8vw, 20px); }
  .nagao-v5-cta i { width: 52px; height: 52px; }
}

@media (max-width: 390px) {
  .nagao-v5 { padding-inline: 16px; }
  .nagao-v5-intro h2 { font-size: 26px; letter-spacing: .025em; }
  .nagao-v5-title-line { white-space: nowrap; }
  .nagao-v5-points li { font-size: 12px; }
  .nagao-v5-card-body { padding-inline: 13px; }
  .nagao-v5-card header > span { min-width: 70px; height: 33px; font-size: 14px; }
  .nagao-v5-card h3 { font-size: 18px; letter-spacing: .04em; }
  .nagao-v5-specs > div { padding-inline: 3px; }
  .nagao-v5-specs dt { font-size: 9px; }
  .nagao-v5-specs dd { font-size: 11px; }
  .nagao-v5-cta { padding-left: 24px; font-size: 16px; }
}

@media (max-width: 350px) {
  .nagao-v5-intro h2 { font-size: 22px; }
  .nagao-v5-cta { padding-left: 18px; font-size: 14px; letter-spacing: .06em; }
  .nagao-v5-cta i { width: 48px; height: 48px; }
}

/* Section 07 fidelity pass: 1672 × 941 reference */
.kozu-v7 {
  --kozu-v7-navy: #0a3561;
  --kozu-v7-copy: #153e69;
  --kozu-v7-cyan: #08b9d8;
  --kozu-v7-pale: #eff9fd;
  --kozu-v7-line: #dfeff6;
  min-height: 0;
  padding: 74px clamp(18px, 5vw, 58px) 64px;
  color: var(--kozu-v7-navy);
  background: #fefefe;
}

.kozu-v7::after { display: none; }

.kozu-v7-background {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  pointer-events: none;
}

.kozu-v7-background i { position: absolute; display: block; border-radius: 50%; }
.kozu-v7-background i:nth-child(1) { top: 7%; left: 4%; width: 16.5%; aspect-ratio: 1; background: radial-gradient(circle at 44% 44%,rgba(228,244,252,.94),rgba(243,250,254,.5) 72%,transparent 73%); }
.kozu-v7-background i:nth-child(2) { top: 11.2%; left: 9.9%; width: 10.5%; aspect-ratio: 1; border-radius: 0; background-image: radial-gradient(circle,rgba(41,193,225,.34) 1.55px,transparent 1.7px); background-size: 14px 14px; }
.kozu-v7-background i:nth-child(3) { top: 21%; right: -15.8%; width: 35%; aspect-ratio: 1; background: radial-gradient(circle at 32% 45%,rgba(237,248,253,.96),rgba(248,252,254,.55) 70%,transparent 71%); }
.kozu-v7-background i:nth-child(4) { right: -9%; bottom: -35%; width: 42%; aspect-ratio: 1; background: radial-gradient(circle at 34% 26%,rgba(232,247,253,.88),rgba(249,253,255,.3) 72%,transparent 73%); }

.kozu-v7 > .section-mobile-index { position: relative; z-index: 2; margin-bottom: 26px; color: var(--kozu-v7-cyan); }

.kozu-v7-intro { position: relative; max-width: 720px; margin: 0 auto; }
.kozu-v7-intro > .venue-context { margin-inline: auto; }
.kozu-v7-intro h2 { margin: 0; color: var(--kozu-v7-navy); font-family: var(--serif); font-size: clamp(34px,5vw,52px); font-weight: 500; line-height: 1.42; letter-spacing: .075em; }
.kozu-v7-intro h2 > span { display: block; }
.kozu-v7-intro p > span { display: inline; }
.kozu-v7-intro p { margin: 18px 0 0; padding: 0 0 18px; color: var(--kozu-v7-copy); border-bottom: 1px solid var(--kozu-v7-line); font-family: var(--serif); font-size: clamp(14px,1.7vw,17px); font-weight: 500; line-height: 1.8; letter-spacing: .065em; }

.kozu-v7-media { position: relative; width: min(100%,614px); margin: 42px auto 0; }
.kozu-v7-media figure { width: 100%; aspect-ratio: .92; margin: 0; overflow: hidden; background: var(--kozu-v7-pale); border-radius: 82px 62px 28px 82px; }
.kozu-v7-media img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 50%; }
.kozu-v7-media > p { width: fit-content; margin: -8px 0 0 -2%; color: #71caee; font-family: "Segoe Script","Bradley Hand","Brush Script MT",cursive; font-size: clamp(29px,5vw,38px); font-weight: 400; line-height: 1.35; letter-spacing: -.045em; transform: rotate(-8deg); }
.kozu-v7-media > p::after { width: 280px; height: 2px; display: block; margin-top: 4px; background: #71caee; content: ""; transform: rotate(-7deg); transform-origin: left center; }

.kozu-v7-details { width: min(100%,680px); margin: 58px auto 0; }

.kozu-v7-price { min-height: 108px; display: grid; grid-template-columns: 116px 1fr; align-items: center; column-gap: 10px; padding: 0 10px; border-bottom: 1px solid var(--kozu-v7-line); font-family: var(--serif); }
.kozu-v7-price > span { font-size: 17px; font-weight: 600; letter-spacing: .06em; }
.kozu-v7-price p { display: flex; align-items: baseline; gap: 12px; margin: 0; }
.kozu-v7-price strong { color: var(--kozu-v7-cyan); font-family: Georgia,"Times New Roman",serif; font-size: clamp(66px,9vw,86px); font-weight: 400; line-height: .95; letter-spacing: .035em; }
.kozu-v7-price em { color: var(--kozu-v7-cyan); font-size: clamp(22px,3.4vw,29px); font-style: normal; font-weight: 500; letter-spacing: .08em; }
.kozu-v7-price small { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.kozu-v7-specs { display: grid; grid-template-columns: 1fr 1.08fr; gap: 18px 36px; margin: 20px 8px 0; }
.kozu-v7-specs > div { position: relative; min-height: 54px; padding: 3px 0 0 64px; }
.kozu-v7-specs dt { margin: 0; color: var(--kozu-v7-copy); font-family: var(--serif); font-size: 12px; font-weight: 600; line-height: 1.35; letter-spacing: .06em; }
.kozu-v7-specs dt i { position: absolute; top: 0; left: 0; width: 52px; height: 52px; display: grid; place-items: center; color: #285b82; background: linear-gradient(145deg,#e5f6fb,#f5fbfd); border-radius: 50%; }
.kozu-v7-specs dt svg { width: 25px; height: 25px; stroke-width: 1.45; }
.kozu-v7-specs dd { margin: 2px 0 0; color: var(--kozu-v7-navy); font-family: var(--serif); font-size: 17px; font-weight: 600; line-height: 1.35; letter-spacing: .025em; white-space: nowrap; }
.kozu-v7-walk { white-space: nowrap; }

.kozu-v7-features { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 0; margin: 21px 0 0; list-style: none; }
.kozu-v7-features li { min-width: 0; min-height: 49px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 10px; color: var(--kozu-v7-copy); background: rgba(255,255,255,.97); border-radius: 999px; box-shadow: 0 7px 18px rgba(8,57,103,.08); font-family: var(--serif); font-size: 13px; font-weight: 600; line-height: 1.2; letter-spacing: .03em; text-align: center; white-space: nowrap; }
.kozu-v7-features li::before { width: 16px; height: 16px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: var(--kozu-v7-cyan); border-radius: 50%; content: "✓"; font-family: Arial,sans-serif; font-size: 10px; font-weight: 700; line-height: 1; }

.kozu-v7-plan { height: 222px; display: grid; grid-template-columns: 55% 45%; gap: 0; margin: 20px 0 0; padding: 18px 20px; overflow: hidden; background: rgba(255,255,255,.98); border-radius: 14px; box-shadow: 0 12px 30px rgba(8,57,103,.09); }
.kozu-v7-floor { position: relative; min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; }
.kozu-v7-floor > span { position: absolute; top: 2px; left: 2px; z-index: 2; width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--kozu-v7-navy); border-radius: 50%; font-family: Georgia,"Times New Roman",serif; font-size: 14px; font-weight: 600; }
.kozu-v7-floor svg { width: calc(100% - 24px); height: 100%; overflow: visible; }
.kozu-v7-floor--first svg { width: calc(100% - 12px); }

.kozu-v7-cta-wrap { width: min(100%,397px); margin: 18px auto 0; }
.kozu-v7-cta { width: 100%; min-height: 63px; display: flex; align-items: center; justify-content: space-between; padding: 8px 9px 8px 104px; color: #fff; background: linear-gradient(90deg,#00b7d5,#07bedb); border-radius: 999px; box-shadow: 0 8px 18px rgba(0,154,190,.19); font-family: var(--serif); font-size: 19px; font-weight: 500; line-height: 1; letter-spacing: .12em; transition: transform .2s ease,box-shadow .2s ease; }
.kozu-v7-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,154,190,.25); }
.kozu-v7-cta:focus-visible { outline: 3px solid rgba(8,47,93,.4); outline-offset: 4px; }
.kozu-v7-cta i { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; color: var(--kozu-v7-cyan); background: #fff; border-radius: 50%; }
.kozu-v7-cta svg { width: 22px; height: 22px; stroke-width: 1.8; }

@media (min-width: 1351px) {
  .kozu-v7 { width: 100%; height: clamp(820px,56.28vw,941px); min-height: clamp(820px,56.28vw,941px); padding: 0; }
  .kozu-v7 > .section-mobile-index { display: none; }

  .kozu-v7-intro { position: absolute; top: 6.38%; left: 51.2%; width: 40.05%; max-width: none; margin: 0; }
  .kozu-v7-intro > .venue-context { position: absolute; top: -44px; left: 0; margin: 0; }
  .kozu-v7-intro h2 { font-size: clamp(39px,2.85vw,48px); line-height: 1.22; white-space: nowrap; }
  .kozu-v7-intro p { margin-top: 10px; padding-bottom: 6px; font-size: 14px; line-height: 1.55; white-space: nowrap; }

  .kozu-v7-media { position: absolute; top: 14.35%; left: 8.61%; width: 36.72%; height: 70.88%; max-width: none; margin: 0; }
  .kozu-v7-media figure { height: 100%; aspect-ratio: auto; border-radius: 90px 64px 28px 86px; }
  .kozu-v7-media > p { position: absolute; left: -8.5%; bottom: -13%; margin: 0; font-size: clamp(31px,2.27vw,38px); }

  .kozu-v7-details { position: absolute; top: 26.86%; left: 50.66%; width: 40.67%; max-width: none; margin: 0; }
  .kozu-v7-price { height: clamp(96px,6.5vw,109px); min-height: 0; grid-template-columns: 116px 1fr; }
  .kozu-v7-price strong { font-size: clamp(72px,5.15vw,86px); }
  .kozu-v7-price em { font-size: clamp(24px,1.74vw,29px); }
  .kozu-v7-specs { gap: clamp(14px,1.08vw,18px) clamp(27px,2.15vw,36px); margin-top: clamp(16px,1.2vw,20px); }
  .kozu-v7-specs > div { min-height: clamp(48px,3.23vw,54px); padding-left: clamp(56px,3.83vw,64px); }
  .kozu-v7-specs dt i { width: clamp(47px,3.11vw,52px); height: clamp(47px,3.11vw,52px); }
  .kozu-v7-specs dt { font-size: clamp(11px,.72vw,12px); }
  .kozu-v7-specs dd { font-size: clamp(14px,1.02vw,17px); }
  .kozu-v7-features { margin-top: clamp(17px,1.25vw,21px); }
  .kozu-v7-features li { min-height: clamp(44px,2.93vw,49px); font-size: clamp(11px,.78vw,13px); }
  .kozu-v7-plan { height: clamp(195px,13.28vw,222px); margin-top: clamp(17px,1.2vw,20px); }
  .kozu-v7-cta-wrap { width: 58.3%; margin-top: clamp(15px,1.08vw,18px); }
  .kozu-v7-cta { min-height: clamp(56px,3.77vw,63px); font-size: clamp(16px,1.14vw,19px); }
  .kozu-v7-cta i { width: clamp(39px,2.63vw,44px); height: clamp(39px,2.63vw,44px); }
}

@media (max-width: 1350px) {
  .kozu-v7-intro { text-align: center; }
  .kozu-v7-media { margin-top: 38px; }
  .kozu-v7-details { margin-top: 70px; }
}

@media (max-width: 720px) {
  .kozu-v7 { padding: 68px 20px 62px; }
  .kozu-v7 > .section-mobile-index { display: block; }
  .kozu-v7-intro { text-align: left; }
  .kozu-v7-intro > .venue-context { margin-inline: 0; }
  .kozu-v7-intro h2 { font-size: clamp(29px,8.2vw,36px); line-height: 1.58; letter-spacing: .045em; }
  .kozu-v7-intro h2 > span { white-space: normal; }
  .kozu-v7-intro p { margin-top: 17px; font-size: clamp(13px,3.65vw,15px); line-height: 1.95; }
  .kozu-v7-intro p > span { display: block; }
  .kozu-v7-media { margin-top: 34px; }
  .kozu-v7-media figure { aspect-ratio: .9; border-radius: 58px 45px 22px 58px; }
  .kozu-v7-media img { object-position: 44% 50%; }
  .kozu-v7-media > p { margin-top: -5px; font-size: clamp(27px,8vw,34px); }
  .kozu-v7-media > p::after { width: 210px; }
  .kozu-v7-details { margin-top: 58px; }
  .kozu-v7-price { min-height: 94px; grid-template-columns: 90px 1fr; padding-inline: 0; }
  .kozu-v7-price > span { font-size: 14px; }
  .kozu-v7-price p { gap: 7px; }
  .kozu-v7-price strong { font-size: clamp(54px,15.5vw,66px); }
  .kozu-v7-price em { font-size: clamp(19px,5.5vw,24px); }
  .kozu-v7-specs { grid-template-columns: 1fr; gap: 15px; margin: 22px 0 0; }
  .kozu-v7-specs > div { min-height: 54px; }
  .kozu-v7-specs dd { font-size: 15px; white-space: normal; }
  .kozu-v7-features { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
  .kozu-v7-features li { min-height: 48px; padding-inline: 7px; font-size: clamp(11px,3.15vw,13px); white-space: normal; }
  .kozu-v7-plan { height: auto; grid-template-columns: 1fr; gap: 8px; padding: 18px 14px; }
  .kozu-v7-floor { min-height: 210px; }
  .kozu-v7-floor svg,.kozu-v7-floor--first svg { width: calc(100% - 8px); }
  .kozu-v7-cta-wrap { margin-top: 22px; }
  .kozu-v7-cta { min-height: 60px; padding-left: 73px; font-size: 17px; }
}

@media (max-width: 390px) {
  .kozu-v7 { padding-inline: 16px; }
  .kozu-v7-intro h2 { font-size: 27px; }
  .kozu-v7-divider { display: inline; }
  .kozu-v7-price { grid-template-columns: 80px 1fr; }
  .kozu-v7-price strong { font-size: 52px; }
  .kozu-v7-features li { font-size: 11px; }
  .kozu-v7-cta { padding-left: 62px; }
}

@media (max-width: 350px) {
  .kozu-v7-title-location,.kozu-v7-title-home { display: block; }
  .kozu-v7-price { grid-template-columns: 72px 1fr; }
  .kozu-v7-price p { gap: 2px; white-space: nowrap; }
  .kozu-v7-price strong { font-size: 48px; letter-spacing: .01em; }
  .kozu-v7-price em { font-size: 18px; letter-spacing: .03em; white-space: nowrap; }
}

/* Section 08 — on-site viewing reasons */
.kozu-features-v8 {
  --kozu-v8-navy: #0a3561;
  --kozu-v8-copy: #153e69;
  --kozu-v8-cyan: #08b9d8;
  --kozu-v8-pale: #eff9fd;
  --kozu-v8-line: #c8e3ee;
  position: relative;
  overflow: hidden;
  color: var(--kozu-v8-navy);
  background: linear-gradient(180deg,#c9e8ff 0%,#eaf6ff 72%,#fff 100%);
}

.kozu-features-v8::after { display: none; }

.kozu-features-v8-shape {
  position: absolute;
  z-index: 1;
  top: -61.64%;
  left: -20.93%;
  width: 69.38%;
  height: 223.17%;
  overflow: hidden;
  background: rgba(238,248,253,.82);
  border-radius: 50%;
  pointer-events: none;
}

.kozu-features-v8-shape::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2.58%;
  width: 100%;
  background: #fff;
  border-radius: inherit;
  content: "";
}

.kozu-features-v8 > .section-mobile-index { position: relative; z-index: 4; color: var(--kozu-v8-cyan); }

.kozu-features-v8-intro,
.kozu-features-v8-points,
.kozu-features-v8-actions { position: relative; z-index: 3; }

.kozu-features-v8-script {
  width: fit-content;
  margin: 0;
  color: var(--kozu-v8-cyan);
  font-family: "Segoe Script","Bradley Hand","Brush Script MT",cursive;
  font-size: clamp(30px,4vw,38px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -.035em;
  transform: rotate(-7deg);
}

.kozu-features-v8-intro::before { position: absolute; z-index: -1; top: 3px; left: 245px; width: 250px; height: 250px; border: 2px dotted rgba(8,185,216,.28); border-radius: 50%; content: ""; pointer-events: none; }

.kozu-features-v8-intro h2 {
  margin: 24px 0 0;
  color: var(--kozu-v8-navy);
  font-family: var(--serif);
  font-size: clamp(40px,5vw,58px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .065em;
}

.kozu-features-v8-intro h2 > span { display: block; white-space: nowrap; }
.kozu-features-v8-intro h2 > span + span { font-size: 1.296em; line-height: 1.22; letter-spacing: .04em; }
.kozu-features-v8-intro h2 em { position: relative; margin-left: .12em; color: var(--kozu-v8-cyan); font-style: normal; }
.kozu-features-v8-intro h2 em::after { position: absolute; z-index: -1; right: -.08em; bottom: .08em; left: -.04em; height: .15em; background: rgba(8,185,216,.14); content: ""; transform: rotate(-2deg); }

.kozu-features-v8-lead { margin: 23px 0 0; color: var(--kozu-v8-copy); font-family: var(--serif); font-size: clamp(15px,1.7vw,18px); font-weight: 500; line-height: 2.08; letter-spacing: .07em; }
.kozu-features-v8-lead span { display: block; white-space: nowrap; }
.kozu-features-v8-lead .kozu-features-v8-mobile-line { display: inline; }

.kozu-features-v8-media { position: relative; z-index: 0; overflow: hidden; background: linear-gradient(180deg,#bfe2fb 0%,#e8f6ff 70%,#fff 100%); }
.kozu-features-v8-media figure { position: absolute; inset: 0; margin: 0; }
.kozu-features-v8-media figure::before { position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg,rgba(222,241,254,.9) 0%,rgba(224,243,255,.48) 16%,rgba(228,246,255,.12) 30%,transparent 44%),linear-gradient(90deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.18) 17%,transparent 30%),linear-gradient(180deg,transparent 68%,rgba(255,255,255,.46) 86%,#fff 100%); content: ""; pointer-events: none; }
.kozu-features-v8-media img { position: absolute; right: -24%; bottom: 1%; width: 132%; height: auto; max-width: none; -webkit-mask-image: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.74) 11%,#000 25%); mask-image: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.74) 11%,#000 25%); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }

.kozu-features-v8-note {
  position: absolute;
  z-index: 4;
  width: 240px;
  aspect-ratio: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 24px;
  color: var(--kozu-v8-copy);
  background: rgba(255,255,255,.92);
  border: 2px dotted var(--kozu-v8-cyan);
  border-radius: 50%;
  text-align: center;
}

.kozu-features-v8-note svg { width: 57px; height: 57px; color: var(--kozu-v8-cyan); fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.kozu-features-v8-note p { margin: 12px 0 0; font-family: var(--serif); font-size: 14px; font-weight: 600; line-height: 1.72; letter-spacing: .06em; }
.kozu-features-v8-note strong { color: var(--kozu-v8-cyan); font-weight: 600; }

.kozu-features-v8-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; margin: 0; list-style: none; }
.kozu-features-v8-points li { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: var(--kozu-v8-copy); border-right: 1px dotted var(--kozu-v8-line); font-family: var(--serif); font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: .045em; text-align: center; }
.kozu-features-v8-points li:nth-child(3n) { border-right: 0; }
.kozu-features-v8-points li:nth-child(-n+3) { border-bottom: 1px dotted var(--kozu-v8-line); }
.kozu-features-v8-points i { width: 108px; height: 108px; display: grid; place-items: center; color: var(--kozu-v8-cyan); background: linear-gradient(145deg,#f4fbfe,#eaf7fc); border-radius: 50%; }
.kozu-features-v8-points svg { width: 57px; height: 57px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }

.kozu-features-v8-actions { display: flex; align-items: center; }
.kozu-features-v8-cta { width: 606px; min-height: 77px; display: flex; align-items: center; justify-content: space-between; padding: 10px 10px 10px 191px; color: #fff; background: linear-gradient(90deg,#00b6d3,#08bddb); border-radius: 999px; box-shadow: 0 9px 19px rgba(0,151,188,.18); font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1; letter-spacing: .14em; transition: transform .2s ease,box-shadow .2s ease; }
.kozu-features-v8-cta:hover { transform: translateY(-2px); box-shadow: 0 13px 25px rgba(0,151,188,.24); }
.kozu-features-v8-cta:focus-visible { outline: 3px solid rgba(8,47,93,.4); outline-offset: 4px; }
.kozu-features-v8-cta > i { width: 57px; height: 57px; flex: 0 0 auto; display: grid; place-items: center; color: var(--kozu-v8-cyan); background: #fff; border-radius: 50%; }
.kozu-features-v8-cta svg { width: 26px; height: 26px; stroke-width: 1.8; }
.kozu-features-v8-actions > p { display: flex; align-items: center; gap: 13px; margin: 0 0 0 39px; color: var(--kozu-v8-copy); font-family: var(--serif); font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: .07em; white-space: nowrap; }
.kozu-features-v8-actions > p svg { width: 31px; height: 31px; color: var(--kozu-v8-cyan); stroke-width: 1.7; }

@media (min-width: 1351px) {
  .kozu-features-v8 { width: 100%; height: clamp(820px,56.28vw,941px); min-height: clamp(820px,56.28vw,941px); padding: 0; }
  .kozu-features-v8 > .section-mobile-index { display: none; }
  .kozu-features-v8-intro { position: absolute; top: 4.45%; left: 5.25%; width: 37%; }
  .kozu-features-v8-intro > .section-context { position: absolute; top: -29px; right: 0; margin: 0; }
  .kozu-features-v8-script { margin-left: -14px; }
  .kozu-features-v8-script { font-size: clamp(32px,2.27vw,38px); }
  .kozu-features-v8-intro h2 { margin-top: clamp(19px,1.45vw,24px); font-size: clamp(46px,3.23vw,54px); line-height: 1.4; }
  .kozu-features-v8-lead { margin-top: clamp(18px,1.38vw,23px); font-size: clamp(15px,1.08vw,18px); }
  .kozu-features-v8-media { position: absolute; z-index: 0; inset: 0 0 0 43.9%; }
  .kozu-features-v8-note { top: 8.2%; right: 3.05%; width: clamp(210px,14.35vw,240px); }
  .kozu-features-v8-points { position: absolute; top: 51.95%; left: 5.25%; width: 37.25%; height: 30.05%; }
  .kozu-features-v8-points i { width: clamp(97px,6.64vw,111px); height: clamp(97px,6.64vw,111px); }
  .kozu-features-v8-points svg { width: clamp(49px,3.41vw,57px); height: clamp(49px,3.41vw,57px); }
  .kozu-features-v8-points li { font-size: clamp(14px,1.02vw,17px); }
  .kozu-features-v8-actions { position: absolute; left: 5.2%; bottom: 5.2%; }
  .kozu-features-v8-cta { width: clamp(528px,36.24vw,606px); min-height: clamp(67px,4.6vw,77px); padding-left: clamp(167px,11.42vw,191px); font-size: clamp(18px,1.26vw,21px); }
  .kozu-features-v8-cta > i { width: clamp(51px,3.53vw,59px); height: clamp(51px,3.53vw,59px); }
  .kozu-features-v8-actions > p { margin-left: clamp(30px,2.33vw,39px); font-size: clamp(15px,1.08vw,18px); }
}

@media (min-width: 961px) and (max-width: 1350px) {
  .kozu-features-v8 { min-height: 1080px; padding: 74px 48px 70px; }
  .kozu-features-v8-shape { width: 67%; }
  .kozu-features-v8-intro { width: 54%; }
  .kozu-features-v8-intro h2 { font-size: clamp(40px,4.2vw,50px); }
  .kozu-features-v8-intro h2 > span + span { font-size: 1.16em; }
  .kozu-features-v8-lead span { white-space: normal; }
  .kozu-features-v8-media { position: absolute; inset: 0 0 0 49%; }
  .kozu-features-v8-media img { right: -75%; bottom: 0; width: 220%; }
  .kozu-features-v8-note { top: 82px; right: 30px; width: 200px; }
  .kozu-features-v8-points { position: absolute; bottom: 164px; left: 48px; width: 54%; height: 320px; }
  .kozu-features-v8-points i { width: 96px; height: 96px; }
  .kozu-features-v8-actions { position: absolute; right: 48px; bottom: 66px; left: 48px; }
  .kozu-features-v8-cta { width: 54%; min-height: 70px; padding-left: 14%; }
  .kozu-features-v8-actions > p { font-size: 15px; }
}

@media (min-width: 721px) and (max-width: 960px) {
  .kozu-features-v8 { display: grid; grid-template-areas: "intro" "media" "points" "actions"; min-height: 0; padding: 74px 48px 70px; background: #fff; }
  .kozu-features-v8-shape { display: none; }
  .kozu-features-v8-intro { grid-area: intro; width: 100%; }
  .kozu-features-v8-intro h2 { font-size: clamp(42px,5.6vw,50px); }
  .kozu-features-v8-lead span { white-space: normal; }
  .kozu-features-v8-media { grid-area: media; position: relative; width: calc(100% + 96px); min-height: 620px; margin: 42px -48px 0; border-radius: 96px 0 96px 0; }
  .kozu-features-v8-note { top: 36px; right: 34px; width: 210px; }
  .kozu-features-v8-points { grid-area: points; position: relative; width: 100%; height: 330px; margin-top: 38px; }
  .kozu-features-v8-points i { width: 96px; height: 96px; }
  .kozu-features-v8-actions { grid-area: actions; position: relative; margin-top: 38px; }
  .kozu-features-v8-cta { width: 58%; min-height: 70px; padding-left: 15%; }
  .kozu-features-v8-actions > p { font-size: 14px; }
}

@media (max-width: 720px) {
  .kozu-features-v8 { display: grid; grid-template-areas: "index" "intro" "media" "points" "actions"; padding: 68px 20px 62px; background: #fff; }
  .kozu-features-v8-shape { display: none; }
  .kozu-features-v8 > .section-mobile-index { grid-area: index; display: block; margin-bottom: 25px; }
  .kozu-features-v8-intro { grid-area: intro; }
  .kozu-features-v8-script { font-size: clamp(28px,8vw,34px); }
  .kozu-features-v8-intro h2 { margin-top: 20px; font-size: clamp(31px,8.8vw,38px); line-height: 1.55; letter-spacing: .045em; }
  .kozu-features-v8-intro h2 > span { white-space: normal; }
  .kozu-features-v8-lead { margin-top: 19px; font-size: clamp(13px,3.7vw,15px); line-height: 1.95; }
  .kozu-features-v8-lead span { display: inline; white-space: normal; }
  .kozu-features-v8-lead > span { display: contents; }
  .kozu-features-v8-lead .kozu-features-v8-mobile-line { display: block; }
  .kozu-features-v8-media { grid-area: media; width: calc(100% + 40px); min-height: 410px; margin: 34px -20px 0; border-radius: 54px 0 54px 0; }
  .kozu-features-v8-media img { right: -34%; bottom: 1%; width: 155%; }
  .kozu-features-v8-note { top: 18px; right: 16px; width: 165px; padding: 16px; }
  .kozu-features-v8-note svg { width: 40px; height: 40px; }
  .kozu-features-v8-note p { margin-top: 7px; font-size: 10px; line-height: 1.55; }
  .kozu-features-v8-points { grid-area: points; grid-template-columns: 1fr 1fr; width: 100%; margin-top: 32px; }
  .kozu-features-v8-points li { min-height: 145px; padding: 15px 4px; font-size: 13px; }
  .kozu-features-v8-points li:nth-child(3n) { border-right: 1px dotted var(--kozu-v8-line); }
  .kozu-features-v8-points li:nth-child(2n) { border-right: 0; }
  .kozu-features-v8-points li:nth-child(-n+4) { border-bottom: 1px dotted var(--kozu-v8-line); }
  .kozu-features-v8-points i { width: 92px; height: 92px; }
  .kozu-features-v8-points svg { width: 48px; height: 48px; }
  .kozu-features-v8-actions { grid-area: actions; display: block; margin-top: 32px; }
  .kozu-features-v8-cta { width: 100%; min-height: 62px; padding: 8px 8px 8px 72px; font-size: 17px; }
  .kozu-features-v8-cta > i { width: 46px; height: 46px; }
  .kozu-features-v8-actions > p { justify-content: center; margin: 18px 0 0; font-size: 13px; white-space: normal; }
  .kozu-features-v8-actions > p svg { width: 25px; height: 25px; }
}

@media (max-width: 390px) {
  .kozu-features-v8 { padding-inline: 16px; }
  .kozu-features-v8-media { width: calc(100% + 32px); min-height: 390px; margin-inline: -16px; }
  .kozu-features-v8-intro h2 { font-size: 30px; }
  .kozu-features-v8-points li { min-height: 137px; font-size: 12px; }
  .kozu-features-v8-points i { width: 86px; height: 86px; }
  .kozu-features-v8-cta { padding-left: 62px; }
}

@media (max-width: 350px) {
  .kozu-features-v8-place,.kozu-features-v8-reason { display: block; }
  .kozu-features-v8-intro h2 > span + span { font-size: 1.18em; }
  .kozu-features-v8-intro h2 em { margin-left: 0; }
}

/* Section 09 — standard specification */
.specification-v9 {
  --spec-v9-navy: #082a59;
  --spec-v9-copy: #153a66;
  --spec-v9-aqua: #149fbe;
  --spec-v9-pale: #e9f5f9;
  --spec-v9-line: #b8dce8;
  min-height: 0;
  padding: 72px 24px 64px;
  color: var(--spec-v9-navy);
  background: #fff;
}

.specification-v9::after { display: none; }
.specification-v9 > .section-mobile-index { color: var(--spec-v9-aqua); }

.specification-v9-hero { position: relative; }
.specification-v9-intro { position: relative; z-index: 3; }
.specification-v9-script {
  width: fit-content;
  margin: 0;
  color: var(--spec-v9-aqua);
  font-family: "Segoe Script","Bradley Hand","Brush Script MT",cursive;
  font-size: clamp(25px,7vw,32px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.055em;
  transform: rotate(-6deg);
}
.specification-v9-script span { display: block; }
.specification-v9-script span + span { margin-left: 31px; }

.specification-v9-intro h2 {
  margin: 45px 0 0;
  color: var(--spec-v9-navy);
  font-family: var(--serif);
  font-size: clamp(31px,8.5vw,40px);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: .075em;
}
.specification-v9-intro h2 > span { display: block; }
.specification-v9-lead {
  margin: 18px 0 0;
  color: var(--spec-v9-copy);
  font-family: var(--serif);
  font-size: clamp(14px,3.9vw,17px);
  font-weight: 600;
  line-height: 1.95;
  letter-spacing: .075em;
}

.specification-v9-visual {
  position: relative;
  height: 310px;
  margin: 34px -24px 0;
  overflow: hidden;
  background: linear-gradient(180deg,#cceaff,#f3faff);
}
.specification-v9-visual::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(180deg,transparent 65%,#fff 100%);
  content: "";
  pointer-events: none;
}
.specification-v9-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.specification-v9-panel {
  position: relative;
  z-index: 5;
  margin: -20px 0 0;
  padding: 26px 18px 22px;
  background: rgba(255,255,255,.98);
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(8,47,79,.11);
}
.specification-v9-panel-title { display: flex; align-items: center; gap: 14px; margin-bottom: 21px; }
.specification-v9-panel-title span { height: 1px; flex: 1; background: var(--spec-v9-aqua); opacity: .72; }
.specification-v9-panel-title h3 { margin: 0; color: var(--spec-v9-aqua); font-family: var(--serif); font-size: 16px; font-weight: 600; line-height: 1.6; letter-spacing: .08em; text-align: center; }

.specification-v9-grid { display: grid; grid-template-columns: 1fr; padding: 0; margin: 0; list-style: none; }
.specification-v9-item { min-width: 0; display: grid; grid-template-rows: auto 118px; gap: 13px; padding: 18px 0; border-bottom: 1px solid rgba(20,159,190,.2); }
.specification-v9-item:last-child { border-bottom: 0; }
.specification-v9-item-copy { min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 17px; }
.specification-v9-item-copy i { width: 60px; height: 60px; display: grid; place-items: center; color: var(--spec-v9-aqua); font-style: normal; }
.specification-v9-item-copy svg { width: 58px; height: 58px; stroke-width: 1.55; }
.specification-v9-item-copy p { min-width: 0; margin: 0; }
.specification-v9-item-copy strong { display: block; color: var(--spec-v9-navy); font-family: var(--serif); font-size: 17px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.specification-v9-item-copy span { display: block; margin-top: 5px; color: var(--spec-v9-copy); font-family: var(--serif); font-size: 13px; font-weight: 500; line-height: 1.75; letter-spacing: .045em; }
.specification-v9-item > img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; filter: saturate(.87) brightness(1.04); }
.specification-v9-item:nth-child(2) > img { object-position: center 50%; }
.specification-v9-item:nth-child(5) > img { object-position: center; }
.specification-v9-item:nth-child(8) > img { object-position: center 58%; }
.specification-v9-item > .specification-v9-item__image--insulation-glass { object-position: center 52%; }

.specification-v9-cta {
  position: relative;
  z-index: 6;
  min-height: 104px;
  display: grid;
  grid-template-columns: 72px 1fr 54px;
  align-items: center;
  gap: 18px;
  margin: 20px 0 0;
  padding: 11px 16px 11px 20px;
  color: var(--spec-v9-navy);
  background: rgba(255,255,255,.97);
  border: 2px solid var(--spec-v9-line);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(8,47,79,.06);
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.specification-v9-cta:hover { border-color: var(--spec-v9-aqua); box-shadow: 0 15px 31px rgba(8,47,79,.11); transform: translateY(-2px); }
.specification-v9-cta:focus-visible { outline: 3px solid rgba(20,159,190,.35); outline-offset: 4px; }
.specification-v9-cta > i { display: grid; place-items: center; font-style: normal; border-radius: 50%; }
.specification-v9-cta-calendar { width: 72px; height: 72px; color: var(--spec-v9-aqua); background: var(--spec-v9-pale); }
.specification-v9-cta-calendar svg { width: 42px; height: 42px; stroke-width: 1.5; }
.specification-v9-cta > span { min-width: 0; }
.specification-v9-cta small { display: block; color: var(--spec-v9-copy); font-family: var(--serif); font-size: 13px; font-weight: 600; line-height: 1.6; letter-spacing: .045em; }
.specification-v9-cta strong { display: block; margin-top: 3px; color: var(--spec-v9-aqua); font-family: var(--serif); font-size: clamp(20px,5.6vw,27px); font-weight: 600; line-height: 1.35; letter-spacing: .065em; }
.specification-v9-cta strong > span { display: inline; }
.specification-v9-cta-arrow { width: 54px; height: 54px; color: #fff; background: var(--spec-v9-aqua); }
.specification-v9-cta-arrow svg { width: 27px; height: 27px; stroke-width: 1.8; }

@media (min-width: 721px) and (max-width: 1350px) {
  .specification-v9 { padding: 76px 42px 70px; }
  .specification-v9-hero { min-height: 460px; }
  .specification-v9-intro { width: 51%; }
  .specification-v9-intro h2 { font-size: clamp(36px,4.5vw,50px); }
  .specification-v9-visual { position: absolute; top: -76px; right: -42px; bottom: 0; width: 62%; height: auto; margin: 0; }
  .specification-v9-visual::before { background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.95) 18%,rgba(255,255,255,.25) 48%,transparent 66%),linear-gradient(180deg,transparent 64%,#fff 100%); }
  .specification-v9-panel { margin: -22px 0 0; padding: 28px 30px 26px; }
  .specification-v9-panel-title h3 { font-size: 19px; }
  .specification-v9-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .specification-v9-item { padding: 20px; border-right: 1px solid rgba(20,159,190,.2); }
  .specification-v9-item:nth-child(2n) { border-right: 0; }
  .specification-v9-item:nth-last-child(-n+2) { border-bottom: 0; }
  .specification-v9-cta { min-height: 112px; grid-template-columns: 82px 1fr 62px; margin-top: 25px; padding-inline: 27px 18px; }
  .specification-v9-cta-calendar { width: 82px; height: 82px; }
  .specification-v9-cta-arrow { width: 62px; height: 62px; }
  .specification-v9-cta small { font-size: 17px; }
  .specification-v9-cta strong { font-size: 30px; }
}

@media (min-width: 1351px) {
  .specification-v9 { width: 100%; height: 1024px; min-height: 1024px; padding: 0; }
  .specification-v9 > .section-mobile-index { display: none; }
  .specification-v9-hero { position: absolute; z-index: 1; inset: 0 0 auto; height: 455px; }
  .specification-v9-intro { position: absolute; top: 53px; left: 4.42%; width: 38%; }
  .specification-v9-script { font-size: clamp(25px,1.82vw,29px); }
  .specification-v9-intro h2 { margin-top: 48px; font-size: clamp(42px,2.87vw,47px); line-height: 1.42; white-space: nowrap; }
  .specification-v9-lead { margin-top: 15px; font-size: clamp(17px,1.22vw,20px); line-height: 1.95; white-space: nowrap; }
  .specification-v9-visual { position: absolute; z-index: 0; inset: 0; height: 455px; margin: 0; }
  .specification-v9-visual::before { background: linear-gradient(90deg,#fff 0%,#fff 30%,rgba(255,255,255,.97) 39%,rgba(255,255,255,.74) 51%,rgba(255,255,255,.18) 66%,transparent 79%),linear-gradient(180deg,rgba(222,242,255,.16) 0%,transparent 56%,rgba(255,255,255,.26) 76%,#fff 100%); }
  .specification-v9-visual img { object-position: 66% 48%; }
  .specification-v9-panel { position: absolute; z-index: 5; top: 392px; right: 1.82%; left: 1.82%; height: 493px; margin: 0; padding: 0 2.72% 20px; border-radius: 0; }
  .specification-v9-panel-title { height: 74px; gap: 24px; margin: 0; }
  .specification-v9-panel-title h3 { flex: 0 0 auto; font-size: clamp(17px,1.26vw,20px); white-space: nowrap; }
  .specification-v9-grid { height: 399px; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); }
  .specification-v9-item { min-height: 0; grid-template-rows: 93px 88px; gap: 10px; padding: 2px 22px 8px; border-right: 1px solid rgba(20,159,190,.2); border-bottom: 1px solid rgba(20,159,190,.2); }
  .specification-v9-item:nth-child(4n) { border-right: 0; }
  .specification-v9-item:nth-child(n+5) { border-bottom: 0; padding-top: 10px; }
  .specification-v9-item-copy { grid-template-columns: 66px minmax(0,1fr); gap: 16px; }
  .specification-v9-item-copy i { width: 62px; height: 62px; }
  .specification-v9-item-copy svg { width: 60px; height: 60px; }
  .specification-v9-item-copy strong { font-size: clamp(14px,1.08vw,17px); white-space: nowrap; }
  .specification-v9-item-copy span { margin-top: 4px; font-size: clamp(11px,.83vw,13px); line-height: 1.72; }
  .specification-v9-item > img { height: 88px; }

  .specification-v9-cta { position: absolute; z-index: 6; top: 892px; right: 4.43%; left: 4.16%; height: 115px; min-height: 0; grid-template-columns: 82px 1fr 62px; gap: 38px; margin: 0; padding: 11px 48px 11px 73px; }
  .specification-v9-cta-calendar { width: 82px; height: 82px; }
  .specification-v9-cta-calendar svg { width: 49px; height: 49px; }
  .specification-v9-cta small { font-size: clamp(16px,1.17vw,19px); }
  .specification-v9-cta strong { margin-top: 0; font-size: clamp(29px,2.05vw,34px); }
  .specification-v9-cta-arrow { width: 62px; height: 62px; }
  .specification-v9-cta-arrow svg { width: 31px; height: 31px; }
}

@media (max-width: 420px) {
  .specification-v9 { padding-inline: 16px; }
  .specification-v9-visual { margin-inline: -16px; }
  .specification-v9-intro h2 { font-size: 30px; letter-spacing: .055em; }
  .specification-v9-panel { margin-inline: -2px; padding-inline: 16px; }
  .specification-v9-panel-title { gap: 9px; }
  .specification-v9-panel-title h3 { max-width: 230px; font-size: 14px; }
  .specification-v9-item { grid-template-rows: auto 108px; }
  .specification-v9-item-copy { grid-template-columns: 57px minmax(0,1fr); gap: 12px; }
  .specification-v9-item-copy i,.specification-v9-item-copy svg { width: 54px; height: 54px; }
  .specification-v9-item-copy strong { font-size: 16px; }
  .specification-v9-item-copy span { font-size: 12px; }
  .specification-v9-cta { grid-template-columns: 58px 1fr 47px; gap: 11px; padding-inline: 12px; }
  .specification-v9-cta-calendar { width: 58px; height: 58px; }
  .specification-v9-cta-calendar svg { width: 34px; height: 34px; }
  .specification-v9-cta small { font-size: 11px; }
  .specification-v9-cta strong { font-size: 19px; }
  .specification-v9-cta strong > span { display: block; white-space: nowrap; }
  .specification-v9-cta-arrow { width: 47px; height: 47px; }
}

@media (max-width: 350px) {
  .specification-v9-title-prefix,.specification-v9-title-suffix { display: block; }
  .specification-v9-intro h2 { line-height: 1.42; }
}

@media (max-width: 339px) {
  .specification-v9-cta { gap: 8px; }
  .specification-v9-cta strong { font-size: 16.5px; letter-spacing: .035em; }
}

/* Section 10 — company trust / reference-faithful rebuild */
.trust-v10 {
  --trust-v10-navy: #062f5f;
  --trust-v10-aqua: #08b4cf;
  --trust-v10-aqua-dark: #009fbf;
  --trust-v10-pale: #edf8fc;
  --trust-v10-line: #cbdfe8;
  position: relative;
  isolation: isolate;
  /* Clip decorative orbits without turning the section into a scroll container.
     `hidden` allowed focus/anchor navigation to scroll this section internally,
     which pushed the English accent and heading underneath the fixed header. */
  overflow: hidden;
  overflow: clip;
  padding: 72px 20px 68px;
  color: var(--trust-v10-navy);
  background: #fff;
}
.trust-v10::after { display: none; }
.trust-v10-orbit,
.trust-v10-dots {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.trust-v10-orbit { border-radius: 50%; }
.trust-v10-orbit--top {
  top: -170px;
  left: 46%;
  width: 420px;
  height: 420px;
  background: rgba(207,239,248,.45);
}
.trust-v10-orbit--photo {
  top: 295px;
  right: -250px;
  width: 620px;
  height: 620px;
  border: 11px solid rgba(204,239,248,.55);
}
.trust-v10-dots {
  bottom: -83px;
  left: -92px;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  opacity: .48;
  background-image: radial-gradient(circle, rgba(31,186,214,.68) 1.5px, transparent 1.8px);
  background-size: 12px 12px;
}
.trust-v10-copy {
  z-index: 3;
  max-width: 680px;
  margin: 0 auto;
}
.trust-v10-script {
  width: fit-content;
  margin: 0 0 21px -3px;
  color: #31bedc;
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(26px,8vw,37px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.055em;
  transform: rotate(-7deg);
}
.trust-v10-copy h2 {
  margin: 0;
  color: var(--trust-v10-navy);
  font-family: var(--serif);
  font-size: clamp(31px,9.2vw,46px);
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: .065em;
}
.trust-v10-copy h2 > span { display: block; }
.trust-v10-copy h2 em {
  color: var(--trust-v10-aqua);
  font-style: normal;
}
.trust-v10-lead {
  margin: 22px 0 0;
  color: #163d68;
  font-family: var(--serif);
  font-size: clamp(14px,3.9vw,17px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .07em;
}
.trust-v10-lead > span { display: block; }
.trust-v10-lead-mobile { display: inline; }
.trust-v10-photo {
  position: relative;
  z-index: 1;
  width: calc(100% + 40px);
  height: 320px;
  margin: 35px -20px 0;
  overflow: hidden;
  border-radius: 105px 0 0 0;
  background: var(--trust-v10-pale);
}
.trust-v10-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 53% 52%;
  transform: none;
}
.trust-v10-photo figcaption {
  position: absolute;
  right: 12px;
  bottom: 9px;
  padding: 2px 9px;
  color: rgba(6,47,95,.76);
  background: rgba(255,255,255,.84);
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.7;
  letter-spacing: .05em;
}

@media (max-width: 1350px) {
  .trust-v10-photo figcaption { z-index: 2; top: 14px; bottom: auto; }
}
.trust-v10-card {
  z-index: 5;
  max-width: 760px;
  margin: -28px auto 0;
  padding: 69px 20px 28px;
  background: rgba(255,255,255,.98);
  border-radius: 28px;
  box-shadow: 0 15px 42px rgba(15,73,99,.12);
}
.trust-v10-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 62px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.trust-v10-stats > li {
  position: relative;
  display: flex;
  justify-content: center;
}
.trust-v10-stats > li > i {
  position: absolute;
  z-index: 2;
  top: -36px;
  left: 50%;
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  color: #4784af;
  background: #fff;
  border: 1px dashed var(--trust-v10-line);
  border-radius: 50%;
  transform: translateX(-50%);
}
.trust-v10-stats > li > i svg {
  width: 43px;
  height: 43px;
  stroke-width: 1.25;
}
.trust-v10-ring {
  width: 202px;
  height: 202px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 17px;
  border: 1px dashed var(--trust-v10-line);
  border-radius: 50%;
  text-align: center;
}
.trust-v10-ring strong {
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: var(--trust-v10-aqua-dark);
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .025em;
  white-space: nowrap;
}
.trust-v10-ring strong > span { display: inline-block; }
.trust-v10-ring strong > small {
  margin-left: 3px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .03em;
}
.trust-v10-stats > li:nth-child(3) .trust-v10-ring strong { font-size: 31px; }
.trust-v10-ring em {
  min-width: 58px;
  margin-top: 11px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(8,180,207,.65);
  color: var(--trust-v10-navy);
  font-family: var(--serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .06em;
}
.trust-v10-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 30px 0 22px;
  color: var(--trust-v10-navy);
  font-family: var(--serif);
  font-size: clamp(13px,3.6vw,16px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .055em;
  text-align: center;
}
.trust-v10-note svg {
  flex: 0 0 37px;
  width: 37px;
  height: 24px;
  color: #3fc2dc;
  stroke-width: 1.25;
}
.trust-v10-cta {
  width: 100%;
  min-height: 64px;
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  padding: 8px 17px;
  color: #fff;
  background: linear-gradient(100deg,#04b6d1 0%,#00afca 72%,#00a5c3 100%);
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(0,158,190,.23);
  font-family: var(--serif);
  font-size: clamp(17px,4.5vw,21px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .12em;
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.trust-v10-cta span { grid-column: 2; }
.trust-v10-cta svg {
  grid-column: 3;
  width: 27px;
  height: 27px;
  justify-self: end;
  stroke-width: 1.5;
}
.trust-v10-cta:hover {
  filter: brightness(.97);
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(0,158,190,.28);
}
.trust-v10-cta:focus-visible {
  outline: 3px solid rgba(0,184,212,.38);
  outline-offset: 4px;
}

@media (min-width: 961px) and (max-width: 1350px) {
  .trust-v10 { padding: 90px 42px 84px; }
  .trust-v10-copy { width: 47%; max-width: none; margin: 0; }
  .trust-v10-script { font-size: 28px; }
  .trust-v10-copy h2 { font-size: clamp(39px,4.5vw,51px); }
  .trust-v10-lead-mobile { display: inline; }
  .trust-v10-photo {
    position: absolute;
    z-index: 1;
    top: 56px;
    right: 0;
    width: 54%;
    height: 560px;
    margin: 0;
    border-radius: 180px 0 0 0;
  }
  .trust-v10-card { width: 94%; max-width: none; margin: 78px auto 0; padding: 67px 24px 30px; }
  .trust-v10-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .trust-v10-stats > li + li::before {
    position: absolute;
    top: 13px;
    bottom: 13px;
    left: -9px;
    width: 1px;
    background: rgba(6,47,95,.14);
    content: "";
  }
  .trust-v10-ring { width: min(22vw,190px); height: min(22vw,190px); }
  .trust-v10-ring strong { font-size: clamp(30px,4vw,43px); }
  .trust-v10-stats > li:nth-child(3) .trust-v10-ring strong { font-size: clamp(25px,3vw,34px); }
  .trust-v10-note { margin-top: 26px; }
  .trust-v10-cta { max-width: 550px; margin: 0 auto; }
}

@media (min-width: 1351px) {
  .trust-v10 {
    width: 100%;
    height: 941px;
    min-height: 941px;
    padding: 0;
  }
  .trust-v10-orbit--top {
    top: -255px;
    left: 40.4%;
    width: 475px;
    height: 475px;
    background: rgba(206,239,248,.42);
  }
  .trust-v10-orbit--photo {
    top: 41px;
    right: 18.3%;
    width: 580px;
    height: 842px;
    border-width: 13px;
    border-color: rgba(205,240,249,.63);
  }
  .trust-v10-dots {
    bottom: -111px;
    left: -19px;
    width: 330px;
    height: 330px;
    background-size: 11px 11px;
  }
  .trust-v10-copy {
    position: absolute;
    z-index: 4;
    top: 54px;
    left: 8.68%;
    width: 39%;
    max-width: none;
    margin: 0;
  }
  .trust-v10-script {
    margin: 0 0 24px -62px;
    font-size: clamp(30px,2.1vw,35px);
  }
  .trust-v10-copy h2 {
    font-size: clamp(48px,3.47vw,58px);
    line-height: 1.56;
    letter-spacing: .075em;
    white-space: nowrap;
  }
  .trust-v10-lead {
    margin-top: 12px;
    font-size: clamp(15px,1.08vw,18px);
    line-height: 1.92;
    letter-spacing: .075em;
    white-space: nowrap;
  }
  .trust-v10-lead-mobile { display: inline; }
  .trust-v10-photo {
    position: absolute;
    z-index: 1;
    top: 55px;
    right: 0;
    width: 50.24%;
    height: 802px;
    margin: 0;
    border-radius: 275px 0 0 0;
  }
  .trust-v10-photo img { object-position: 48% 50%; }
  .trust-v10-photo figcaption { right: 18px; bottom: 13px; font-size: 10px; }
  .trust-v10-card {
    position: absolute;
    z-index: 6;
    top: 408px;
    left: 4.72%;
    width: 45.63%;
    height: 467px;
    max-width: none;
    margin: 0;
    padding: 63px 29px 25px;
    border-radius: 31px;
    box-shadow: 0 16px 44px rgba(15,73,99,.105);
  }
  .trust-v10-stats {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px;
  }
  .trust-v10-stats > li + li::before {
    position: absolute;
    top: 18px;
    bottom: 14px;
    left: -9px;
    width: 1px;
    background: rgba(6,47,95,.15);
    content: "";
  }
  .trust-v10-stats > li > i {
    top: -35px;
    width: 70px;
    height: 70px;
  }
  .trust-v10-ring {
    width: clamp(170px,12vw,202px);
    height: clamp(170px,12vw,202px);
    padding-top: 19px;
  }
  .trust-v10-ring strong { font-size: clamp(42px,3.32vw,56px); }
  .trust-v10-ring strong > small { font-size: clamp(15px,1.14vw,19px); }
  .trust-v10-stats > li:nth-child(3) .trust-v10-ring strong { font-size: clamp(30px,2.28vw,38px); }
  .trust-v10-ring em { margin-top: 8px; font-size: clamp(14px,1.08vw,18px); }
  .trust-v10-note {
    gap: 15px;
    margin: 25px 0 24px;
    font-size: clamp(14px,1.08vw,18px);
  }
  .trust-v10-note svg { flex-basis: 49px; width: 49px; height: 28px; }
  .trust-v10-cta {
    width: 72.5%;
    min-height: 72px;
    grid-template-columns: 42px 1fr 42px;
    margin: 0 auto;
    padding-inline: 23px;
    font-size: clamp(21px,1.5vw,25px);
  }
  .trust-v10-cta svg { width: 29px; height: 29px; }
}

/* Keep the reference split composition across ordinary desktop widths.
   Values scale from the 1680px artboard instead of switching to a wide stacked card. */
@media (min-width: 961px) {
  .trust-v10 {
    width: 100%;
    height: clamp(680px,56.52vw,941px);
    min-height: clamp(680px,56.52vw,941px);
    padding: 0;
  }
  .trust-v10-orbit--top {
    top: clamp(-255px,-15.32vw,-194px);
    left: 40.4%;
    width: clamp(360px,28.53vw,475px);
    height: clamp(360px,28.53vw,475px);
    background: rgba(206,239,248,.42);
  }
  .trust-v10-orbit--photo {
    top: clamp(31px,2.46vw,41px);
    right: 18.3%;
    width: clamp(440px,34.83vw,580px);
    height: clamp(600px,50.57vw,842px);
    border-width: clamp(10px,.78vw,13px);
    border-color: rgba(205,240,249,.63);
  }
  .trust-v10-dots {
    bottom: clamp(-111px,-6.67vw,-84px);
    left: -1.14vw;
    width: clamp(250px,19.82vw,330px);
    height: clamp(250px,19.82vw,330px);
    background-size: clamp(9px,.66vw,11px) clamp(9px,.66vw,11px);
  }
  .trust-v10-copy {
    position: absolute;
    z-index: 4;
    top: clamp(40px,3.24vw,54px);
    left: 8.68%;
    width: 39%;
    max-width: none;
    margin: 0;
  }
  .trust-v10-script {
    margin: 0 0 clamp(18px,1.44vw,24px) max(-62px,-3.72vw);
    font-size: clamp(23px,2.1vw,35px);
  }
  .trust-v10-copy h2 {
    font-size: clamp(36px,3.47vw,58px);
    line-height: 1.56;
    letter-spacing: .075em;
    white-space: nowrap;
  }
  .trust-v10-lead {
    margin-top: clamp(9px,.72vw,12px);
    font-size: clamp(13px,1.08vw,18px);
    line-height: 1.92;
    letter-spacing: .075em;
    white-space: nowrap;
  }
  .trust-v10-lead-mobile { display: inline; }
  .trust-v10-photo {
    position: absolute;
    z-index: 1;
    top: clamp(40px,3.3vw,55px);
    right: 0;
    width: 50.24%;
    height: clamp(600px,48.17vw,802px);
    margin: 0;
    border-radius: clamp(190px,16.52vw,275px) 0 0 0;
  }
  .trust-v10-photo img { object-position: 48% 50%; }
  .trust-v10-photo figcaption { display: none; }
  .trust-v10-card {
    position: absolute;
    z-index: 6;
    top: clamp(280px,24.5vw,408px);
    left: 4.72%;
    width: 45.63%;
    height: clamp(340px,28.05vw,467px);
    max-width: none;
    margin: 0;
    padding: clamp(46px,3.78vw,63px) clamp(20px,1.74vw,29px) clamp(18px,1.5vw,25px);
    border-radius: clamp(23px,1.86vw,31px);
    box-shadow: 0 clamp(12px,.96vw,16px) clamp(34px,2.64vw,44px) rgba(15,73,99,.105);
  }
  .trust-v10-stats {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: clamp(12px,1.02vw,17px);
  }
  .trust-v10-stats > li + li::before {
    position: absolute;
    top: clamp(14px,1.08vw,18px);
    bottom: clamp(11px,.84vw,14px);
    left: clamp(-9px,-.54vw,-7px);
    width: 1px;
    background: rgba(6,47,95,.15);
    content: "";
  }
  .trust-v10-stats > li > i {
    top: clamp(-35px,-2.1vw,-27px);
    width: clamp(52px,4.2vw,70px);
    height: clamp(52px,4.2vw,70px);
  }
  .trust-v10-stats > li > i svg {
    width: clamp(32px,2.58vw,43px);
    height: clamp(32px,2.58vw,43px);
  }
  .trust-v10-ring {
    width: clamp(145px,12.13vw,202px);
    height: clamp(145px,12.13vw,202px);
    padding-top: clamp(14px,1.14vw,19px);
  }
  .trust-v10-ring strong { font-size: clamp(38px,3.32vw,56px); }
  .trust-v10-ring strong > small {
    margin-left: 3px;
    font-size: clamp(13px,1.14vw,19px);
  }
  .trust-v10-stats > li:nth-child(3) .trust-v10-ring strong { font-size: clamp(27px,2.28vw,38px); }
  .trust-v10-ring em {
    margin-top: clamp(6px,.48vw,8px);
    padding-bottom: clamp(8px,.66vw,11px);
    font-size: clamp(13px,1.08vw,18px);
  }
  .trust-v10-note {
    gap: clamp(10px,.9vw,15px);
    margin: clamp(17px,1.5vw,25px) 0 clamp(16px,1.44vw,24px);
    font-size: clamp(13px,1.08vw,18px);
  }
  .trust-v10-note svg {
    flex-basis: clamp(34px,2.94vw,49px);
    width: clamp(34px,2.94vw,49px);
    height: clamp(22px,1.68vw,28px);
  }
  .trust-v10-cta {
    width: 72.5%;
    min-height: clamp(54px,4.32vw,72px);
    grid-template-columns: clamp(30px,2.52vw,42px) 1fr clamp(30px,2.52vw,42px);
    margin: 0 auto;
    padding-inline: clamp(17px,1.38vw,23px);
    font-size: clamp(17px,1.5vw,25px);
  }
  .trust-v10-cta svg {
    width: clamp(23px,1.74vw,29px);
    height: clamp(23px,1.74vw,29px);
  }
}

@media (max-width: 960px) {
  .trust-v10-photo figcaption { display: none; }
  .trust-v10-card {
    position: relative;
    margin-top: -28px;
    padding: clamp(46px,7vw,60px) clamp(10px,2.8vw,22px) clamp(24px,4vw,30px);
  }
  .trust-v10-stats {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: clamp(4px,1.8vw,16px);
  }
  .trust-v10-stats > li + li::before {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: calc(clamp(4px,1.8vw,16px) / -2);
    width: 1px;
    background: rgba(6,47,95,.13);
    content: "";
  }
  .trust-v10-stats > li > i {
    top: clamp(-28px,-4.7vw,-18px);
    width: clamp(38px,10vw,62px);
    height: clamp(38px,10vw,62px);
  }
  .trust-v10-stats > li > i svg {
    width: 60%;
    height: 60%;
  }
  .trust-v10-ring {
    width: min(22vw,180px);
    height: auto;
    aspect-ratio: 1;
    padding-top: clamp(8px,1.8vw,14px);
  }
  .trust-v10-ring strong { font-size: clamp(21px,6.4vw,42px); }
  .trust-v10-ring strong > small {
    margin-left: 2px;
    font-size: clamp(9px,2.5vw,15px);
  }
  .trust-v10-stats > li:nth-child(3) .trust-v10-ring strong { font-size: clamp(16px,4.7vw,31px); }
  .trust-v10-ring em {
    min-width: 0;
    margin-top: clamp(4px,1.3vw,9px);
    padding-bottom: clamp(5px,1.5vw,9px);
    font-size: clamp(10px,2.5vw,15px);
  }
  .trust-v10-note {
    margin: clamp(20px,4vw,30px) 0 clamp(17px,3vw,22px);
    white-space: normal;
  }
}

@media (max-width: 420px) {
  .trust-v10 { padding-inline: 16px; }
  .trust-v10-photo { width: calc(100% + 32px); margin-inline: -16px; }
  .trust-v10-card { margin-inline: -2px; padding-inline: 16px; }
  .trust-v10-copy h2 { font-size: 30px; }
  .trust-v10-lead { font-size: 13px; }
  .trust-v10-note { font-size: 12.5px; letter-spacing: .02em; white-space: normal; }
  .trust-v10-note svg { display: none; }
}

@media (max-width: 720px) {
  .trust-v10-lead > span { display: contents; }
  .trust-v10-lead-mobile { display: block; }
}

@media (max-width: 350px) {
  .trust-v10-title-choice,.trust-v10-title-trust { display: block; }
  .trust-v10-cta {
    grid-template-columns: 28px 1fr 28px;
    font-size: 15.5px;
    letter-spacing: .075em;
    white-space: nowrap;
  }
}

/* Section 11 — choose one venue / reference-faithful rebuild */
.pace-v11 {
  --pace-v11-navy: #072f63;
  --pace-v11-aqua: #08b5d1;
  --pace-v11-aqua-dark: #00a6c5;
  --pace-v11-pale: #eff9fc;
  position: relative;
  display: grid;
  grid-template-areas:
    "intro"
    "photo"
    "actions";
  overflow: hidden;
  padding: 72px 20px 68px;
  color: var(--pace-v11-navy);
  background: linear-gradient(145deg,#fff 0%,#fff 70%,#f8fcfd 100%);
}
.lp-section.pace-v11::after { display: none; }
.pace-v11-orbit {
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
}
.pace-v11-orbit--left {
  top: 375px;
  left: -160px;
  width: 360px;
  height: 360px;
  border: 2px dashed rgba(19,186,219,.43);
}
.pace-v11-orbit--right-top {
  top: -72px;
  right: -108px;
  width: 250px;
  height: 250px;
  background: rgba(224,245,251,.48);
}
.pace-v11-orbit--right {
  right: -205px;
  bottom: 135px;
  width: 350px;
  height: 350px;
  border: 2px dashed rgba(19,186,219,.43);
}
.pace-v11-intro {
  grid-area: intro;
  z-index: 3;
  width: 100%;
  max-width: 690px;
  margin: 0 auto;
}
.pace-v11-script {
  width: fit-content;
  margin: 0 0 18px -3px;
  color: #26bcdb;
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(27px,8.5vw,38px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.055em;
  transform: rotate(-6deg);
}
.pace-v11-intro h2 {
  margin: 0;
  color: var(--pace-v11-navy);
  font-family: var(--serif);
  font-size: clamp(30px,8.6vw,45px);
  font-weight: 500;
  line-height: 1.52;
  letter-spacing: .06em;
}
.pace-v11-intro h2 > span { display: block; }
.pace-v11-intro h2 strong {
  display: inline-block;
  margin: 0 .025em;
  color: var(--pace-v11-aqua-dark);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.66em;
  font-weight: 400;
  line-height: .72;
  letter-spacing: -.035em;
  transform: translateY(.055em);
}
.pace-v11-lead {
  margin: 22px 0 0;
  color: #153d6d;
  font-family: var(--serif);
  font-size: clamp(14px,3.9vw,18px);
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: .065em;
}
.pace-v11-lead > span { display: block; }
.pace-v11-lead-mobile { display: inline; }
.pace-v11-photo {
  grid-area: photo;
  z-index: 2;
  width: 100%;
  height: 420px;
  margin: 34px 0 0;
  overflow: hidden;
  background: var(--pace-v11-pale);
  border-radius: 50% 50% 0 0 / 36% 36% 0 0;
  box-shadow: 0 16px 38px rgba(8,47,99,.08);
}
.pace-v11-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 52% 50%;
}
.pace-v11-photo figcaption {
  position: absolute;
  right: 13px;
  bottom: 10px;
  padding: 2px 9px;
  color: rgba(7,47,99,.74);
  background: rgba(255,255,255,.84);
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.7;
}
.pace-v11-actions {
  grid-area: actions;
  z-index: 4;
  width: 100%;
  max-width: 690px;
  margin: 32px auto 0;
}
.pace-v11-choices {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.pace-v11-choices a {
  width: 100%;
  min-height: 64px;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) 24px;
  align-items: center;
  gap: 16px;
  padding: 10px 22px;
  color: var(--pace-v11-navy);
  background: rgba(255,255,255,.97);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(7,47,99,.105);
  cursor: pointer;
  font-family: var(--serif);
  font-size: clamp(15px,4.2vw,20px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .055em;
  text-align: left;
  transition: transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.pace-v11-choices a > i {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  background: var(--pace-v11-aqua);
  border-radius: 50%;
}
.pace-v11-choices a > i::after {
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  content: "";
}
.pace-v11-choices a > b {
  position: relative;
  width: 24px;
  height: 24px;
  justify-self: end;
}
.pace-v11-choices a > b::before,
.pace-v11-choices a > b::after {
  position: absolute;
  top: 11px;
  left: 2px;
  width: 20px;
  height: 2px;
  background: var(--pace-v11-aqua);
  content: "";
  transition: transform .2s ease;
}
.pace-v11-choices a > b::after { transform: rotate(90deg); }
.pace-v11-choices a:hover {
  background: #f7fdff;
  box-shadow: 0 11px 27px rgba(7,47,99,.14);
  transform: translateX(5px);
}
.pace-v11-choices a:hover > b::after { transform: rotate(0); }
.pace-v11-choices a:focus-visible,
.pace-v11-cta:focus-visible {
  outline: 3px solid rgba(0,184,212,.4);
  outline-offset: 4px;
}
.pace-v11-cta {
  width: 100%;
  min-height: 72px;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 52px;
  align-items: center;
  margin-top: 25px;
  padding: 7px 9px 7px 20px;
  color: #fff;
  background: linear-gradient(100deg,#05b7d1 0%,#00abc9 100%);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,159,191,.22);
  font-family: var(--serif);
  font-size: clamp(18px,5vw,23px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .12em;
  text-align: center;
  transition: transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.pace-v11-cta > span { grid-column: 2; }
.pace-v11-cta > i {
  grid-column: 3;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  justify-self: end;
  color: var(--pace-v11-aqua-dark);
  background: #fff;
  border-radius: 50%;
}
.pace-v11-cta svg { width: 28px; height: 28px; stroke-width: 1.6; }
.pace-v11-cta:hover {
  filter: brightness(.98);
  box-shadow: 0 14px 28px rgba(0,159,191,.27);
  transform: translateY(-2px);
}

@media (min-width: 961px) and (max-width: 1350px) {
  .pace-v11 {
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    grid-template-areas:
      "photo intro"
      "photo actions";
    column-gap: 54px;
    align-items: start;
    padding: 88px 42px 82px;
  }
  .pace-v11-intro { width: 100%; max-width: none; margin: 0; }
  .pace-v11-script { font-size: 29px; }
  .pace-v11-intro h2 { font-size: clamp(37px,4.6vw,49px); }
  .pace-v11-lead-mobile { display: inline; }
  .pace-v11-photo {
    width: 100%;
    height: 720px;
    margin: 42px 0 0;
    border-radius: 50% 50% 0 0 / 34% 34% 0 0;
  }
  .pace-v11-actions { width: 100%; max-width: none; margin: 29px 0 0; }
  .pace-v11-choices a { min-height: 64px; font-size: clamp(16px,2vw,19px); }
  .pace-v11-cta { min-height: 76px; }
}

@media (min-width: 1351px) {
  .pace-v11 {
    display: block;
    width: 100%;
    height: 837px;
    min-height: 837px;
    padding: 0;
  }
  .pace-v11-orbit--left {
    top: 144px;
    left: 1.8%;
    width: 360px;
    height: 360px;
  }
  .pace-v11-orbit--right-top {
    top: 31px;
    right: -66px;
    width: 294px;
    height: 294px;
  }
  .pace-v11-orbit--right {
    top: 237px;
    right: -175px;
    bottom: auto;
    width: 350px;
    height: 350px;
  }
  .pace-v11-photo {
    position: absolute;
    z-index: 2;
    top: 45px;
    bottom: 0;
    left: 5.74%;
    width: 40.85%;
    height: auto;
    margin: 0;
    border-radius: 50% 50% 0 0 / 43% 43% 0 0;
    box-shadow: 0 18px 42px rgba(8,47,99,.07);
  }
  .pace-v11-photo img { object-position: 53% 50%; }
  .pace-v11-intro {
    position: absolute;
    z-index: 4;
    top: 22px;
    left: 53.6%;
    width: 35.7%;
    max-width: none;
    margin: 0;
  }
  .pace-v11-script {
    margin: 0 0 13px -47px;
    font-size: clamp(31px,2.28vw,38px);
  }
  .pace-v11-intro h2 {
    font-size: clamp(42px,3.12vw,52px);
    line-height: 1.47;
    letter-spacing: .065em;
    white-space: nowrap;
  }
  .pace-v11-intro h2 strong { font-size: 1.78em; }
  .pace-v11-lead {
    margin-top: 17px;
    font-size: clamp(15px,1.14vw,19px);
    line-height: 1.88;
    white-space: nowrap;
  }
  .pace-v11-lead-mobile { display: inline; }
  .pace-v11-actions {
    position: absolute;
    z-index: 5;
    top: 358px;
    left: 52.69%;
    width: 31.88%;
    max-width: none;
    margin: 0;
  }
  .pace-v11-choices { gap: 13px; }
  .pace-v11-choices a {
    min-height: 68px;
    grid-template-columns: 25px minmax(0,1fr) 25px;
    gap: 18px;
    padding: 10px 27px 10px 23px;
    font-size: clamp(17px,1.25vw,21px);
  }
  .pace-v11-choices a > i { width: 20px; height: 20px; }
  .pace-v11-choices a > b { width: 25px; height: 25px; }
  .pace-v11-cta {
    min-height: 89px;
    grid-template-columns: 65px minmax(0,1fr) 65px;
    margin-top: 33px;
    padding: 10px 10px 10px 30px;
    font-size: clamp(20px,1.43vw,24px);
  }
  .pace-v11-cta > i { width: 65px; height: 65px; }
  .pace-v11-cta svg { width: 32px; height: 32px; }
}

@media (max-width: 420px) {
  .pace-v11 { padding-inline: 16px; }
  .pace-v11-intro h2 { font-size: 29px; letter-spacing: .045em; }
  .pace-v11-lead { font-size: 13px; letter-spacing: .04em; }
  .pace-v11-photo { height: 400px; }
  .pace-v11-choices a { grid-template-columns: 20px minmax(0,1fr) 22px; gap: 12px; padding-inline: 18px; font-size: 14px; }
  .pace-v11-choices a > i { width: 18px; height: 18px; }
  .pace-v11-cta { font-size: 18px; }
}

@media (max-width: 720px) {
  .pace-v11-lead > span { display: contents; }
  .pace-v11-lead-mobile { display: block; }
}

@media (max-width: 350px) {
  .pace-v11-title-prefix,.pace-v11-title-venue,.pace-v11-title-select,.pace-v11-title-available { display: block; }
}

/* Section 12 — two venue access / reference-faithful rebuild */
.access-v12 {
  --access-v12-navy: #062c61;
  --access-v12-aqua: #08b5d1;
  --access-v12-aqua-dark: #00a5c5;
  --access-v12-pale: #f4fbfe;
  position: relative;
  min-height: 0;
  overflow: hidden;
  scroll-margin-top: -10px;
  padding: 72px 20px 62px;
  color: var(--access-v12-navy);
  background:
    radial-gradient(ellipse 31% 32% at 1% 7%, rgba(238,248,253,.72) 0 52%, transparent 52.5%),
    linear-gradient(180deg,#fff 0%,#fff 100%);
}
.lp-section.access-v12::after { display: none; }
.access-v12-orbit,
.access-v12-blob {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.access-v12-orbit {
  border: 2px dashed rgba(19,186,219,.38);
  border-radius: 50%;
}
.access-v12-orbit--top {
  top: -210px;
  right: -80px;
  width: 280px;
  height: 280px;
}
.access-v12-orbit--left {
  left: -185px;
  bottom: 75px;
  width: 270px;
  height: 270px;
}
.access-v12-blob {
  right: -245px;
  bottom: -185px;
  width: 760px;
  height: 610px;
  background: rgba(239,249,253,.68);
  border-radius: 58% 0 0 38% / 58% 0 0 42%;
  transform: rotate(8deg);
}
.access-v12-intro {
  z-index: 3;
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.access-v12-script {
  width: fit-content;
  margin: 0 0 15px;
  color: #25bcda;
  font-family: "Segoe Script","Bradley Hand","Brush Script MT",cursive;
  font-size: clamp(27px,8.4vw,38px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.06em;
  transform: rotate(-7deg);
}
.access-v12-intro h2 {
  margin: 0;
  color: var(--access-v12-navy);
  font-family: var(--serif);
  font-size: clamp(40px,10.6vw,50px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .07em;
}
.access-v12-intro h2 > span {
  display: block;
  font-size: .76em;
  line-height: 1.55;
}
.access-v12-intro h2 > strong {
  color: var(--access-v12-aqua-dark);
  font-weight: 500;
}
.access-v12-intro > p:last-child {
  margin: 17px auto 0;
  color: #173d6b;
  font-family: var(--serif);
  font-size: clamp(13px,3.7vw,16px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .06em;
}
.access-v12-lead > span { display: inline; }
.access-v12-grid {
  z-index: 3;
  max-width: 1400px;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 22px;
  margin: 42px auto 0;
}
.access-v12-card {
  min-width: 0;
  overflow: hidden;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(8,57,103,.11);
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(8,47,99,.105);
}
.access-v12-card-head {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 19px 11px;
}
.access-v12-card-head > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}
.access-v12-card-head > div > svg {
  width: 38px;
  height: 44px;
  flex: 0 0 auto;
  color: var(--access-v12-aqua);
  fill: var(--access-v12-aqua);
  stroke: var(--access-v12-aqua);
  stroke-width: 1.35;
}
.access-v12-card-head h3 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .065em;
  white-space: nowrap;
}
.access-v12-card-head h3 span {
  display: block;
  font-size: clamp(19px,5.4vw,25px);
}
.access-v12-card-head h3 small {
  display: block;
  margin-top: 5px;
  color: var(--access-v12-aqua-dark);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}
.access-v12-card-head > p {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(11px,3vw,14px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .04em;
  text-align: right;
}
.access-v12-card-head > p strong { color: var(--access-v12-aqua-dark); font-weight: 600; }
.access-v12-map {
  height: clamp(190px,55vw,260px);
  margin: 0 11px;
  overflow: hidden;
  background: #edf5f8;
}
.access-v12-map img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.access-v12-card--nagao .access-v12-map img { object-position: 50% 58%; }
.access-v12-card--kozu .access-v12-map img { object-position: 50% 27%; }
.access-v12-info {
  display: grid;
  gap: 6px;
  padding: 11px 13px 12px;
}
.access-v12-info address,
.access-v12-info p {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 13px;
  margin: 0;
  color: #153b69;
  background: var(--access-v12-pale);
  border-radius: 11px;
  font-style: normal;
  font-size: clamp(11px,3.25vw,14px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .035em;
}
.access-v12-info svg {
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  color: var(--access-v12-aqua);
  stroke-width: 2;
}
.access-v12-compare {
  position: relative;
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  justify-self: center;
  color: var(--access-v12-navy);
  border: 2px dashed rgba(19,186,219,.44);
  border-radius: 50%;
}
.access-v12-compare > div {
  position: relative;
  z-index: 2;
  min-width: 112px;
  padding: 7px 9px;
  background: #fff;
  text-align: center;
}
.access-v12-compare p,
.access-v12-compare span { margin: 0; font-family: var(--serif); }
.access-v12-compare p { font-size: 12px; transform: rotate(-9deg); }
.access-v12-compare strong {
  display: block;
  color: var(--access-v12-aqua);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 64px;
  font-weight: 400;
  line-height: .95;
}
.access-v12-compare span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.access-v12-compare-line { display: none; }
.access-v12-cta {
  position: relative;
  z-index: 4;
  width: min(100%,467px);
  min-height: 68px;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 54px;
  align-items: center;
  margin: 34px auto 0;
  padding: 7px 8px 7px 18px;
  color: #fff;
  background: linear-gradient(100deg,#05b7d1 0%,#09b3d0 100%);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,159,191,.22);
  font-family: var(--serif);
  font-size: clamp(18px,5vw,23px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .16em;
  text-align: center;
  transition: transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.access-v12-cta > span { grid-column: 2; }
.access-v12-cta > i {
  grid-column: 3;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  justify-self: end;
  color: var(--access-v12-aqua-dark);
  background: #fff;
  border-radius: 50%;
}
.access-v12-cta svg { width: 29px; height: 29px; stroke-width: 1.7; }
.access-v12-cta:hover { filter: brightness(.98); box-shadow: 0 14px 28px rgba(0,159,191,.27); transform: translateY(-2px); }
.access-v12-cta:focus-visible { outline: 3px solid rgba(0,184,212,.42); outline-offset: 4px; }
.access-v12-note {
  position: relative;
  z-index: 3;
  margin: 18px auto 0;
  color: rgba(6,44,97,.68);
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}

@media (min-width: 960px) and (max-width: 1399.98px) {
  .access-v12 { padding: 82px 30px 70px; }
  .access-v12-intro { max-width: 800px; }
  .access-v12-grid { grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr); gap: 17px; align-items: center; }
  .access-v12-map { height: 200px; }
  .access-v12-card-head { min-height: 88px; align-items: flex-start; }
  .access-v12-card-head > p { max-width: 120px; }
  .access-v12-compare { width: 150px; height: 180px; border-radius: 50%; }
}

@media (min-width: 1400px) {
  .access-v12 {
    display: block;
    width: 100%;
    height: 837px;
    min-height: 837px;
    padding: 0;
  }
  .access-v12-orbit--top {
    top: -246px;
    right: 4.1%;
    width: 300px;
    height: 300px;
  }
  .access-v12-orbit--left {
    left: -164px;
    bottom: -5px;
    width: 270px;
    height: 270px;
  }
  .access-v12-blob {
    right: -160px;
    bottom: -120px;
    width: 740px;
    height: 610px;
  }
  .access-v12-intro {
    position: absolute;
    top: 22px;
    left: 0;
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .access-v12-script {
    position: absolute;
    top: 21px;
    left: 6.55%;
    margin: 0;
    font-size: clamp(31px,2.28vw,38px);
  }
  .access-v12-intro h2 {
    font-size: clamp(60px,4.3vw,72px);
    line-height: 1.25;
    letter-spacing: .075em;
  }
  .access-v12-intro h2 > span {
    font-size: .626em;
    line-height: 1.6;
  }
  .access-v12-intro > p:last-child {
    margin-top: 19px;
    font-size: clamp(14px,1.02vw,17px);
    line-height: 1.7;
    white-space: nowrap;
  }
  .access-v12-grid {
    position: absolute;
    top: 255px;
    left: 50%;
    right: auto;
    width: min(83.5%,1400px);
    max-width: none;
    grid-template-columns: minmax(0,1fr) 224px minmax(0,1fr);
    gap: 22px;
    align-items: start;
    margin: 0;
    transform: translateX(-50%);
  }
  .access-v12-card { height: 422px; border-radius: 26px; }
  .access-v12-card-head { height: 82px; padding: 13px 28px 11px 27px; }
  .access-v12-card-head > div { gap: 13px; }
  .access-v12-card-head > div > svg { width: 40px; height: 46px; }
  .access-v12-card-head h3 span { font-size: clamp(22px,1.47vw,25px); }
  .access-v12-card-head h3 small { font-size: 10px; }
  .access-v12-card-head > p { font-size: clamp(12px,.88vw,15px); white-space: nowrap; }
  .access-v12-map { height: 215px; margin-inline: 11px; }
  .access-v12-info { gap: 6px; padding: 11px 13px 12px; }
  .access-v12-info address,
  .access-v12-info p { height: 44px; min-height: 44px; padding: 7px 14px; font-size: clamp(11px,.84vw,14px); white-space: nowrap; }
  .access-v12-info svg { width: 25px; height: 25px; }
  .access-v12-compare {
    width: 224px;
    height: 269px;
    margin-top: 45px;
    border-radius: 50%;
  }
  .access-v12-compare > div { min-width: 156px; padding: 8px 12px; }
  .access-v12-compare p { font-size: 17px; }
  .access-v12-compare strong { font-size: 92px; }
  .access-v12-compare span { font-size: 16px; }
  .access-v12-compare-line {
    position: absolute;
    z-index: 1;
    top: 132px;
    left: -16px;
    right: -16px;
    display: block;
    border-top: 2px dashed rgba(19,186,219,.48);
  }
  .access-v12-compare-line i {
    position: absolute;
    top: -7px;
    width: 12px;
    height: 12px;
    border-top: 2px solid rgba(19,186,219,.7);
    border-left: 2px solid rgba(19,186,219,.7);
  }
  .access-v12-compare-line i:first-child { left: -1px; transform: rotate(-45deg); }
  .access-v12-compare-line i:last-child { right: -1px; transform: rotate(135deg); }
  .access-v12-cta {
    position: absolute;
    top: 715px;
    left: 50%;
    width: 467px;
    min-height: 84px;
    grid-template-columns: 68px minmax(0,1fr) 68px;
    margin: 0;
    padding: 8px 9px 8px 24px;
    font-size: clamp(21px,1.45vw,24px);
    transform: translateX(-50%);
  }
  .access-v12-cta:hover { transform: translateX(-50%) translateY(-2px); }
  .access-v12-cta > i { width: 68px; height: 68px; }
  .access-v12-cta svg { width: 34px; height: 34px; }
  .access-v12-note {
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    margin: 0;
    font-size: 9px;
  }
}

@media (max-width: 959px) {
  .access-v12-lead > span { display: block; }
  .access-v12-grid { max-width: 620px; }
  .access-v12-compare { order: 2; margin-block: 2px; }
  .access-v12-card--nagao { order: 1; }
  .access-v12-card--kozu { order: 3; }
  .access-v12-cta { max-width: 620px; }
}

@media (max-width: 420px) {
  .access-v12 { padding: 68px 16px 58px; }
  .access-v12-script { font-size: 27px; }
  .access-v12-intro h2 { font-size: clamp(34px,10vw,40px); letter-spacing: .045em; }
  .access-v12-intro > p:last-child { font-size: 12.5px; letter-spacing: .035em; }
  .access-v12-card-head { padding-inline: 16px; }
  .access-v12-card-head > div > svg { width: 34px; height: 40px; }
  .access-v12-card-head h3 span { font-size: 19px; }
  .access-v12-card-head > p { max-width: none; font-size: 9.3px; white-space: nowrap; }
  .access-v12-map { height: 190px; margin-inline: 9px; }
  .access-v12-info { padding-inline: 10px; }
  .access-v12-info address,
  .access-v12-info p { gap: 10px; padding-inline: 11px; font-size: 10.5px; }
  .access-v12-info svg { width: 22px; height: 22px; }
  .access-v12-cta { font-size: 18px; }
  .access-v12-note { font-size: 9px; }
}

@media (max-width: 350px) {
  .access-v12-intro h2 { font-size: 32px; letter-spacing: .035em; }
  .access-v12-cta { min-height: 62px; grid-template-columns: 46px minmax(0,1fr) 46px; padding: 6px; font-size: 16px; letter-spacing: .1em; }
  .access-v12-cta > i { width: 46px; height: 46px; }
}

/* Section 13 — FAQ / reference-faithful redesign */
.faq.faq-v13 {
  --faq-v13-navy: #062c61;
  --faq-v13-aqua: #08b7d3;
  --faq-v13-aqua-dark: #00a6c7;
  position: relative;
  min-height: 0;
  padding: 76px 20px 72px;
  overflow: hidden;
  isolation: isolate;
  color: var(--faq-v13-navy);
  background:
    radial-gradient(circle at 3% 8%, rgba(174,229,248,.26), transparent 29%),
    radial-gradient(circle at 100% 78%, rgba(202,238,250,.35), transparent 31%),
    #fff;
}
.faq.faq-v13::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: auto;
  right: auto;
  bottom: -188px;
  left: -182px;
  width: 410px;
  height: 410px;
  border-radius: 50%;
  opacity: 1;
  background: rgba(218,243,252,.63);
  pointer-events: none;
}
.lp-section.faq-v13::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -240px;
  bottom: -210px;
  left: auto;
  display: block;
  width: 560px;
  height: 560px;
  border: 0;
  border-radius: 50%;
  background: rgba(234,248,253,.58);
  pointer-events: none;
}
.faq-v13-orbit,
.faq-v13-wash {
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
}
.faq-v13-orbit {
  border: 2px dashed rgba(117,216,237,.52);
  border-radius: 50%;
}
.faq-v13-orbit--title {
  top: 104px;
  right: -38px;
  width: 230px;
  height: 230px;
}
.faq-v13-orbit--bottom {
  bottom: -305px;
  left: -155px;
  width: 520px;
  height: 520px;
}
.faq-v13-wash {
  inset: 0;
  background: linear-gradient(126deg, transparent 61%, rgba(219,243,252,.20) 100%);
}
.faq-v13-copy,
.faq-v13-list {
  position: relative;
  z-index: 2;
}
.faq-v13-copy {
  width: min(100%,720px);
  margin-inline: auto;
  text-align: center;
}
.faq-v13-script {
  width: fit-content;
  margin: 0 auto;
  color: var(--faq-v13-aqua);
  font-family: "Segoe Script","Bradley Hand","Brush Script MT",cursive;
  font-size: 31px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.055em;
  transform: rotate(-7deg);
}
.faq-v13-copy h2 {
  margin: 38px 0 0;
  color: var(--faq-v13-navy);
  font-family: var(--serif);
  font-size: clamp(41px,11.2vw,56px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .11em;
  white-space: nowrap;
}
.faq-v13-rule {
  display: block;
  width: 54px;
  height: 4px;
  margin: 38px auto 0;
  background: var(--faq-v13-aqua);
  border-radius: 99px;
}
.faq-v13-lead {
  margin: 30px 0 0;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: .08em;
}
.faq-v13-contact {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 30px auto 0;
  text-align: left;
}
.faq-v13-contact > span {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  color: var(--faq-v13-aqua);
  background: rgba(224,247,252,.92);
  border-radius: 50%;
}
.faq-v13-contact svg { width: 39px; height: 39px; stroke-width: 1.45; }
.faq-v13-contact p {
  margin: 0;
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .08em;
}
.faq-v13-list {
  width: min(100%,780px);
  display: grid;
  gap: 10px;
  margin: 52px auto 0;
}
.faq-v13-item {
  overflow: hidden;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(8,57,103,.08);
  border-radius: 22px;
  box-shadow: 0 8px 22px rgba(18,67,110,.10);
  transition: box-shadow .2s ease, transform .2s ease;
}
.faq-v13-item:hover { box-shadow: 0 12px 28px rgba(18,67,110,.13); }
.faq-v13-item > summary {
  min-height: 98px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 28px;
  align-items: center;
  gap: 15px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
  font-family: var(--serif);
  line-height: 1.65;
}
.faq-v13-item > summary::-webkit-details-marker { display: none; }
.faq-v13-item > summary > .faq-v13-q {
  width: 48px;
  height: 48px;
  aspect-ratio: auto;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg,#1bc2db,#00a8c9);
  border: 0;
  border-radius: 50%;
  font-family: Georgia,serif;
  font-size: 25px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  box-shadow: 0 7px 18px rgba(0,177,209,.16);
}
.faq-v13-item > summary > .faq-v13-question {
  width: auto;
  height: auto;
  aspect-ratio: auto;
  display: block;
  color: var(--faq-v13-navy);
  background: none;
  border: 0;
  border-radius: 0;
  font-family: var(--serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .055em;
}
.faq-v13-question > span { display: inline; }
.faq-v13-item > summary > .faq-v13-plus {
  position: relative;
  width: 28px;
  height: 28px;
}
.faq-v13-item > summary > .faq-v13-plus::before,
.faq-v13-item > summary > .faq-v13-plus::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 1px;
  width: 26px;
  height: 2px;
  background: var(--faq-v13-aqua);
  border-radius: 99px;
  transition: transform .22s ease;
}
.faq-v13-item > summary > .faq-v13-plus::after { transform: rotate(90deg); }
.faq-v13-item[open] > summary > .faq-v13-plus::after { transform: rotate(0); }
.faq-v13-answer {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 13px;
  align-items: start;
  margin: -2px 26px 0 81px;
  padding: 19px 0 23px;
  border-top: 1px solid rgba(8,183,211,.20);
}
.faq-v13-answer > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--faq-v13-aqua-dark);
  background: rgba(8,183,211,.10);
  border-radius: 50%;
  font-family: Georgia,serif;
  font-size: 18px;
}
.faq-v13 .faq-v13-answer p {
  margin: 0;
  color: #49677f;
  font-family: var(--sans);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .045em;
}

@media (min-width: 700px) and (max-width: 1399.98px) {
  .faq.faq-v13 { padding: 92px 44px 86px; }
  .faq-v13-copy h2 { font-size: 58px; }
  .faq-v13-lead { font-size: 19px; }
  .faq-v13-contact p { font-size: 16px; }
  .faq-v13-list { margin-top: 64px; }
  .faq-v13-item > summary { min-height: 112px; padding-inline: 28px; }
  .faq-v13-item > summary > .faq-v13-question { font-size: 20px; }
}

@media (min-width: 1400px) {
  .faq.faq-v13 {
    height: clamp(820px,56.28vw,941px);
    min-height: 820px;
    padding: 0;
  }
  .faq.faq-v13::before {
    bottom: -145px;
    left: -115px;
    width: clamp(300px,20.7vw,346px);
    height: clamp(300px,20.7vw,346px);
  }
  .lp-section.faq-v13::after {
    right: -210px;
    bottom: -270px;
    width: 650px;
    height: 650px;
  }
  .faq-v13-orbit--title {
    top: 14.1%;
    right: auto;
    left: 23.75%;
    width: clamp(264px,18.1vw,303px);
    height: clamp(264px,18.1vw,303px);
  }
  .faq-v13-orbit--bottom {
    bottom: -55.5%;
    left: -13.4%;
    width: clamp(540px,43vw,719px);
    height: clamp(540px,43vw,719px);
  }
  .faq-v13-copy {
    position: absolute;
    top: 21%;
    left: 6.85%;
    width: 35.8%;
    max-width: none;
    margin: 0;
    text-align: left;
  }
  .faq-v13-script { margin: 0 0 0 -1.5%; font-size: clamp(32px,2.18vw,36px); transform: translateY(-12px) rotate(-7deg); }
  .faq-v13-copy h2 {
    margin-top: clamp(48px,3.36vw,56px);
    font-size: clamp(53px,4.07vw,68px);
    line-height: 1.3;
    letter-spacing: .15em;
  }
  .faq-v13-rule { margin: 34px 0 0; }
  .faq-v13-lead {
    margin-top: clamp(36px,2.65vw,44px);
    font-size: clamp(20px,1.55vw,26px);
    line-height: 2.05;
  }
  .faq-v13-contact {
    gap: clamp(18px,1.4vw,24px);
    margin: clamp(27px,1.95vw,32px) 0 0;
  }
  .faq-v13-contact > span { width: clamp(78px,5.5vw,92px); height: clamp(78px,5.5vw,92px); }
  .faq-v13-contact svg { width: clamp(42px,3vw,50px); height: clamp(42px,3vw,50px); }
  .faq-v13-contact p { font-size: clamp(16px,1.28vw,21px); line-height: 1.75; }
  .faq-v13-list {
    position: absolute;
    top: 22.5%;
    right: 5.8%;
    width: 45.6%;
    max-width: none;
    gap: clamp(6px,.42vw,7px);
    margin: 0;
  }
  .faq-v13-item { border-radius: clamp(20px,1.52vw,25.5px); }
  .faq-v13-item > summary {
    min-height: calc(clamp(119px,8.13vw,136px) - 2px);
    grid-template-columns: clamp(54px,3.55vw,59px) minmax(0,1fr) clamp(34px,2.5vw,42px);
    gap: clamp(24px,2.36vw,39px);
    padding: 0 clamp(28px,2.35vw,39px);
  }
  .faq-v13-item > summary > .faq-v13-q {
    width: clamp(54px,3.55vw,59px);
    height: clamp(54px,3.55vw,59px);
    font-size: clamp(27px,1.9vw,32px);
  }
  .faq-v13-item > summary > .faq-v13-question {
    font-size: clamp(22px,1.8vw,30px);
    font-weight: 500;
    letter-spacing: .06em;
    white-space: nowrap;
  }
  .faq-v13-item > summary > .faq-v13-plus { width: clamp(30px,1.9vw,32px); height: clamp(30px,1.9vw,32px); justify-self: end; }
  .faq-v13-item > summary > .faq-v13-plus::before,
  .faq-v13-item > summary > .faq-v13-plus::after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
  }
  .faq-v13-answer {
    min-height: 82px;
    margin: -7px clamp(38px,3vw,50px) 0 clamp(117px,8.1vw,135px);
    padding: 17px 0 21px;
  }
  .faq-v13 .faq-v13-answer p { font-size: clamp(12px,.86vw,14.5px); }
}

@media (max-width: 420px) {
  .faq.faq-v13 { padding: 68px 16px 62px; }
  .faq-v13-orbit--title { top: 88px; right: -60px; width: 190px; height: 190px; }
  .faq-v13-script { font-size: 28px; }
  .faq-v13-copy h2 { margin-top: 34px; font-size: 40px; letter-spacing: .095em; }
  .faq-v13-rule { margin-top: 32px; }
  .faq-v13-lead { margin-top: 25px; font-size: 15px; }
  .faq-v13-contact { gap: 15px; margin-top: 28px; }
  .faq-v13-contact > span { width: 66px; height: 66px; }
  .faq-v13-contact svg { width: 36px; height: 36px; }
  .faq-v13-contact p { font-size: 13px; }
  .faq-v13-list { gap: 9px; margin-top: 46px; }
  .faq-v13-item { border-radius: 19px; }
  .faq-v13-item > summary { min-height: 94px; grid-template-columns: 44px minmax(0,1fr) 24px; gap: 12px; padding: 13px 15px; }
  .faq-v13-item > summary > .faq-v13-q { width: 44px; height: 44px; font-size: 23px; }
  .faq-v13-item > summary > .faq-v13-question { font-size: 14.2px; letter-spacing: .035em; }
  .faq-v13-item > summary > .faq-v13-plus { width: 24px; height: 24px; }
  .faq-v13-item > summary > .faq-v13-plus::before,
  .faq-v13-item > summary > .faq-v13-plus::after { top: 11px; width: 22px; }
  .faq-v13-answer { grid-template-columns: 31px minmax(0,1fr); gap: 10px; margin: -2px 16px 0 71px; padding: 16px 0 19px; }
  .faq-v13-answer > span { width: 30px; height: 30px; font-size: 16px; }
  .faq-v13 .faq-v13-answer p { font-size: 12px; line-height: 1.8; }
}

@media (max-width: 480px) {
  .faq-v13-question--split > span { display: block; }
}

@media (max-width: 350px) {
  .faq-v13-copy h2 { font-size: 36px; letter-spacing: .075em; }
  .faq-v13-contact { gap: 12px; }
  .faq-v13-contact p { font-size: 12.6px; letter-spacing: .06em; }
  .faq-v13-question--split-narrow > span { display: block; }
}

/* Section 14 — reservation form, reference v1 */
.reserve.reserve-v14 {
  position: relative;
  isolation: isolate;
  min-height: 0;
  padding: 84px 20px 72px;
  overflow: hidden;
  color: var(--navy);
  background: #fff;
}
.reserve.reserve-v14::before,
.reserve.reserve-v14::after,
.reserve-v14-orbit,
.reserve-v14-wash {
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
}
.reserve.reserve-v14::before {
  content: "";
  right: -180px;
  top: -190px;
  width: 470px;
  height: 470px;
  border-radius: 50%;
  background: #edf9fd;
  opacity: .9;
}
.reserve.reserve-v14::after {
  content: "";
  left: -150px;
  bottom: -155px;
  width: 340px;
  height: 340px;
  border: 0;
  border-radius: 50%;
  background: #edf9fd;
  opacity: .92;
}
.reserve-v14-orbit {
  border: 2px dotted rgba(0,184,212,.3);
  border-radius: 50%;
}
.reserve-v14-orbit--title {
  top: 96px;
  left: 20%;
  width: 245px;
  height: 245px;
}
.reserve-v14-orbit--bottom {
  left: 70px;
  bottom: -210px;
  width: 500px;
  height: 500px;
}
.reserve-v14-wash--top {
  top: -260px;
  right: 7%;
  width: 530px;
  height: 360px;
  border-radius: 50%;
  background: #edf9fd;
}
.reserve-v14-wash--bottom {
  right: -210px;
  bottom: -310px;
  width: 570px;
  height: 570px;
  border-radius: 50%;
  background: rgba(234,248,253,.62);
}
.reserve-v14-layout {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1536px;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 58px;
  margin: 0 auto;
}
.reserve-v14-intro {
  position: relative;
  z-index: 1;
  min-width: 0;
  max-width: 680px;
}
.reserve-v14-script {
  width: fit-content;
  margin: 0;
  color: var(--aqua);
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: 31px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .01em;
  transform: rotate(-7deg);
  transform-origin: left center;
}
.reserve-v14-intro h2 {
  margin: 52px 0 0;
  color: #082f5e;
  font-family: var(--serif);
  font-size: clamp(40px,10.6vw,52px);
  font-weight: 500;
  line-height: 1.56;
  letter-spacing: .075em;
}
.reserve-v14-intro h2 > span { display: block; white-space: nowrap; }
.reserve-v14-mobile-break { display: none; }
.reserve-v14-intro h2 em {
  color: var(--aqua);
  font-style: normal;
  font-weight: inherit;
}
.reserve-v14-lead {
  margin: 28px 0 0;
  color: #0b3767;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: .08em;
}
.reserve-v14-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
  padding: 0;
  margin: 34px 0 0;
  list-style: none;
}
.reserve-v14-steps li {
  position: relative;
  z-index: 1;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--navy);
  background: rgba(255,255,255,.96);
  border-radius: 50%;
  box-shadow: 0 12px 34px rgba(8,57,103,.1);
  text-align: center;
}
.reserve-v14-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: calc(100% + 5px);
  width: 22px;
  border-top: 3px dotted rgba(0,184,212,.58);
  transform: translateY(-50%);
}
.reserve-v14-steps i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--aqua);
  font-style: normal;
}
.reserve-v14-steps svg { width: 100%; height: 100%; stroke-width: 1.8; }
.reserve-v14-steps span {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
}

.reserve-v14-form {
  width: 100%;
  min-width: 0;
  padding: 24px 28px 25px;
  color: var(--navy);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(8,57,103,.035);
  border-radius: 26px;
  box-shadow: 0 10px 34px rgba(8,57,103,.11);
}
.reserve-v14-fields { width: 100%; }
.reserve-v14-row {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 22px 0 24px;
  border-bottom: 1px dashed rgba(0,152,189,.23);
}
.reserve-v14-row:last-child { border-bottom: 0; }
.reserve-v14-row-label {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  align-items: center;
  gap: 16px;
  color: #092f5e;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .08em;
}
.reserve-v14-row-label > i {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  color: var(--aqua);
  background: #edf9fd;
  border-radius: 50%;
  font-style: normal;
}
.reserve-v14-row-label svg { width: 31px; height: 31px; stroke-width: 1.8; }
.reserve-v14-control,
.reserve-v14-control-group { min-width: 0; }
.reserve-v14-control-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.reserve-v14-control-group--datetime { grid-template-columns: 1.12fr .88fr; }
.reserve-v14-control-group--contact { grid-template-columns: .9fr 1.1fr; }
.reserve-v14-control-group label { min-width: 0; }
.reserve-v14-control-group--datetime,
.reserve-v14-control-group--contact {
  gap: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #d7dde7;
  border-radius: 10px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.reserve-v14-control-group--datetime:hover,
.reserve-v14-control-group--contact:hover { border-color: rgba(0,184,212,.52); }
.reserve-v14-control-group--datetime:focus-within,
.reserve-v14-control-group--contact:focus-within {
  border-color: var(--aqua);
  outline: 3px solid rgba(0,184,212,.22);
  outline-offset: 2px;
  box-shadow: 0 0 0 1px rgba(0,184,212,.28);
}
.reserve-v14-control-group--datetime label,
.reserve-v14-control-group--contact label {
  position: relative;
  display: block;
}
.reserve-v14-control-group--datetime label + label,
.reserve-v14-control-group--contact label + label { border-left: 1px solid #e2e7ee; }
.reserve-v14-form input,
.reserve-v14-form select {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 11px 16px;
  color: var(--navy);
  background: #fff;
  border: 1px solid #d9e2ea;
  border-radius: 7px;
  font: 500 16px/1.4 var(--sans);
  letter-spacing: .035em;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.reserve-v14-form input::placeholder { color: #aab6c8; opacity: 1; }
.reserve-v14-control-group--datetime input,
.reserve-v14-control-group--contact input {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.reserve-v14-control-group--datetime input:focus-visible,
.reserve-v14-control-group--contact input:focus-visible {
  outline: 0;
  box-shadow: none;
}
.reserve-v14-control-group--datetime input[type="date"],
.reserve-v14-control-group--datetime input[type="time"] {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  color-scheme: light;
}
.reserve-v14-control-group--datetime input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.reserve-v14-segment-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 13px;
  width: 22px;
  height: 22px;
  color: var(--aqua-dark);
  pointer-events: none;
  transform: translateY(-50%);
}
.reserve-v14-segment-icon svg { width: 100%; height: 100%; stroke-width: 1.8; }
.reserve-v14-form select {
  appearance: none;
  padding-right: 48px;
  color: #8798ac;
  cursor: pointer;
}
.reserve-v14-form select:valid { color: var(--navy); }
.reserve-v14-form input:hover,
.reserve-v14-form select:hover { border-color: rgba(0,184,212,.52); }
.reserve-v14-form input:focus-visible,
.reserve-v14-form select:focus-visible,
.reserve-v14-submit:focus-visible {
  border-color: var(--aqua);
  outline: 3px solid rgba(0,184,212,.22);
  outline-offset: 2px;
  box-shadow: 0 0 0 1px rgba(0,184,212,.28);
}
.reserve-v14-control-group--datetime input:focus-visible,
.reserve-v14-control-group--contact input:focus-visible {
  border-color: transparent;
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
}
.reserve-v14-select-wrap { position: relative; }
.reserve-v14-select-wrap > svg {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 20px;
  height: 20px;
  color: var(--aqua-dark);
  pointer-events: none;
  transform: translateY(-50%);
}
.reserve-v14-submit {
  width: 100%;
  min-height: 68px;
  display: grid;
  grid-template-columns: 1fr 52px;
  align-items: center;
  gap: 12px;
  padding: 7px 7px 7px 48px;
  margin: 22px 0 0;
  color: #fff;
  background: linear-gradient(90deg,#04bbd4 0%,#00a8cd 100%);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0,174,207,.22);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .11em;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.reserve-v14-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,174,207,.29); filter: saturate(1.05); }
.reserve-v14-submit > i {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: var(--aqua-dark);
  background: #fff;
  border-radius: 50%;
  font-style: normal;
}
.reserve-v14-submit svg { width: 28px; height: 28px; stroke-width: 1.8; }
.reserve-v14-privacy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
  margin: 18px 0 0;
  color: #133a68;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .025em;
}
.reserve-v14-privacy svg { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; }
.reserve-v14-status {
  min-height: 0;
  margin: 9px 0 0;
  color: var(--aqua-dark);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}
.reserve-v14-status:empty { display: none; }

@media (min-width: 1400px) {
  .reserve.reserve-v14 {
    height: clamp(820px,56.28vw,941px);
    min-height: 820px;
    padding: 0 clamp(46px,4.07vw,68px);
  }
  .reserve.reserve-v14::before {
    top: -230px;
    right: -105px;
    width: 465px;
    height: 465px;
  }
  .reserve.reserve-v14::after {
    left: -145px;
    bottom: -125px;
    width: 350px;
    height: 350px;
  }
  .reserve-v14-wash--top {
    top: -265px;
    right: 8.4%;
    width: 560px;
    height: 345px;
  }
  .reserve-v14-wash--bottom {
    right: -260px;
    bottom: -405px;
    width: 700px;
    height: 700px;
  }
  .reserve-v14-orbit--title {
    top: 10.5%;
    left: calc(50% - min(50%,768px) + 280px);
    width: clamp(260px,18vw,301px);
    height: clamp(260px,18vw,301px);
  }
  .reserve-v14-orbit--bottom {
    left: 4.1%;
    bottom: -50%;
    width: clamp(500px,34vw,568px);
    height: clamp(500px,34vw,568px);
  }
  .reserve-v14-layout {
    height: 100%;
    grid-template-columns: minmax(0,680px) minmax(0,799px);
    gap: clamp(36px,3.47vw,58px);
  }
  .reserve-v14-intro { padding-top: clamp(96px,6.7vw,112px); }
  .reserve-v14-script { font-size: clamp(32px,2.28vw,38px); }
  .reserve-v14-intro h2 {
    margin-top: clamp(76px,5.75vw,96px);
    font-size: clamp(50px,3.83vw,64px);
    line-height: 1.48;
    letter-spacing: .07em;
  }
  .reserve-v14-intro h2 > span:first-child { font-size: .925em; letter-spacing: .04em; }
  .reserve-v14-intro h2 > span:last-child { font-size: 1.12em; letter-spacing: .07em; }
  .reserve-v14-lead {
    margin-top: clamp(29px,2vw,33px);
    font-size: clamp(17px,1.26vw,21px);
    line-height: 2.2;
  }
  .reserve-v14-steps {
    width: 88.8%;
    gap: clamp(25px,2.7vw,45px);
    margin-top: clamp(20px,1.45vw,24px);
  }
  .reserve-v14-steps li { gap: 15px; }
  .reserve-v14-steps li:not(:last-child)::after {
    left: calc(100% + 6px);
    width: clamp(20px,2.4vw,40px);
  }
  .reserve-v14-steps i { width: clamp(37px,2.75vw,46px); height: clamp(37px,2.75vw,46px); }
  .reserve-v14-steps span { font-size: clamp(14px,1.08vw,18px); }

  .reserve-v14-form {
    align-self: start;
    max-width: 799px;
    padding: clamp(21px,1.45vw,24px) clamp(42px,2.9vw,48px) clamp(23px,1.55vw,26px);
    margin-top: clamp(104px,7.12vw,119px);
    border-radius: clamp(25px,1.8vw,30px);
  }
  .reserve-v14-row {
    min-height: clamp(112px,7.78vw,130px);
    grid-template-columns: clamp(200px,13.4vw,224px) minmax(0,1fr);
    align-items: center;
    gap: clamp(18px,1.55vw,26px);
    padding: 0;
  }
  .reserve-v14-row-label {
    position: relative;
    grid-template-columns: clamp(64px,4.55vw,76px) minmax(0,1fr);
    gap: clamp(14px,1.05vw,18px);
    min-width: 0;
    font-size: clamp(18px,1.38vw,23px);
    white-space: nowrap;
  }
  .reserve-v14-row-label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    width: 1px;
    height: 45px;
    border-left: 1px dashed rgba(0,152,189,.24);
    transform: translateY(-50%);
  }
  .reserve-v14-row-label > i {
    width: clamp(64px,4.55vw,76px);
    height: clamp(64px,4.55vw,76px);
  }
  .reserve-v14-row-label svg { width: clamp(31px,2.33vw,39px); height: clamp(31px,2.33vw,39px); }
  .reserve-v14-form input,
  .reserve-v14-form select {
    min-height: clamp(60px,4.19vw,70px);
    padding: 12px clamp(12px,1.2vw,20px);
    font-size: clamp(13px,1.08vw,18px);
  }
  .reserve-v14-form select { padding-right: 46px; }
  .reserve-v14-control-group { gap: 8px; }
  .reserve-v14-control-group--datetime,
  .reserve-v14-control-group--contact { gap: 0; }
  .reserve-v14-control-group--contact { grid-template-columns: 1fr 1fr; }
  .reserve-v14-control-group--contact input { padding-inline: 12px; }
  .reserve-v14-submit {
    width: calc(100% - clamp(58px,4.8vw,80px));
    min-height: clamp(82px,5.86vw,98px);
    grid-template-columns: 1fr clamp(58px,4.07vw,68px);
    padding: 7px 7px 7px clamp(48px,4vw,67px);
    margin: 0 auto;
    font-size: clamp(22px,1.67vw,28px);
  }
  .reserve-v14-submit > i { width: clamp(58px,4.07vw,68px); height: clamp(58px,4.07vw,68px); }
  .reserve-v14-privacy {
    gap: 10px;
    margin-top: clamp(19px,1.55vw,26px);
    font-size: clamp(12px,.96vw,16px);
  }
  .reserve-v14-privacy svg { width: clamp(17px,1.2vw,20px); height: clamp(17px,1.2vw,20px); }
}

@media (min-width: 641px) and (max-width: 1399.98px) {
  .reserve.reserve-v14 { padding: 92px 42px 86px; }
  .reserve-v14-layout { max-width: 900px; }
  .reserve-v14-intro { width: min(100%,680px); margin-inline: auto; }
  .reserve-v14-steps { max-width: 620px; }
  .reserve-v14-form { max-width: 800px; margin-inline: auto; }
}

@media (min-width: 641px) and (max-width: 760px) {
  .reserve-v14-mobile-break { display: inline; }
  .reserve-v14-intro h2 { font-size: 48px; }
  .reserve-v14-control-group--datetime,
  .reserve-v14-control-group--contact { grid-template-columns: 1fr; gap: 0; }
  .reserve-v14-control-group--datetime label + label,
  .reserve-v14-control-group--contact label + label { border-top: 1px solid #e2e7ee; border-left: 0; }
}

@media (max-width: 640px) {
  .reserve.reserve-v14 { padding: 72px 18px 64px; }
  .reserve-v14-orbit--title { top: 90px; right: -62px; left: auto; width: 210px; height: 210px; }
  .reserve-v14-orbit--bottom { left: -180px; bottom: -205px; width: 430px; height: 430px; }
  .reserve-v14-script { font-size: 28px; }
  .reserve-v14-intro h2 { margin-top: 44px; font-size: clamp(34px,10vw,39px); line-height: 1.52; letter-spacing: .045em; }
  .reserve-v14-mobile-break { display: inline; }
  .reserve-v14-lead { margin-top: 25px; font-size: 15px; line-height: 2; }
  .reserve-v14-steps { gap: 12px; margin-top: 31px; }
  .reserve-v14-steps li { gap: 8px; }
  .reserve-v14-steps li:not(:last-child)::after { left: calc(100% + 3px); width: 12px; border-width: 2px; }
  .reserve-v14-steps i { width: 28px; height: 28px; }
  .reserve-v14-steps span { font-size: 11.5px; line-height: 1.45; letter-spacing: .015em; }
  .reserve-v14-form { padding: 18px 18px 24px; border-radius: 23px; }
  .reserve-v14-row { gap: 12px; padding: 18px 0 20px; }
  .reserve-v14-row-label { grid-template-columns: 52px minmax(0,1fr); gap: 13px; font-size: 16px; }
  .reserve-v14-row-label > i { width: 52px; height: 52px; }
  .reserve-v14-row-label svg { width: 28px; height: 28px; }
  .reserve-v14-control-group { grid-template-columns: 1fr; gap: 9px; }
  .reserve-v14-control-group--datetime,
  .reserve-v14-control-group--contact { gap: 0; }
  .reserve-v14-control-group--datetime label + label,
  .reserve-v14-control-group--contact label + label { border-top: 1px solid #e2e7ee; border-left: 0; }
  .reserve-v14-form input,
  .reserve-v14-form select { min-height: 54px; padding: 10px 14px; font-size: 16px; }
  .reserve-v14-submit { min-height: 64px; grid-template-columns: 1fr 48px; padding: 7px 7px 7px 38px; margin-top: 21px; font-size: 18px; }
  .reserve-v14-submit > i { width: 48px; height: 48px; }
  .reserve-v14-submit svg { width: 25px; height: 25px; }
  .reserve-v14-privacy { justify-content: flex-start; margin-top: 17px; font-size: 11px; }
}

@media (max-width: 360px) {
  .reserve.reserve-v14 { padding-right: 14px; padding-left: 14px; }
  .reserve-v14-intro h2 { font-size: 33px; }
  .reserve-v14-steps { gap: 8px; }
  .reserve-v14-steps li:not(:last-child)::after { left: calc(100% + 2px); width: 8px; }
  .reserve-v14-steps span { font-size: 10.5px; }
  .reserve-v14-form { padding-right: 14px; padding-left: 14px; }
  .reserve-v14-submit { gap: 8px; padding-left: 30px; font-size: 17px; letter-spacing: .08em; }
}

/* Upper-tablet composition audit: soften the 1350/1351 desktop transition. */
@media (min-width: 1100px) and (max-width: 1350px) {
  :root { --fv-header-h: 80px; }

  .hero {
    min-height: 840px;
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 22px;
    margin-top: var(--fv-header-h);
    padding: 40px 4.5vw;
  }
  .hero-copy {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 1;
    width: auto;
    max-width: none;
    margin: 0;
  }
  .hero-script { font-size: 24px; }
  .hero h1 { font-size: clamp(39px, 3.5vw, 46px); line-height: 1.47; letter-spacing: .025em; }
  .hero-number { font-size: 1.68em; }
  .hero-description { margin-top: 20px; font-size: 15px; line-height: 1.9; }
  .hero-actions { margin-top: 22px; }
  .hero-actions .button,
  .hero-actions .button-primary { min-height: 68px; }
  .hero-location { margin-top: 18px; }
  .hero-points {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1;
    grid-row: 2;
    width: auto;
    max-width: none;
    height: auto;
    margin: 22px 0 0;
  }
  .hero-media {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1 / 3;
    width: auto;
    min-height: 720px;
    margin: 0;
  }
  .hero-photo-main { top: 28px; left: 0; width: 110%; height: clamp(560px, 46vw, 620px); transform: rotate(3deg); }
  .hero-photo-main img { object-position: 70% 50%; }
  .hero-handnote { top: 12px; right: -4px; }
  .hero-thumbs { right: -3px; bottom: 20px; left: -3px; }
  .hero-image-note { right: 0; bottom: -1px; }

  .overview-v2 {
    display: grid;
    grid-template-columns: 40% minmax(0, 60%);
    grid-template-areas: "intro benefits" "homes homes" "bottom bottom";
    column-gap: 32px;
    padding: 64px 5.5vw 54px;
  }
  .overview-v2-intro { grid-area: intro; max-width: none; }
  .overview-v2-intro h2 { font-size: clamp(33px, 3vw, 41px); line-height: 1.45; letter-spacing: .025em; }
  .overview-v2-intro > p { margin-top: 20px; font-size: 15px; line-height: 1.9; }
  .overview-v2-script { top: 228px; left: -8px; font-size: 49px; }
  .overview-v2-benefits { grid-area: benefits; margin: 0; padding: 28px 16px 26px; }
  .overview-v2-benefits-title { gap: 20px; margin-inline: 16px; }
  .overview-v2-benefits-title h3 { font-size: 20px; }
  .overview-v2-benefits-grid { margin-top: 24px; }
  .overview-v2-icon { width: 90px; height: 90px; }
  .overview-v2-benefits-grid h4 { margin-top: 12px; font-size: 15px; }
  .overview-v2-benefits-grid p { margin-top: 8px; font-size: 11px; }
  .overview-v2-homes { grid-area: homes; margin-top: 54px; }
  .overview-v2-note { width: 104px; height: 104px; font-size: 12px; }
  .overview-v2-bottom { grid-area: bottom; margin-top: 16px; }

  .compare-v3 {
    display: grid;
    grid-template-columns: 32.5% minmax(0, 67.5%);
    grid-template-areas: "intro venue" "intro cards" ". note";
    column-gap: 30px;
    padding: 50px 4.5vw 52px;
  }
  .compare-v3-intro { grid-area: intro; max-width: none; margin: 0; text-align: left; }
  .compare-v3-script { margin: 0; font-size: 31px; }
  .compare-v3-intro h2 { margin-top: 24px; font-size: 43px; line-height: 1.48; }
  .compare-v3-lead { margin-top: 15px; font-size: 14px; line-height: 1.9; }
  .compare-v3-benefits { max-width: none; margin: 20px 0 0; padding-top: 16px; }
  .compare-v3-benefits li { min-height: 108px; padding-inline: 5px; }
  .compare-v3-benefits i { width: 58px; height: 58px; }
  .compare-v3-benefits span { font-size: 11px; }
  .compare-v3-cta { width: 100%; margin: 22px 0 0; font-size: 13px; }
  .compare-v3-venue-heading {
    grid-area: venue;
    align-self: end;
    width: 100%;
    margin: 0 auto 20px;
    font-size: clamp(16px, 1.55vw, 21px);
  }
  .compare-v3-cards { grid-area: cards; gap: 18px; margin: 0; }
  .compare-v3-note { grid-area: note; margin: 24px 0 0; }

  .compare-v2-card { min-height: 522px; }
  .compare-v2-photo { height: 220px; }
  .compare-v2-card h3 { min-height: 80px; }
  .compare-v2-fit-list { min-height: 90px; }
  .compare-v2-specs { min-height: 112px; }
  .compare-v2-footer { margin-top: 28px; }

  .nagao-v5 {
    display: grid;
    grid-template-columns: 40% minmax(0, 60%);
    grid-template-areas: "intro cards" "points cards" "footer footer";
    column-gap: 28px;
    padding: 64px 4.5vw 54px;
  }
  .nagao-v5-intro { grid-area: intro; max-width: none; margin: 0; text-align: left; }
  .nagao-v5-intro > .venue-context { margin-inline: 0; }
  .nagao-v5-script { margin: 0; font-size: 29px; }
  .nagao-v5-intro h2 { margin-top: 18px; font-size: clamp(31px, 2.8vw, 38px); line-height: 1.5; letter-spacing: .02em; }
  .nagao-v5-title-line { white-space: nowrap; }
  .nagao-v5-rule { margin-top: 20px; }
  .nagao-v5-lead { margin-top: 22px; font-size: 14px; line-height: 1.9; letter-spacing: .045em; }
  .nagao-v5-points { grid-area: points; width: 100%; margin: 24px 0 0; padding: 20px 16px 18px; }
  .nagao-v5-points ul { gap: 14px; margin-top: 16px; }
  .nagao-v5-points li { padding-left: 21px; font-size: 12px; }
  .nagao-v5-cards { grid-area: cards; gap: 12px; margin: 0; }
  .nagao-v5-card figure { margin: 8px 8px 0; aspect-ratio: 1.28; }
  .nagao-v5-card-body { padding-inline: 12px; }
  .nagao-v5-card header { min-height: 68px; gap: 9px; }
  .nagao-v5-card header > span { min-width: 62px; height: 32px; padding-inline: 10px; font-size: 13px; }
  .nagao-v5-card h3 { font-size: clamp(16px, 1.4vw, 19px); }
  .nagao-v5-price { min-height: 78px; gap: 7px; }
  .nagao-v5-price strong { font-size: 36px; }
  .nagao-v5-price span { margin-bottom: 21px; font-size: 12px; }
  .nagao-v5-specs { min-height: 104px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-bottom: 10px; }
  .nagao-v5-specs > div { min-height: 0; grid-template-columns: 24px 1fr; column-gap: 4px; padding: 0 3px; }
  .nagao-v5-specs > div + div { border-top: 0; border-left: 1px solid var(--nagao-v5-divider); }
  .nagao-v5-specs svg { width: 22px; height: 22px; }
  .nagao-v5-specs dt { font-size: 9px; }
  .nagao-v5-specs dd { margin-top: 4px; font-size: 11px; }
  .nagao-v5-footer { grid-area: footer; min-height: 110px; grid-template-columns: 1.15fr .8fr 1.25fr; gap: 12px; margin: 34px 0 0; padding: 16px 18px; }
  .nagao-v5-footer-copy { grid-column: auto; justify-content: flex-start; gap: 14px; }
  .nagao-v5-footer-copy span { font-size: 21px; }
  .nagao-v5-footer-copy strong { font-size: 17px; }
  .nagao-v5-schedule { min-height: 54px; gap: 8px; padding-left: 14px; font-size: 12px; }
  .nagao-v5-schedule svg { width: 27px; height: 27px; }
  .nagao-v5-cta { min-height: 68px; padding: 8px 9px 8px 24px; font-size: 16px; }
  .nagao-v5-cta i { width: 52px; height: 52px; }
}

@media (min-width: 1351px) {
  .hero-photo-main img { object-position: 70% 50%; }
}

/* Keep semantic Japanese line breaks inside their measured title boxes. */
@media (min-width: 1100px) and (max-width: 1350px) {
  .overview-v2-intro h2 { width: calc(100% + 20px); }
}

@media (min-width: 1351px) and (max-width: 1450px) {
  .hero h1 { width: calc(100% + 72px); }
  .kozu-features-v8-intro h2 { width: calc(100% + 6px); }
}

@media (min-width: 1451px) {
  .hero h1 { width: calc(100% + 24px); }
}

/* --------------------------------------------------------------------------
   Section 01 / First view: three completed homes
   Reference composition: 3 equal columns × sky / headline / photo / caption.
   -------------------------------------------------------------------------- */
:root {
  --fv3-paper: #f4f2ed;
  --fv3-navy: #082b53;
  --fv3-cyan: #1eadc2;
}

.fv-page .site-header {
  transition: transform .34s ease, opacity .24s ease, box-shadow .24s ease;
}

.fv-page:not(.fv-header-visible) .site-header {
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-100% - 16px));
}

.fv-three.lp-section {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100svh;
  min-height: 720px;
  display: grid;
  grid-template-rows: 26.14% 10.31% 63.55%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--fv3-navy);
  background: var(--fv3-paper);
}

.fv-three.lp-section::before,
.fv-three.lp-section::after {
  display: none;
}

.fv-three-sky {
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 36.45%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
}

.fv-three-sky-panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 560%;
}

.fv-three-sky-panel::before,
.fv-three-sky-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fv-three-sky-panel::before {
  background: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.29));
}

.fv-three-sky-panel::after {
  opacity: .44;
}

.fv-three-sky-panel--01 {
  background-image: url("assets/images/section02-nagao-1-v1.webp");
}
.fv-three-sky-panel--01::after { background: #84b3dd; opacity: .38; }

.fv-three-sky-panel--02 {
  background-image: url("assets/images/section02-nagao-2-v1.webp");
  background-position: 45% top;
}
.fv-three-sky-panel--02::after { background: #a3c4c3; opacity: .58; }

.fv-three-sky-panel--03 {
  background-image: url("assets/images/section02-nagao-1-v1.webp");
  background-position: 72% top;
}
.fv-three-sky-panel--03::after { background: #c0cebc; opacity: .72; }

.fv-three-sky-panel span {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 7.1%;
  color: transparent;
  font-family: var(--serif);
  font-size: clamp(178px, 14.3vw, 240px);
  font-weight: 300;
  line-height: .92;
  letter-spacing: 0;
  -webkit-text-stroke: 1px rgba(255,255,255,.68);
  text-shadow: 0 0 1px rgba(255,255,255,.15);
}

.fv-three-heading {
  position: relative;
  z-index: 2;
  grid-row: 2;
  align-self: stretch;
  width: 96.29%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(26px, 4vw, 68px);
  padding: 0 clamp(36px, 3.35vw, 56px) 0 clamp(70px, 8.1vw, 136px);
  background: var(--fv3-paper);
}

@media (min-width: 960px) {
  .fv-three.lp-section {
    grid-template-rows: 26.14% clamp(138px, 8.75vw, 168px) minmax(0, 1fr);
  }

  .fv-three-sky {
    height: calc(26.14% + clamp(138px, 8.75vw, 168px));
  }
}

.fv-three-heading::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: clamp(12px, .96vw, 16px);
  background: var(--fv3-cyan);
}

.fv-three-heading h1,
.fv-three-heading p {
  margin: 0;
  white-space: nowrap;
}

.fv-three-heading h1 {
  min-width: 0;
  overflow: visible;
  font-family: var(--sans);
  font-size: clamp(46px, 3.83vw, 64px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .055em;
}

.fv-three-heading p {
  padding-top: .38em;
  font-size: clamp(22px, 1.92vw, 32px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .18em;
}

.fv-three-heading .fv-three-event-copy {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: end;
  gap: .35em .65em;
  padding-top: 0;
  font-size: clamp(18px, 1.45vw, 25px);
  letter-spacing: .095em;
}

.fv-three-event-copy strong {
  color: var(--fv3-navy);
  font-weight: 800;
}

.fv-three-event-copy > span {
  color: var(--fv3-cyan);
  font-weight: 800;
}

.fv-three-event-copy small {
  grid-column: 1 / -1;
  justify-self: end;
  padding: .42em 1em .46em;
  border: 1px solid rgba(0, 174, 205, .45);
  border-radius: 999px;
  color: #0a4a70;
  background: rgba(229, 249, 253, .72);
  font-size: .58em;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .1em;
}

.fv-three-properties {
  position: relative;
  z-index: 1;
  grid-row: 3;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--fv3-paper);
}

.fv-three-property {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 1fr;
  margin: 0;
  background: var(--fv3-paper);
}

.fv-three-photo {
  --fv-photo-x: .5;
  --fv-photo-y: .5;
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #d8e5e9;
}

.fv-three-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: calc(var(--fv-photo-x) * 100%) calc(var(--fv-photo-y) * 100%);
  transform: scale(1.002);
}

.fv-three-property--01 .fv-three-photo { --fv-photo-x: .5; --fv-photo-y: .48; }
.fv-three-property--02 .fv-three-photo { --fv-photo-x: .46; --fv-photo-y: .48; }
.fv-three-property--03 .fv-three-photo { --fv-photo-x: .58; --fv-photo-y: .5; }

.fv-daynight {
  isolation: isolate;
  cursor: crosshair;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.fv-daynight-day {
  position: relative;
  z-index: 0;
}

.fv-daynight .fv-daynight-night {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .42s ease;
}

.fv-daynight.is-night-fixed .fv-daynight-night { opacity: 1; }

.fv-daynight-canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transform: scale(1.002);
  transform-origin: 50% 50%;
}

.fv-daynight-toggle {
  position: absolute;
  z-index: 3;
  top: clamp(10px, 1vw, 16px);
  right: clamp(10px, 1vw, 16px);
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 12px 7px 9px;
  color: #fff;
  background: rgba(4, 37, 72, .76);
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  font-family: var(--sans);
  font-size: clamp(10px, .78vw, 13px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .075em;
  text-shadow: 0 1px 5px rgba(0, 20, 44, .35);
  box-shadow: 0 5px 18px rgba(0, 30, 60, .14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  transition: background-color .24s ease, border-color .24s ease, opacity .24s ease, transform .24s ease;
}

.fv-daynight-toggle:hover {
  background: rgba(0, 171, 199, .88);
  border-color: rgba(255, 255, 255, .88);
  transform: translateY(-1px);
}

.fv-daynight-toggle:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(0, 181, 209, .72);
}

.fv-daynight-toggle-dot {
  position: relative;
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 50%;
}

.fv-daynight-toggle-dot::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: var(--fv3-cyan);
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgba(27, 191, 214, .52);
  animation: fv-daynight-pulse 2.2s ease-out infinite;
}

.fv-daynight.is-night-fixed .fv-daynight-toggle {
  background: rgba(255, 255, 255, .9);
  border-color: rgba(0, 49, 91, .18);
  color: var(--fv3-navy);
  text-shadow: none;
}

.fv-daynight.is-daynight-engaged:not(.is-night-fixed) .fv-daynight-toggle { opacity: .72; }

@keyframes fv-daynight-pulse {
  0% { box-shadow: 0 0 0 0 rgba(27, 191, 214, .48); }
  65%, 100% { box-shadow: 0 0 0 7px rgba(27, 191, 214, 0); }
}

.fv-three-property figcaption {
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 0 clamp(22px, 3vw, 50px);
  background: var(--fv3-paper);
}

.fv-three-property--03 figcaption {
  padding-left: clamp(18px, 2vw, 34px);
  padding-right: clamp(10px, 1vw, 18px);
}

.fv-three-property--03 .fv-three-rule {
  margin-inline: clamp(12px, 1vw, 18px);
}

.fv-three-property--03 .fv-three-place {
  flex: 0 1 auto;
  gap: clamp(6px, .6vw, 10px);
  font-size: clamp(16px, 1.25vw, 23px);
  letter-spacing: .11em;
}

.fv-three-index {
  flex: 0 0 auto;
  font-family: "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
  font-size: clamp(46px, 3.58vw, 60px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05em;
  font-stretch: condensed;
}

.fv-three-rule {
  flex: 0 0 2px;
  width: 2px;
  height: clamp(48px, 3.58vw, 60px);
  margin: 0 clamp(18px, 1.67vw, 28px);
  background: var(--fv3-cyan);
}

.fv-three-place {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  gap: clamp(10px, 1.05vw, 18px);
  white-space: nowrap;
  font-size: clamp(19px, 1.5vw, 25px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .18em;
}

.fv-three-place strong { font-weight: 500; }

.fv-three-cta {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 1.15vw, 19px);
  color: #fff;
  background: var(--fv3-navy);
  border: 1px solid var(--fv3-navy);
  border-radius: 0;
  font-size: clamp(15px, 1.08vw, 18px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
  box-shadow: none;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.fv-three-cta svg {
  width: 20px;
  height: 20px;
  stroke-width: 1.5;
}

.fv-three-cta:hover {
  color: var(--fv3-navy);
  background: #fff;
  transform: translateY(-1px);
}

.fv-three-cta:focus-visible {
  outline: 3px solid rgba(30,173,194,.42);
  outline-offset: 4px;
}

.fv-three-cta--desktop {
  flex: 0 0 clamp(178px, 12.45vw, 208px);
  width: clamp(178px, 12.45vw, 208px);
  height: clamp(56px, 3.72vw, 62px);
  margin-left: auto;
}

.fv-three-property--03 .fv-three-cta--desktop {
  flex-basis: clamp(150px, 10.5vw, 190px);
  width: clamp(150px, 10.5vw, 190px);
  gap: clamp(8px, .8vw, 13px);
  font-size: clamp(13px, 1vw, 18px);
}

.fv-three-cta--mobile { display: none; }

@media (min-width: 960px) and (max-width: 1199px) {
  .fv-three-heading {
    column-gap: 24px;
    padding-right: 28px;
    padding-left: 6.8vw;
  }
  .fv-three-heading h1 { font-size: clamp(36px, 3.7vw, 44px); }
  .fv-three-heading p { font-size: clamp(17px, 1.85vw, 22px); letter-spacing: .13em; }
  .fv-three-property figcaption { padding-inline: 12px; }
  .fv-three-property--03 figcaption { padding-right: 10px; }
  .fv-three-index { font-size: 40px; }
  .fv-three-rule { height: 40px; margin-inline: 12px; }
  .fv-three-place { gap: 7px; font-size: 14px; letter-spacing: .11em; }
  .fv-three-cta--desktop {
    flex-basis: 136px;
    width: 136px;
    height: 48px;
    min-height: 48px;
    gap: 8px;
    font-size: 12px;
    letter-spacing: .09em;
  }
  .fv-three-cta--desktop svg { width: 16px; height: 16px; }
  .fv-three-property--03 .fv-three-place {
    gap: 7px;
    font-size: 14px;
    letter-spacing: .09em;
  }
  .fv-three-property--03 .fv-three-cta--desktop {
    flex-basis: 136px;
    width: 136px;
    gap: 8px;
    font-size: 12px;
  }
}

@media (max-width: 959px) {
  .fv-three.lp-section {
    height: auto;
    min-height: 0;
    grid-template-rows: clamp(112px, 28vw, 156px) auto auto;
    overflow: hidden;
  }

  .fv-three-sky {
    position: relative;
    grid-row: 1;
    inset: auto;
    height: 100%;
  }

  .fv-three-sky-panel { background-size: auto 520%; }
  .fv-three-sky-panel span {
    top: 8px;
    left: 9%;
    font-size: clamp(96px, 27vw, 150px);
  }

  .fv-three-heading {
    grid-row: 2;
    width: 100%;
    min-height: 166px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 13px;
    padding: 24px 34px 28px 22px;
  }

  .fv-three-heading::after {
    inset: auto 0 0;
    width: 100%;
    height: 6px;
  }

  .fv-three-heading h1 {
    white-space: normal;
    font-size: clamp(28px, 7.2vw, 42px);
    line-height: 1.42;
    letter-spacing: .035em;
  }

  .fv-three-heading p {
    padding-top: 0;
    white-space: normal;
    font-size: clamp(14px, 3.8vw, 20px);
    line-height: 1.45;
    letter-spacing: .12em;
  }

  .fv-three-heading .fv-three-event-copy {
    width: 100%;
    grid-template-columns: auto;
    justify-content: start;
    gap: 4px;
    font-size: clamp(14px, 3.8vw, 20px);
  }

  .fv-three-event-copy small {
    grid-column: auto;
    justify-self: start;
    margin-top: 4px;
    font-size: .65em;
  }

  .fv-three-properties {
    grid-row: 3;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 20px 20px 18px;
    scroll-padding-inline: 20px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .fv-three-properties::-webkit-scrollbar { display: none; }

  .fv-three-property {
    flex: 0 0 min(86vw, 540px);
    grid-template-rows: 1fr;
    scroll-snap-align: start;
  }

  .fv-three-photo { aspect-ratio: 1.17; }

  .fv-daynight-toggle {
    top: 11px;
    right: 11px;
    min-height: 32px;
    padding: 6px 10px 6px 8px;
    font-size: 10px;
    letter-spacing: .055em;
  }

  .fv-three-property figcaption,
  .fv-three-property--03 figcaption {
    padding: 0 clamp(17px, 5vw, 28px);
  }

  .fv-three-index { font-size: clamp(38px, 11vw, 52px); }
  .fv-three-rule {
    height: clamp(42px, 12vw, 54px);
    margin-inline: clamp(14px, 4vw, 22px);
  }
  .fv-three-place {
    gap: 10px;
    font-size: clamp(15px, 4.5vw, 21px);
    letter-spacing: .13em;
  }

  .fv-three-property--03 .fv-three-place {
    gap: 10px;
    font-size: clamp(15px, 4.5vw, 21px);
    letter-spacing: .13em;
  }

  .fv-three-cta--desktop { display: none; }
  .fv-three-cta--mobile {
    grid-row: 4;
    width: auto;
    min-height: 58px;
    display: flex;
    margin: 0 20px 30px;
    font-size: 15px;
  }
}

@media (max-width: 380px) {
  .fv-three-heading { min-height: 154px; }
  .fv-three-heading h1 { font-size: 27px; }
  .fv-three-property { flex-basis: 88vw; }
  .fv-three-place { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .fv-page .site-header,
  .fv-three-cta,
  .fv-daynight-night,
  .fv-daynight-toggle { transition: none; }

  .fv-daynight-toggle-dot::after { animation: none; }

  .fv-daynight-canvas { display: none; }
}

/* Property venue tabs: overview → selected venue → shared specification */
.property-switcher {
  position: relative;
  z-index: 6;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(58px, 5.6vw, 88px) clamp(24px, 6vw, 96px) clamp(52px, 5vw, 78px);
  background:
    radial-gradient(circle at 11% 18%, rgba(213, 243, 252, .82) 0 9%, transparent 9.3%),
    radial-gradient(circle at 93% 92%, rgba(226, 246, 253, .92) 0 15%, transparent 15.3%),
    linear-gradient(122deg, #fbfeff 0%, #fff 46%, #f3fbfe 100%);
  border-block: 1px solid rgba(0, 184, 212, .14);
  scroll-margin-top: 0;
}

.property-switcher::before,
.property-switcher::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.property-switcher::before {
  top: -92px;
  right: clamp(18px, 8vw, 150px);
  width: clamp(180px, 19vw, 320px);
  aspect-ratio: 1;
  border: 2px dashed rgba(0, 184, 212, .22);
}

.property-switcher::after {
  left: 4.5%;
  bottom: -104px;
  width: clamp(210px, 24vw, 390px);
  aspect-ratio: 1;
  border: 1px solid rgba(0, 184, 212, .12);
  box-shadow: 0 0 0 32px rgba(221, 245, 252, .2), 0 0 0 64px rgba(221, 245, 252, .12);
}

.property-switcher > .section-mobile-index { display: none; }

.property-switcher-inner {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  margin-inline: auto;
}

.property-switcher-intro {
  text-align: center;
}

.property-switcher-script {
  margin: 0 0 4px;
  color: var(--aqua-dark);
  font-family: "Segoe Script", "Bradley Hand", cursive;
  font-size: clamp(20px, 2vw, 29px);
  line-height: 1.3;
  letter-spacing: .04em;
  transform: rotate(-3deg);
}

.property-switcher-intro h2 {
  margin: 0;
  color: var(--navy-deep);
  font-family: var(--serif);
  font-size: clamp(34px, 3.4vw, 52px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .1em;
}

.property-switcher-intro > p:last-child {
  margin: 12px 0 0;
  color: rgba(8, 57, 103, .8);
  font-size: clamp(13px, 1.15vw, 16px);
  font-weight: 600;
  letter-spacing: .08em;
}

.property-switcher-mobile-break { display: none; }

.property-tabs {
  width: min(1120px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
  margin: clamp(30px, 3.2vw, 46px) auto 0;
}

.property-tab {
  position: relative;
  min-width: 0;
  min-height: 126px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(15px, 1.5vw, 24px);
  padding: 20px clamp(19px, 2vw, 30px);
  overflow: visible;
  color: var(--navy);
  text-align: left;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(8, 57, 103, .14);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(8, 57, 103, .1);
  cursor: pointer;
  transition: color .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.property-tab::before {
  content: "";
  position: absolute;
  inset: -1px -1px auto;
  height: 5px;
  background: linear-gradient(90deg, var(--aqua), #5fd6e9);
  border-radius: 18px 18px 0 0;
  opacity: .48;
  transition: opacity .24s ease;
}

.property-tab:hover {
  border-color: rgba(0, 184, 212, .45);
  box-shadow: 0 18px 46px rgba(8, 57, 103, .15);
  transform: translateY(-2px);
}

.property-tab:focus-visible {
  outline: 3px solid rgba(0, 184, 212, .7);
  outline-offset: 4px;
}

.property-tab[aria-selected="true"] {
  color: #fff;
  background: linear-gradient(128deg, #083967 0%, #075181 100%);
  border-color: #083967;
  box-shadow: 0 20px 48px rgba(5, 43, 80, .24);
}

.property-tab[aria-selected="true"]::before { opacity: 1; }

.property-tab[aria-selected="true"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -11px;
  width: 22px;
  height: 22px;
  background: #075181;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}

.property-tab-number {
  min-width: 74px;
  padding-right: clamp(15px, 1.5vw, 23px);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(14px, 1.15vw, 17px);
  font-weight: 700;
  letter-spacing: .08em;
  border-right: 1px solid currentColor;
  opacity: .88;
}

.property-tab-name {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.35;
}

.property-tab-name small {
  font-size: clamp(11px, .9vw, 13px);
  font-weight: 700;
  letter-spacing: .14em;
  opacity: .72;
}

.property-tab-name strong {
  min-width: 0;
  font-family: var(--serif);
  font-size: clamp(20px, 1.5vw, 25px);
  font-weight: 700;
  letter-spacing: .07em;
}

.property-tab-name strong > span {
  display: block;
  white-space: nowrap;
}

.property-tab-status {
  justify-self: end;
  padding: 7px 12px;
  color: #057ea0;
  white-space: nowrap;
  background: #e9f9fd;
  border-radius: 999px;
  font-size: clamp(10px, .84vw, 12px);
  font-weight: 800;
  letter-spacing: .04em;
}

.property-tab[aria-selected="true"] .property-tab-status {
  color: #fff;
  background: rgba(255, 255, 255, .15);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24);
}

.property-panel {
  min-width: 0;
  outline: none;
}

.property-panel:focus-visible {
  outline: 3px solid rgba(0, 184, 212, .58);
  outline-offset: -3px;
}

.property-panel[hidden] { display: none !important; }

@media (min-width: 901px) and (max-width: 1150px) {
  .property-tab {
    min-height: 142px;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    row-gap: 8px;
  }

  .property-tab-number { min-width: 66px; }
  .property-tab-name strong { font-size: 19px; }
  .property-tab-status {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 900px) {
  .property-switcher {
    padding: 56px clamp(16px, 4.5vw, 34px) 52px;
    scroll-margin-top: 0;
  }

  .property-switcher > .section-mobile-index {
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 auto 20px;
    color: var(--aqua-dark);
    font-family: Georgia, serif;
    font-size: 12px;
    font-style: italic;
    letter-spacing: .12em;
  }

  .property-switcher::before { top: -72px; right: -64px; }
  .property-switcher::after { left: -110px; bottom: -130px; }

  .property-switcher-script { font-size: clamp(19px, 5vw, 25px); }
  .property-switcher-intro h2 {
    font-size: clamp(29px, 7.6vw, 40px);
    line-height: 1.5;
    letter-spacing: .07em;
  }
  .property-switcher-mobile-break { display: initial; }
  .property-switcher-intro > p:last-child {
    max-width: 34em;
    margin: 10px auto 0;
    font-size: 12px;
    line-height: 1.8;
  }

  .property-tabs { gap: 10px; margin-top: 28px; }
  .property-tab {
    min-height: 132px;
    grid-template-columns: 1fr;
    align-content: center;
    justify-items: center;
    gap: 7px;
    padding: 15px 10px 14px;
    text-align: center;
    border-radius: 14px;
  }
  .property-tab::before { border-radius: 14px 14px 0 0; }
  .property-tab-number {
    min-width: 0;
    padding: 0;
    font-size: 11px;
    border-right: 0;
  }
  .property-tab-name { align-items: center; gap: 1px; }
  .property-tab-name small { font-size: 10px; }
  .property-tab-name strong {
    font-size: clamp(14px, 3.8vw, 18px);
    line-height: 1.35;
    letter-spacing: .035em;
  }
  .property-tab-status {
    justify-self: center;
    padding: 4px 8px;
    font-size: 9px;
    line-height: 1.35;
    white-space: normal;
  }
}

@media (max-width: 360px) {
  .property-switcher { padding-inline: 10px; }
  .property-tabs { gap: 7px; }
  .property-tab { min-height: 138px; padding-inline: 7px; }
  .property-tab-name strong { font-size: 13px; }
  .property-tab-status { font-size: 8.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .property-tab { transition: none; }
}

/* Property venue selector v5: approved three-home editorial filmstrip */
.property-switcher {
  --property-navy: #062f5c;
  --property-navy-soft: #0a4c79;
  --property-cyan: #08b9d7;
  --property-cyan-pale: #bfeefa;
  --property-line: rgba(83, 190, 224, .17);
  position: relative;
  z-index: 6;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(64px, 3.8vw, 80px) clamp(20px, 1.35vw, 29px) clamp(76px, 4.55vw, 97px);
  background: #fff;
  border: 0;
  scroll-margin-top: var(--fv-header-h);
}

.property-switcher::before,
.property-switcher::after { content: none; }

.property-switcher-drafting {
  position: absolute;
  z-index: 0;
  overflow: visible;
  fill: none;
  stroke: var(--property-line);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  pointer-events: none;
}

.property-switcher-drafting--left {
  top: 0;
  left: 0;
  width: clamp(150px, 11.4vw, 240px);
  height: auto;
}

.property-switcher-drafting--right {
  top: 6px;
  right: 0;
  width: clamp(220px, 17vw, 360px);
  height: auto;
}

.property-switcher > .section-mobile-index { display: none; }

.property-switcher-inner {
  position: relative;
  z-index: 2;
  width: min(2058px, 100%);
  margin-inline: auto;
}

.property-switcher-intro {
  width: min(1900px, 100%);
  display: grid;
  grid-template-columns: 225px max-content minmax(330px, 420px);
  align-items: center;
  gap: 28px;
  margin-inline: auto;
  text-align: left;
}

.property-switcher-script {
  margin: 0;
  color: var(--property-cyan);
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(20px, 1.3vw, 27px);
  line-height: 1.2;
  letter-spacing: .025em;
  white-space: nowrap;
  transform: rotate(-3deg);
}

.property-switcher-intro h2 {
  margin: 0;
  color: var(--property-navy);
  font-family: var(--serif);
  font-size: clamp(44px, 2.8vw, 60px);
  font-weight: 600;
  line-height: 1.24;
  letter-spacing: .055em;
  white-space: nowrap;
}

.property-switcher-intro h2 > span { display: inline; }

.property-switcher-lead {
  width: min(100%, 420px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-self: end;
  gap: clamp(14px, 1.05vw, 22px);
  margin: 0;
  color: rgba(6, 47, 92, .9);
  font-family: var(--sans);
  text-align: left;
  white-space: normal;
}

.property-switcher-lead-count {
  min-height: 52px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  padding-right: clamp(14px, 1vw, 21px);
  color: var(--property-cyan);
  border-right: 1px solid rgba(8, 185, 215, .34);
  line-height: 1;
}

.property-switcher-lead-count strong {
  font-family: var(--serif);
  font-size: clamp(44px, 2.65vw, 56px);
  font-weight: 500;
  letter-spacing: -.035em;
}

.property-switcher-lead-count small {
  font-size: clamp(11px, .7vw, 14px);
  font-weight: 700;
  letter-spacing: .08em;
  white-space: nowrap;
}

.property-switcher-lead-copy {
  min-width: 0;
  display: block;
  line-height: 1.35;
}

.property-switcher-lead-copy > span,
.property-switcher-lead-copy > strong { display: block; }

.property-switcher-lead-copy > span {
  color: rgba(6, 47, 92, .7);
  font-size: clamp(12px, .7vw, 14px);
  font-weight: 600;
  letter-spacing: .12em;
}

.property-switcher-lead-copy > strong {
  margin-top: 3px;
  color: var(--property-navy);
  font-family: var(--serif);
  font-size: clamp(16px, 1.02vw, 21px);
  font-weight: 600;
  letter-spacing: .075em;
  white-space: nowrap;
}

.property-switcher-mobile-break { display: none; }

.property-tabs {
  width: min(1992px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: clamp(7px, .52vw, 11px);
  margin: clamp(56px, 3.45vw, 73px) auto 0 0;
}

.property-tab {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: stretch;
  justify-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  color: var(--property-navy);
  font: inherit;
  text-align: left;
  appearance: none;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: filter .22s ease, transform .22s ease;
}

.property-tab::before,
.property-tab::after { content: none; display: none; }

.property-tab:hover {
  border-color: transparent;
  box-shadow: none;
  filter: drop-shadow(0 13px 18px rgba(6, 47, 92, .12));
  transform: translateY(-2px);
}

.property-tab:focus-visible {
  outline: 3px solid var(--property-cyan);
  outline-offset: 4px;
}

.property-tab[aria-selected="true"] {
  color: #fff;
  background: #fff;
  border-color: transparent;
  box-shadow: none;
}

.property-tab-gallery {
  width: 100%;
  height: clamp(260px, 15.28vw, 323px);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(6px, .38vw, 8px);
  overflow: hidden;
  background: #eef9fd;
  pointer-events: none;
}

.property-tab-gallery--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.property-tab-photo {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #eef9fd;
}

.property-tab-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.002);
  transition: transform .5s cubic-bezier(.2, .75, .25, 1);
}

.property-tab--nagao .property-tab-photo:nth-child(1) img { object-position: 50% 54%; }
.property-tab--nagao .property-tab-photo:nth-child(2) img { object-position: 50% 55%; }
.property-tab--kozu .property-tab-photo img { object-position: 52% 52%; }
.property-tab:hover .property-tab-photo img { transform: scale(1.018); }

.property-tab-home-label {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: clamp(70px, 5.1vw, 108px);
  height: clamp(43px, 2.95vw, 62px);
  display: grid;
  place-items: center;
  padding-inline: 15px;
  color: #fff;
  background: var(--property-navy);
  font-family: var(--serif);
  font-size: clamp(17px, 1.23vw, 26px);
  font-weight: 600;
  letter-spacing: .06em;
}

.property-tab-footer {
  min-height: clamp(84px, 4.65vw, 98px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 1.1vw, 24px);
  padding: 12px clamp(18px, 1.55vw, 33px);
  color: var(--property-navy);
  background: linear-gradient(100deg, #bceefa 0%, #a6e8f7 100%);
  transition: color .22s ease, background .22s ease;
}

.property-tab[aria-selected="true"] .property-tab-footer {
  color: #fff;
  background: linear-gradient(104deg, var(--property-navy) 0%, var(--property-navy-soft) 100%);
}

.property-tab-info {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px, 1.25vw, 27px);
}

.property-tab-number {
  min-width: 0;
  padding: 0 clamp(17px, 1.25vw, 27px) 0 0;
  color: currentColor;
  font-family: var(--serif);
  font-size: clamp(17px, 1.15vw, 24px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .08em;
  white-space: nowrap;
  border-right: 1px solid currentColor;
  opacity: 1;
}

.property-tab-name {
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: clamp(7px, .8vw, 16px);
  line-height: 1.3;
  white-space: nowrap;
}

.property-tab-name small {
  flex: 0 0 auto;
  color: currentColor;
  font-family: var(--serif);
  font-size: clamp(13px, .92vw, 19px);
  font-weight: 600;
  letter-spacing: .12em;
  opacity: .92;
}

.property-tab-name strong {
  min-width: 0;
  color: currentColor;
  font-family: var(--serif);
  font-size: clamp(18px, 1.25vw, 26px);
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
}

.property-tab--kozu .property-tab-info {
  flex: 1 1 auto;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: clamp(10px, .72vw, 15px);
  row-gap: 3px;
}
.property-tab--kozu .property-tab-number {
  grid-row: 1 / 3;
  align-self: center;
  padding-right: clamp(12px, .9vw, 19px);
  font-size: clamp(15px, .9vw, 19px);
}
.property-tab--kozu .property-tab-name { gap: 8px; }
.property-tab--kozu .property-tab-name small { font-size: clamp(10px, .61vw, 13px); }
.property-tab--kozu .property-tab-name strong {
  font-size: clamp(10px, .64vw, 13.5px);
  line-height: 1.35;
  letter-spacing: .03em;
  white-space: normal;
  word-break: keep-all;
}
.property-tab--kozu .property-tab-status {
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  padding-inline: 10px;
  font-size: clamp(9px, .58vw, 12px);
}
.property-tab--kozu .property-tab-action {
  min-width: clamp(180px, 10.45vw, 220px);
  padding-inline: clamp(17px, 1.15vw, 24px);
}

.property-tab-status {
  justify-self: end;
  padding: 7px 13px;
  color: currentColor;
  white-space: nowrap;
  background: rgba(255, 255, 255, .22);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  font-family: var(--sans);
  font-size: clamp(10px, .72vw, 15px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .035em;
}

.property-tab:not([aria-selected="true"]) .property-tab-status {
  color: #087a9a;
  background: rgba(255, 255, 255, .24);
  border-color: rgba(6, 47, 92, .08);
}

.property-tab-action {
  flex: 0 0 auto;
  min-width: clamp(196px, 13.3vw, 281px);
  min-height: clamp(54px, 3.2vw, 68px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 1.25vw, 27px);
  padding: 11px clamp(22px, 1.7vw, 36px);
  color: var(--property-navy);
  background: #fff;
  border: 1px solid rgba(6, 47, 92, .05);
  border-radius: 999px;
  font-family: var(--sans);
  font-size: clamp(13px, .9vw, 19px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .055em;
  white-space: nowrap;
  box-shadow: 0 5px 13px rgba(6, 47, 92, .06);
}

.property-tab:not([aria-selected="true"]) .property-tab-action { color: #0789aa; }

.property-tab-action svg {
  width: clamp(20px, 1.25vw, 26px);
  height: clamp(20px, 1.25vw, 26px);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.property-panel {
  min-width: 0;
  outline: none;
}

.property-panel:focus-visible {
  outline: 3px solid rgba(0, 184, 212, .58);
  outline-offset: -3px;
}

.property-panel[hidden] { display: none !important; }

@media (max-width: 1500px) {
  .property-switcher-intro {
    grid-template-columns: 190px minmax(0, 1fr) 360px;
    gap: 20px;
  }
  .property-switcher-intro h2 { font-size: clamp(38px, 3vw, 46px); }
  .property-switcher-lead { width: min(100%, 360px); }
  .property-switcher-lead-count { min-height: 48px; }
  .property-switcher-lead-count strong { font-size: 44px; }
  .property-switcher-lead-copy > strong { font-size: 16px; }
  .property-tab-info { gap: 14px; }
  .property-tab-number { padding-right: 16px; }
  .property-tab-name { gap: 8px; }
  .property-tab-action { min-width: 196px; padding-inline: 22px; }
  .property-tab--kozu .property-tab-action { min-width: 174px; padding-inline: 17px; }
}

@media (max-width: 1220px) {
  .property-switcher { padding-top: 58px; }
  .property-switcher-intro {
    width: min(100%, 1000px);
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px 24px;
  }
  .property-switcher-intro h2 { font-size: clamp(37px, 3.7vw, 45px); }
  .property-switcher-lead {
    grid-column: 1 / -1;
    width: min(100%, 380px);
    justify-self: center;
    margin: 8px auto 0;
    text-align: left;
  }
  .property-tabs { margin-top: 42px; }
  .property-tab-info {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px 12px;
  }
  .property-tab-status { grid-column: 2; justify-self: start; }
  .property-tab-name { flex-direction: column; align-items: flex-start; gap: 1px; }
  .property-tab--kozu .property-tab-name { gap: 1px; }
  .property-tab-action { min-width: 168px; }
}

@media (max-width: 1100px) {
  .property-tabs {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 900px) {
  .property-switcher {
    padding: 50px clamp(16px, 4.5vw, 34px) 58px;
    scroll-margin-top: var(--fv-header-h);
  }
  .property-switcher > .section-mobile-index {
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 auto 17px;
    color: var(--property-cyan);
    font-family: Georgia, serif;
    font-size: 11px;
    font-style: italic;
    letter-spacing: .13em;
  }
  .property-switcher-drafting--left { top: 10px; left: -48px; width: 170px; }
  .property-switcher-drafting--right { top: 20px; right: -94px; width: 250px; }
  .property-switcher-intro {
    display: block;
    width: 100%;
    text-align: center;
  }
  .property-switcher-script {
    width: fit-content;
    margin: 0 auto 9px;
    font-size: clamp(18px, 5.6vw, 25px);
  }
  .property-switcher-intro h2 {
    font-size: clamp(29px, 7.9vw, 42px);
    line-height: 1.42;
    letter-spacing: .055em;
    white-space: normal;
  }
  .property-switcher-intro h2 > span { display: block; }
  .property-switcher-lead {
    width: min(100%, 350px);
    margin: 11px auto 0;
    text-align: left;
  }
  .property-tabs {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 32px;
  }
  .property-tab { width: 100%; }
  .property-tab-gallery { height: clamp(154px, 45vw, 230px); }
  .property-tab-footer {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 15px 16px;
  }
  .property-tab-info {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px 12px;
  }
  .property-tab-number { padding-right: 12px; font-size: clamp(14px, 4vw, 18px); }
  .property-tab-name {
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
  }
  .property-tab-name small { font-size: clamp(11px, 3vw, 13px); }
  .property-tab-name strong { font-size: clamp(16px, 4.4vw, 20px); }
  .property-tab--kozu .property-tab-info { gap: 5px 12px; }
  .property-tab--kozu .property-tab-number { padding-right: 12px; font-size: clamp(14px, 4vw, 18px); }
  .property-tab--kozu .property-tab-name { flex-direction: column; align-items: flex-start; gap: 0; }
  .property-tab--kozu .property-tab-name small { font-size: 11px; }
  .property-tab--kozu .property-tab-name strong { font-size: clamp(13px, 3.7vw, 17px); line-height: 1.4; white-space: normal; }
  .property-tab-status {
    grid-column: 2;
    justify-self: start;
    padding: 4px 8px;
    font-size: 10px;
  }
  .property-tab-action {
    align-self: center;
    min-width: 158px;
    min-height: 48px;
    gap: 13px;
    padding: 9px 16px;
    font-size: 12px;
  }
  .property-tab-action svg { width: 20px; height: 20px; }
}

@media (max-width: 560px) {
  .property-switcher { padding-inline: 13px; }
  .property-switcher-lead {
    width: min(100%, 320px);
    gap: 11px;
  }
  .property-switcher-lead-count {
    min-height: 44px;
    padding-right: 12px;
  }
  .property-switcher-lead-count strong { font-size: 39px; }
  .property-switcher-lead-count small { font-size: 10px; }
  .property-switcher-lead-copy > span { font-size: 10px; }
  .property-switcher-lead-copy > strong {
    font-size: 14px;
    letter-spacing: .055em;
  }
  .property-tab-footer { grid-template-columns: 1fr; }
  .property-tab-action {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }
  .property-tab-home-label {
    min-width: 58px;
    height: 36px;
    font-size: 15px;
  }
}

@media (max-width: 380px) {
  .property-switcher { padding-inline: 10px; }
  .property-switcher-intro h2 { font-size: 28px; }
  .property-tab-gallery { height: 148px; }
  .property-tab-footer { padding-inline: 13px; }
  .property-tab-name strong { font-size: 15px; }
  .property-tab--kozu .property-tab-name strong { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .property-tab,
  .property-tab-photo img { transition: none; }
}

/* Section 02 / final precision pass: deterministic lettering, icons and line breaks. */
.overview-v2-intro > p span {
  display: block;
  width: fit-content;
  white-space: nowrap;
}

.overview-v2-mobile-break { display: none; }

.overview-v2-script {
  display: block;
  max-width: none;
  height: auto;
  object-fit: contain;
  transform: rotate(-6deg);
}

.overview-v2-icon img {
  display: block;
  width: 56%;
  height: 56%;
  object-fit: contain;
}

.overview-v2-benefits-grid article:nth-child(2) .overview-v2-icon img { width: 57%; height: 57%; }
.overview-v2-benefits-grid article:nth-child(3) .overview-v2-icon img { width: 59%; height: 59%; }

.overview-v2-note { white-space: nowrap; }

@media (min-width: 1351px) {
  .overview-v2-script {
    top: calc(clamp(282px, 20.81vw, 348px) - 27px);
    left: -3.56vw;
    width: clamp(505px, 32vw, 535px);
  }

  .overview-v2-benefits {
    left: 43.96vw;
    width: 47.25vw;
  }

  .overview-v2-benefits-grid h4,
  .overview-v2-benefits-grid p { white-space: nowrap; }
}

@media (min-width: 901px) and (max-width: 1350px) {
  .overview-v2-script {
    top: 235px;
    left: -18px;
    width: min(430px, 39vw);
  }
}

@media (max-width: 900px) {
  .overview-v2-script { display: none; }
  .overview-v2-intro > p .overview-v2-mobile-break { display: block; }
}

/* Venue selector v7: accepted ticket-passport concept, placed directly below the FV. */
.property-switcher.venue-selector-v6 {
  --venue-navy: #062f61;
  --venue-navy-soft: #073f73;
  --venue-cyan: #08b5d3;
  --venue-cyan-soft: #36c5df;
  --venue-paper: #fffdfa;
  --venue-bg: #fefdfc;
  position: relative;
  z-index: 6;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(44px, 3.2vw, 64px) clamp(18px, 2.3vw, 46px) clamp(56px, 3.8vw, 76px);
  color: var(--venue-navy);
  background:
    radial-gradient(circle at 1.8% 17%, rgba(216, 244, 252, .82) 0 7.4%, transparent 7.6%),
    radial-gradient(circle at 99% 92%, rgba(226, 247, 252, .84) 0 11.8%, transparent 12%),
    linear-gradient(122deg, var(--venue-bg) 0%, #fff 56%, #fbfeff 100%);
  border: 0;
  scroll-margin-top: var(--fv-header-h);
}

.venue-selector-v6 .property-switcher-drafting {
  z-index: 0;
  stroke: rgba(79, 188, 219, .18);
  stroke-width: 1.25;
}

.venue-selector-v6 .property-switcher-drafting--left {
  top: -4px;
  left: -26px;
  width: clamp(160px, 12vw, 242px);
}

.venue-selector-v6 .property-switcher-drafting--right {
  top: 2px;
  right: -18px;
  width: clamp(240px, 17vw, 345px);
}

.venue-selector-v6 > .section-mobile-index { display: none; }

.venue-selector-inner {
  position: relative;
  z-index: 2;
  width: min(1900px, 100%);
  margin-inline: auto;
}

.venue-selector-head {
  width: min(1500px, calc(100% - 80px));
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) minmax(100px, 190px);
  grid-template-areas:
    "script title spacer"
    ". lead .";
  align-items: center;
  column-gap: clamp(24px, 2.4vw, 48px);
  row-gap: 9px;
  margin-inline: auto;
}

.venue-selector-script {
  grid-area: script;
  position: relative;
  width: fit-content;
  margin: 0;
  color: var(--venue-cyan);
  font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  font-size: clamp(17px, 1.25vw, 25px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .025em;
  white-space: nowrap;
  transform: rotate(-4deg);
}

.venue-selector-script > span { display: block; }

.venue-selector-script svg {
  width: 96px;
  height: 34px;
  display: block;
  margin: -2px 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.venue-selector-head h2 {
  grid-area: title;
  margin: 0;
  color: var(--venue-navy);
  font-family: var(--serif);
  font-size: clamp(42px, 3vw, 61px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .06em;
  text-align: center;
  white-space: nowrap;
}

.venue-selector-head h2 > span { display: inline; }

.venue-selector-lead {
  grid-area: lead;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin: 0;
  color: rgba(6, 47, 97, .88);
  font-family: var(--serif);
  font-size: clamp(16px, 1.18vw, 23px);
  line-height: 1.45;
  letter-spacing: .055em;
  text-align: center;
}

.venue-selector-lead strong {
  color: var(--venue-cyan);
  font-size: 1.65em;
  font-weight: 600;
  line-height: .9;
}

.venue-tickets {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.1vw, 22px);
  margin-top: clamp(38px, 3vw, 60px);
}

.venue-ticket {
  --ticket-color: var(--venue-navy);
  --ticket-soft: var(--venue-navy-soft);
  --ticket-stub-bg: linear-gradient(145deg, #062f61 0%, #073f73 100%);
  --ticket-stub-text: #fff;
  position: relative;
  min-width: 0;
  min-height: clamp(392px, 23.4vw, 468px);
  display: grid;
  grid-template-columns: clamp(112px, 7.4vw, 148px) minmax(0, 1fr) clamp(170px, 11vw, 220px);
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  color: var(--ticket-color);
  font: inherit;
  text-align: left;
  appearance: none;
  background-color: var(--venue-paper);
  background-image:
    repeating-radial-gradient(ellipse at 50% 50%, transparent 0 7px, color-mix(in srgb, var(--ticket-color) 7%, transparent) 7.5px 8px, transparent 8.5px 15px),
    linear-gradient(112deg, rgba(255, 255, 255, .7), rgba(255, 253, 248, .96));
  border: 3px solid var(--ticket-color);
  border-radius: 15px;
  box-shadow:
    inset 0 0 0 4px var(--venue-paper),
    inset 0 0 0 5px color-mix(in srgb, var(--ticket-color) 62%, transparent),
    0 17px 31px rgba(6, 47, 97, .13);
  cursor: pointer;
  transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

.venue-ticket--kozu {
  --ticket-color: var(--venue-cyan);
  --ticket-soft: var(--venue-cyan-soft);
  --ticket-stub-bg: rgba(255, 253, 250, .96);
  --ticket-stub-text: var(--venue-cyan);
}

.venue-ticket:hover {
  z-index: 2;
  filter: saturate(1.04);
  transform: translateY(-3px);
  box-shadow:
    inset 0 0 0 4px var(--venue-paper),
    inset 0 0 0 5px color-mix(in srgb, var(--ticket-color) 68%, transparent),
    0 23px 38px rgba(6, 47, 97, .17);
}

.venue-ticket[aria-selected="true"] {
  box-shadow:
    inset 0 0 0 4px var(--venue-paper),
    inset 0 0 0 5px color-mix(in srgb, var(--ticket-color) 74%, transparent),
    0 23px 42px color-mix(in srgb, var(--ticket-color) 22%, transparent);
}

.venue-ticket:focus-visible {
  outline: 4px solid color-mix(in srgb, var(--ticket-color) 62%, white);
  outline-offset: 5px;
}

.venue-ticket-number,
.venue-ticket-main,
.venue-ticket-side {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.venue-ticket-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  padding: clamp(31px, 2.35vw, 47px) 12px 20px;
  color: var(--ticket-stub-text);
  background: var(--ticket-stub-bg);
  border-right: 2px dotted color-mix(in srgb, var(--ticket-color) 58%, white);
}

.venue-ticket-number::before,
.venue-ticket-side::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 48px;
  height: 82px;
  background: var(--venue-bg);
  border-radius: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.venue-ticket-number::before {
  left: -30px;
  border-right: 3px solid var(--ticket-color);
}

.venue-ticket-side::after {
  right: -30px;
  border-left: 3px solid var(--ticket-color);
}

.venue-ticket-number small {
  font-family: var(--serif);
  font-size: clamp(17px, 1.14vw, 23px);
  font-weight: 700;
  letter-spacing: .16em;
}

.venue-ticket-number strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(66px, 5.1vw, 102px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.04em;
}

.venue-ticket-number i {
  position: relative;
  width: 52px;
  height: 12px;
  display: block;
  margin-top: 20px;
  border-top: 2px dotted currentColor;
  opacity: .9;
}

.venue-ticket-number i::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.venue-ticket-main {
  display: grid;
  grid-template-rows: auto auto 45px auto auto;
  align-content: center;
  gap: 9px;
  padding: clamp(29px, 2vw, 40px) clamp(19px, 1.55vw, 31px);
}

.venue-ticket-title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  color: var(--ticket-color);
  font-family: var(--serif);
  line-height: 1.25;
  text-align: center;
}

.venue-ticket-title small {
  flex: 0 0 auto;
  font-size: clamp(15px, 1vw, 20px);
  font-weight: 600;
  letter-spacing: .1em;
}

.venue-ticket-title strong {
  min-width: 0;
  font-size: clamp(25px, 1.76vw, 35px);
  font-weight: 600;
  letter-spacing: .075em;
  word-break: keep-all;
}

.venue-ticket--kozu .venue-ticket-title {
  align-items: center;
  gap: 9px;
}

.venue-ticket--kozu .venue-ticket-title small { font-size: clamp(13px, .88vw, 17px); }
.venue-ticket--kozu .venue-ticket-title strong {
  font-size: clamp(20px, 1.35vw, 27px);
  line-height: 1.35;
  letter-spacing: .045em;
}

.venue-ticket-summary {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(105px, .9fr) minmax(125px, 1.1fr);
  align-items: center;
  gap: clamp(12px, 1vw, 20px);
  padding: 5px 4px 0;
}

.venue-ticket-summary > span:last-child {
  color: rgba(6, 47, 97, .86);
  font-family: var(--serif);
  font-size: clamp(15px, 1.02vw, 20px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .055em;
}

.venue-ticket-homes {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  color: var(--ticket-color);
}

.venue-ticket-homes svg {
  width: clamp(53px, 3.6vw, 72px);
  height: clamp(53px, 3.6vw, 72px);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.venue-ticket--kozu .venue-ticket-homes svg {
  width: clamp(66px, 4.3vw, 86px);
  height: clamp(66px, 4.3vw, 86px);
}

.venue-ticket-route {
  position: relative;
  height: 45px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-inline: 7px;
  color: var(--ticket-color);
}

.venue-ticket-route b {
  position: absolute;
  z-index: -1;
  left: 28px;
  right: 28px;
  top: 19px;
  height: 29px;
  border-top: 2px dotted currentColor;
  border-radius: 50% 50% 0 0;
  transform: translateY(-7px);
  opacity: .85;
}

.venue-ticket-route i,
.venue-ticket-route em {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--ticket-color);
  border-radius: 50%;
  box-shadow: 0 4px 10px color-mix(in srgb, var(--ticket-color) 20%, transparent);
}

.venue-ticket-route em {
  color: var(--ticket-color);
  background: transparent;
  box-shadow: none;
}

.venue-ticket-route svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.venue-ticket-route em svg { width: 29px; height: 29px; }

.venue-ticket-station {
  color: rgba(6, 47, 97, .9);
  font-family: var(--serif);
  font-size: clamp(17px, 1.15vw, 23px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .035em;
  text-align: center;
  white-space: nowrap;
}

.venue-ticket-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 5px;
}

.venue-ticket-facts > span {
  min-width: 0;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, .7);
  border: 1px solid color-mix(in srgb, var(--ticket-color) 63%, white);
  border-radius: 8px;
}

.venue-ticket-facts i {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--ticket-color);
  border-radius: 50%;
}

.venue-ticket-facts i svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.venue-ticket-facts > span:nth-child(2) i {
  color: var(--ticket-color);
  background: transparent;
  border-radius: 0;
}

.venue-ticket-facts strong {
  min-width: 0;
  color: var(--ticket-color);
  font-family: var(--serif);
  font-size: clamp(14px, .95vw, 19px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .015em;
  white-space: nowrap;
}

.venue-ticket-facts small { font-size: .68em; }

.venue-ticket-side {
  display: grid;
  grid-template-rows: 1.08fr .92fr;
  border-left: 2px dotted color-mix(in srgb, var(--ticket-color) 48%, white);
}

.venue-ticket-stamp {
  align-self: center;
  justify-self: center;
  width: clamp(116px, 7.8vw, 156px);
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--ticket-color);
  background: rgba(255, 255, 255, .45);
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 5px var(--venue-paper),
    inset 0 0 0 7px currentColor;
  font-family: var(--serif);
  text-align: center;
}

.venue-ticket-stamp i {
  font-size: 10px;
  font-style: normal;
  letter-spacing: .15em;
}

.venue-ticket-stamp small {
  margin-top: 5px;
  font-size: clamp(14px, .93vw, 19px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .06em;
}

.venue-ticket-stamp strong {
  font-size: clamp(42px, 3vw, 60px);
  font-weight: 500;
  line-height: .98;
}

.venue-ticket-stamp strong span { font-size: .48em; }

.venue-ticket-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 15px;
  color: #fff;
  background: linear-gradient(145deg, var(--ticket-color), var(--ticket-soft));
  font-family: var(--serif);
  font-size: clamp(21px, 1.52vw, 30px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .04em;
  text-align: center;
}

.venue-ticket-action svg {
  width: 46px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.2;
}

@media (max-width: 1500px) {
  .venue-selector-head {
    width: min(1260px, calc(100% - 30px));
    grid-template-columns: minmax(180px, 235px) minmax(0, 1fr) 110px;
    column-gap: 22px;
  }

  .venue-selector-head h2 { font-size: clamp(37px, 3.1vw, 47px); }
  .venue-ticket {
    grid-template-columns: 100px minmax(0, 1fr) 168px;
    min-height: 406px;
  }
  .venue-ticket-main { padding-inline: 18px; }
  .venue-ticket-title strong { font-size: 26px; }
  .venue-ticket--kozu .venue-ticket-title strong { font-size: 20px; }
  .venue-ticket-summary { grid-template-columns: minmax(90px, .8fr) minmax(118px, 1.2fr); }
  .venue-ticket-summary > span:last-child { font-size: 16px; }
  .venue-ticket-station { font-size: 17px; }
  .venue-ticket-facts strong { font-size: 14px; }
  .venue-ticket-stamp { width: 122px; }
  .venue-ticket-action { font-size: 22px; }
}

@media (max-width: 1180px) {
  .venue-selector-head {
    width: min(920px, calc(100% - 20px));
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
    grid-template-areas:
      "script title"
      ". lead";
  }
  .venue-selector-head h2 {
    font-size: clamp(35px, 4vw, 44px);
    white-space: normal;
  }
  .venue-tickets {
    width: min(940px, 100%);
    grid-template-columns: 1fr;
    margin-inline: auto;
  }
  .venue-ticket {
    min-height: 390px;
    grid-template-columns: 126px minmax(0, 1fr) 190px;
  }
  .venue-ticket-title strong { font-size: 31px; }
  .venue-ticket--kozu .venue-ticket-title strong { font-size: 25px; }
  .venue-ticket-summary > span:last-child { font-size: 18px; }
  .venue-ticket-station { font-size: 20px; }
  .venue-ticket-facts strong { font-size: 17px; }
  .venue-ticket-stamp { width: 136px; }
}

@media (max-width: 760px) {
  .property-switcher.venue-selector-v6 {
    padding: 43px clamp(10px, 3.5vw, 20px) 52px;
  }

  .venue-selector-v6 > .section-mobile-index {
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 auto 17px;
    color: var(--venue-cyan);
    font-family: Georgia, serif;
    font-size: 11px;
    font-style: italic;
    letter-spacing: .13em;
  }

  .venue-selector-v6 .property-switcher-drafting--left { left: -78px; width: 170px; }
  .venue-selector-v6 .property-switcher-drafting--right { right: -130px; width: 250px; }

  .venue-selector-head {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }

  .venue-selector-script {
    margin-inline: auto;
    font-size: clamp(17px, 5.2vw, 22px);
  }

  .venue-selector-script svg { width: 78px; height: 26px; }

  .venue-selector-head h2 {
    font-size: clamp(28px, 7.8vw, 38px);
    line-height: 1.48;
    letter-spacing: .055em;
    white-space: normal;
  }

  .venue-selector-head h2 > span { display: block; }

  .venue-selector-lead {
    max-width: 29em;
    display: block;
    margin-top: 3px;
    font-size: clamp(13px, 3.7vw, 16px);
    line-height: 1.7;
    text-align: center;
  }

  .venue-selector-lead strong { margin-right: 4px; vertical-align: baseline; }

  .venue-tickets { gap: 16px; margin-top: 27px; }

  .venue-ticket {
    min-height: 0;
    grid-template-columns: clamp(66px, 19vw, 82px) minmax(0, 1fr);
    grid-template-rows: auto auto;
    border-width: 2px;
    border-radius: 12px;
  }

  .venue-ticket-number {
    grid-column: 1;
    grid-row: 1;
    gap: 2px;
    padding: 25px 7px 18px;
  }

  .venue-ticket-number::before,
  .venue-ticket-side::after { display: none; }

  .venue-ticket-number small { font-size: 13px; }
  .venue-ticket-number strong { font-size: clamp(46px, 14vw, 62px); }
  .venue-ticket-number i { width: 33px; margin-top: 12px; }

  .venue-ticket-main {
    grid-column: 2;
    grid-row: 1;
    grid-template-rows: auto auto 36px auto auto;
    gap: 7px;
    padding: 22px clamp(12px, 4vw, 19px) 18px;
  }

  .venue-ticket-title {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .venue-ticket-title small { font-size: 12px; }
  .venue-ticket-title strong { font-size: clamp(22px, 6.4vw, 29px); }
  .venue-ticket--kozu .venue-ticket-title strong {
    max-width: 13em;
    font-size: clamp(17px, 5vw, 22px);
  }

  .venue-ticket-summary {
    min-height: 60px;
    grid-template-columns: minmax(74px, .8fr) minmax(100px, 1.2fr);
    gap: 7px;
  }

  .venue-ticket-homes svg { width: 42px; height: 42px; }
  .venue-ticket--kozu .venue-ticket-homes svg { width: 50px; height: 50px; }
  .venue-ticket-summary > span:last-child { font-size: clamp(12px, 3.4vw, 15px); }

  .venue-ticket-route { height: 36px; margin-inline: 2px; }
  .venue-ticket-route b { left: 24px; right: 24px; top: 16px; }
  .venue-ticket-route i,
  .venue-ticket-route em { width: 31px; height: 31px; }
  .venue-ticket-route svg { width: 18px; height: 18px; }
  .venue-ticket-route em svg { width: 24px; height: 24px; }

  .venue-ticket-station {
    font-size: clamp(13px, 3.7vw, 16px);
    white-space: normal;
  }

  .venue-ticket-facts {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .venue-ticket-facts > span {
    min-height: 43px;
    justify-content: flex-start;
    padding: 6px 8px;
  }

  .venue-ticket-facts i { width: 27px; height: 27px; }
  .venue-ticket-facts i svg { width: 20px; height: 20px; }
  .venue-ticket-facts strong { font-size: clamp(12px, 3.45vw, 15px); }

  .venue-ticket-side {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr);
    grid-template-rows: 1fr;
    min-height: 78px;
    border-top: 2px dotted color-mix(in srgb, var(--ticket-color) 48%, white);
    border-left: 0;
  }

  .venue-ticket-stamp {
    width: auto;
    min-width: 0;
    aspect-ratio: auto;
    align-self: stretch;
    justify-self: stretch;
    flex-direction: row;
    gap: 5px;
    padding: 10px 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .venue-ticket-stamp i { display: none; }
  .venue-ticket-stamp small { margin: 0; font-size: 13px; }
  .venue-ticket-stamp strong { font-size: 27px; }

  .venue-ticket-action {
    flex-direction: row;
    gap: 13px;
    padding: 10px 12px;
    font-size: clamp(15px, 4.5vw, 19px);
    line-height: 1.35;
  }

  .venue-ticket-action br { display: none; }
  .venue-ticket-action svg { width: 31px; height: 20px; }
}

@media (max-width: 390px) {
  .venue-selector-head h2 { font-size: 27px; }
  .venue-selector-lead { align-items: center; font-size: 12px; }
  .venue-ticket-main { padding-inline: 10px; }
  .venue-ticket-title strong { font-size: 21px; }
  .venue-ticket--kozu .venue-ticket-title strong { font-size: 16px; }
  .venue-ticket-summary { grid-template-columns: 70px minmax(0, 1fr); }
  .venue-ticket-summary > span:last-child { font-size: 12px; }
  .venue-ticket-side { grid-template-columns: 132px minmax(0, 1fr); }
  .venue-ticket-stamp { padding-inline: 8px; }
  .venue-ticket-stamp small { font-size: 11px; }
  .venue-ticket-action { gap: 8px; padding-inline: 9px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .venue-ticket { transition: none; }
}

/* Venue selector v8: supplied production materials. */
.property-switcher.venue-selector-v6 {
  --venue-material-bg: url("assets/images/venue-selector-background-v1.png");
  --venue-material-decor: url("assets/images/venue-selector-decor-v1.png");
  --venue-material-frame: url("assets/images/venue-selector-ticket-frame-v1.png");
  padding-top: clamp(40px, 3vw, 58px);
  padding-bottom: clamp(24px, 2.2vw, 44px);
  background-color: #fff;
  background-image: var(--venue-material-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.property-switcher.venue-selector-v6::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  width: 100%;
  aspect-ratio: 2172 / 724;
  background-image: var(--venue-material-decor);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  pointer-events: none;
}

.venue-selector-v6 .property-switcher-drafting {
  display: none;
}

.venue-selector-v6 .venue-selector-inner,
.venue-selector-v6 > .section-mobile-index {
  position: relative;
  z-index: 2;
}

@media (min-width: 1181px) {
  .venue-selector-v6 .venue-selector-inner {
    width: min(2172px, 100%);
  }

  .venue-selector-v6 .venue-selector-head {
    position: relative;
    z-index: 3;
    width: min(1580px, calc(100% - 120px));
  }

  .venue-selector-v6 .venue-tickets {
    position: relative;
    isolation: isolate;
    width: 100%;
    aspect-ratio: 2172 / 724;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: clamp(-4px, -.2vw, 0px);
  }

  .venue-selector-v6 .venue-tickets::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background-image: var(--venue-material-frame);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    pointer-events: none;
  }

  .venue-selector-v6 .venue-ticket {
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding-top: clamp(46px, 4vw, 80px);
    padding-bottom: clamp(72px, 6.15vw, 123px);
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    filter: none;
    transform: none;
  }

  .venue-selector-v6 .venue-ticket--nagao {
    grid-template-columns: 20.4% 50.8% 28.8%;
  }

  .venue-selector-v6 .venue-ticket--kozu {
    grid-template-columns: 16.2% 57.2% 26.6%;
  }

  .venue-selector-v6 .venue-ticket:hover,
  .venue-selector-v6 .venue-ticket[aria-selected="true"] {
    z-index: 2;
    filter: none;
    transform: none;
    box-shadow: none;
  }

  .venue-selector-v6 .venue-ticket:focus-visible {
    outline: 4px solid color-mix(in srgb, var(--ticket-color) 58%, white);
    outline-offset: -8px;
  }

  .venue-selector-v6 .venue-ticket::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: clamp(46px, 4vw, 80px) clamp(8px, .7vw, 14px) clamp(72px, 6.15vw, 123px);
    border-radius: 12px;
    background: color-mix(in srgb, var(--ticket-color) 5%, transparent);
    opacity: 0;
    transition: opacity .22s ease;
    pointer-events: none;
  }

  .venue-selector-v6 .venue-ticket:hover::after,
  .venue-selector-v6 .venue-ticket[aria-selected="true"]::after {
    opacity: 1;
  }

  .venue-selector-v6 .venue-ticket-number {
    gap: 3px;
    padding: clamp(24px, 2vw, 40px) 8px 14px;
    background: transparent;
    border-right: 0;
  }

  .venue-selector-v6 .venue-ticket-number::before,
  .venue-selector-v6 .venue-ticket-side::after {
    display: none;
  }

  .venue-selector-v6 .venue-ticket-number small {
    font-size: clamp(15px, 1vw, 20px);
  }

  .venue-selector-v6 .venue-ticket-number strong {
    font-size: clamp(61px, 4.55vw, 91px);
    line-height: 1.05;
  }

  .venue-selector-v6 .venue-ticket-number i {
    margin-top: clamp(12px, 1vw, 20px);
  }

  .venue-selector-v6 .venue-ticket-main {
    align-content: center;
    gap: clamp(5px, .42vw, 9px);
    padding: clamp(17px, 1.45vw, 29px) clamp(13px, 1.25vw, 25px);
  }

  .venue-selector-v6 .venue-ticket-title strong {
    font-size: clamp(23px, 1.55vw, 31px);
  }

  .venue-selector-v6 .venue-ticket--kozu .venue-ticket-title strong {
    font-size: clamp(18px, 1.18vw, 24px);
  }

  .venue-selector-v6 .venue-ticket-summary {
    min-height: clamp(60px, 4.2vw, 84px);
    gap: clamp(8px, .75vw, 15px);
    padding-top: 2px;
  }

  .venue-selector-v6 .venue-ticket-summary > span:last-child {
    font-size: clamp(14px, .93vw, 19px);
  }

  .venue-selector-v6 .venue-ticket-homes svg {
    width: clamp(49px, 3.25vw, 65px);
    height: clamp(49px, 3.25vw, 65px);
  }

  .venue-selector-v6 .venue-ticket--kozu .venue-ticket-homes svg {
    width: clamp(59px, 3.8vw, 76px);
    height: clamp(59px, 3.8vw, 76px);
  }

  .venue-selector-v6 .venue-ticket-route {
    height: clamp(35px, 2.2vw, 44px);
  }

  .venue-selector-v6 .venue-ticket-route i,
  .venue-selector-v6 .venue-ticket-route em {
    width: clamp(31px, 1.9vw, 38px);
    height: clamp(31px, 1.9vw, 38px);
  }

  .venue-selector-v6 .venue-ticket-station {
    font-size: clamp(15px, 1.02vw, 20px);
  }

  .venue-selector-v6 .venue-ticket-facts > span {
    min-height: clamp(47px, 3vw, 60px);
    padding: 6px 7px;
    background: rgba(255, 255, 255, .72);
  }

  .venue-selector-v6 .venue-ticket-facts strong {
    font-size: clamp(13px, .82vw, 16px);
  }

  .venue-selector-v6 .venue-ticket-side {
    grid-template-rows: 51.5% 48.5%;
    border-left: 0;
  }

  .venue-selector-v6 .venue-ticket-stamp {
    width: clamp(105px, 7vw, 140px);
  }

  .venue-selector-v6 .venue-ticket-stamp small {
    font-size: clamp(13px, .84vw, 17px);
  }

  .venue-selector-v6 .venue-ticket-stamp strong {
    font-size: clamp(39px, 2.7vw, 54px);
    line-height: 1.12;
  }

  .venue-selector-v6 .venue-ticket-action {
    gap: 8px;
    padding: clamp(10px, .8vw, 16px);
    color: #fff;
    background: transparent;
    font-size: clamp(19px, 1.32vw, 26px);
  }
}

@media (max-width: 1180px) {
  .property-switcher.venue-selector-v6::before {
    opacity: .58;
  }
}

@media (max-width: 760px) {
  .property-switcher.venue-selector-v6 {
    padding-top: 38px;
    padding-bottom: 48px;
    background-position: center top;
  }

  .property-switcher.venue-selector-v6::before {
    display: none;
  }

  .venue-selector-v6 .venue-ticket {
    background-color: rgba(255, 253, 250, .96);
  }

  .venue-selector-v6 .venue-ticket-number strong {
    line-height: 1.08;
  }

  .venue-selector-v6 .venue-ticket-stamp strong {
    line-height: 1.14;
  }
}

/* Venue showcase v1: selected split-photo direction below the FV. */
.venue-showcase-v1 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(50px, 3.4vw, 72px) 0 clamp(84px, 6.4vw, 138px);
  color: var(--navy-deep);
  background: #fff;
  scroll-margin-top: var(--fv-header-h, var(--header-h));
}

.venue-showcase-v1::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: clamp(38px, 2.6vw, 58px);
  left: 0;
  width: min(43vw, 880px);
  height: clamp(126px, 8.8vw, 182px);
  background:
    linear-gradient(148deg, rgba(215, 242, 250, .58) 0 39%, rgba(234, 248, 253, .22) 39.2% 61%, transparent 61.2%);
  pointer-events: none;
}

.venue-showcase-v1::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(18px, 2.2vw, 44px);
  right: clamp(-120px, -5vw, -44px);
  width: clamp(230px, 22vw, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226, 247, 252, .46), rgba(226, 247, 252, 0) 70%);
  pointer-events: none;
}

.venue-showcase-v1__inner {
  width: 100%;
  margin-inline: auto;
}

.venue-showcase-v1__head {
  position: relative;
  z-index: 2;
  width: min(1500px, calc(100% - clamp(42px, 7vw, 150px)));
  margin: 0 auto clamp(26px, 1.65vw, 34px);
  text-align: center;
}

.venue-showcase-v1__head h2 {
  margin: 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(34px, 2.65vw, 56px);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: .075em;
  font-feature-settings: "palt" 1;
  text-wrap: balance;
}

.venue-showcase-v1__head h2 > span { display: inline; }

.venue-showcase-v1__head p {
  margin: clamp(7px, .75vw, 14px) 0 0;
  color: rgba(14, 39, 68, .9);
  font-family: var(--serif);
  font-size: clamp(14px, 1.08vw, 21px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .11em;
}

.venue-showcase-v1__panels {
  width: 100%;
  height: clamp(310px, 16vw, 356px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  background: #fff;
}

.venue-showcase-v1__panel {
  position: relative;
  isolation: isolate;
  min-width: 0;
  height: 100%;
  display: block;
  overflow: hidden;
  padding: 0;
  color: #fff;
  background: #0b3a6d;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
}

.venue-showcase-v1__panel::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  border: 2px solid transparent;
  pointer-events: none;
  transition: border-color .22s ease, box-shadow .22s ease;
}

.venue-showcase-v1__panel > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: saturate(.88) contrast(.98);
  transform: scale(1.002);
  transition: transform .75s cubic-bezier(.2, .65, .25, 1), filter .35s ease;
}

.venue-showcase-v1__panel--nagao > img { object-position: 50% 64%; }
.venue-showcase-v1__panel--kozu > img { object-position: 48% 47%; }

.venue-showcase-v1__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 36, 74, .92) 0%, rgba(8, 50, 96, .76) 31%, rgba(9, 57, 106, .31) 61%, rgba(8, 47, 91, .49) 100%),
    linear-gradient(0deg, rgba(3, 28, 59, .18), transparent 58%);
  pointer-events: none;
}

.venue-showcase-v1__panel--kozu .venue-showcase-v1__shade {
  background:
    linear-gradient(270deg, rgba(5, 36, 74, .92) 0%, rgba(8, 50, 96, .77) 31%, rgba(9, 57, 106, .31) 61%, rgba(8, 47, 91, .47) 100%),
    linear-gradient(0deg, rgba(3, 28, 59, .19), transparent 58%);
}

.venue-showcase-v1__copy {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 0;
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px clamp(24px, 3vw, 64px);
  font-family: var(--serif);
  text-align: center;
  transform: translateY(-50%);
}

.venue-showcase-v1__panel--kozu .venue-showcase-v1__copy {
  right: clamp(16px, 1.2vw, 26px);
  left: auto;
  width: 48%;
}

.venue-showcase-v1__copy small {
  font-size: clamp(16px, 1.16vw, 23px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .08em;
}

.venue-showcase-v1__copy strong {
  display: block;
  margin-top: clamp(6px, .6vw, 12px);
  font-size: clamp(34px, 3vw, 58px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .075em;
  white-space: nowrap;
}

.venue-showcase-v1__panel--kozu .venue-showcase-v1__copy strong {
  font-size: clamp(24px, 1.82vw, 38px);
  letter-spacing: .025em;
}

.venue-showcase-v1__copy > span {
  display: block;
  margin-top: clamp(2px, .3vw, 6px);
  font-size: clamp(14px, 1vw, 20px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .07em;
  white-space: nowrap;
}

.venue-showcase-v1__copy > .venue-showcase-v1__access {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, .45vw, 9px);
  min-height: 34px;
  margin-top: clamp(8px, .7vw, 13px);
  padding: 5px clamp(10px, .8vw, 16px);
  color: #fff;
  font-family: var(--sans);
  font-size: clamp(12px, .78vw, 15px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .035em;
  white-space: nowrap;
  background: rgba(4, 38, 77, .48);
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 999px;
  backdrop-filter: blur(5px);
}

.venue-showcase-v1__access svg {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
}

.venue-showcase-v1__access b,
.venue-showcase-v1__access em {
  font: inherit;
  font-style: normal;
}

.venue-showcase-v1__access em {
  color: #c8f5ff;
  font-weight: 700;
}

.venue-showcase-v1__copy i {
  --venue-arrow-size: clamp(50px, 3.6vw, 70px);
  flex: 0 0 var(--venue-arrow-size);
  width: var(--venue-arrow-size);
  height: var(--venue-arrow-size);
  display: grid;
  place-items: center;
  margin-top: clamp(10px, 1vw, 20px);
  border: 1.5px solid rgba(255, 255, 255, .88);
  border-radius: 50%;
  transition: color .22s ease, background .22s ease, transform .22s ease;
}

.venue-showcase-v1__copy i svg {
  width: 45%;
  height: 45%;
  stroke-width: 1.35;
}

.venue-showcase-v1__panel:hover > img,
.venue-showcase-v1__panel[aria-selected="true"] > img {
  filter: saturate(.9) contrast(.98);
  transform: scale(1.025);
}

.venue-showcase-v1__panel:hover .venue-showcase-v1__copy i {
  color: #06315f;
  background: rgba(255, 255, 255, .94);
  transform: translateX(3px);
}

.venue-showcase-v1__panel[aria-selected="true"]::after {
  border-color: rgba(108, 220, 239, .78);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34);
}

.venue-showcase-v1__panel:focus-visible {
  outline: 4px solid var(--aqua);
  outline-offset: -5px;
}

@media (max-width: 1180px) {
  .venue-showcase-v1__head h2 { font-size: clamp(34px, 4.2vw, 49px); }
  .venue-showcase-v1__panels { height: clamp(292px, 25vw, 332px); }
  .venue-showcase-v1__copy { width: 56%; padding-inline: clamp(18px, 3vw, 38px); }
  .venue-showcase-v1__copy strong { font-size: clamp(31px, 4vw, 43px); }
  .venue-showcase-v1__copy > span { font-size: clamp(13px, 1.55vw, 17px); }
}

@media (max-width: 760px) {
  .venue-showcase-v1 {
    padding: 42px 0 66px;
  }

  .venue-showcase-v1::before {
    width: 86vw;
    top: 28px;
    height: 142px;
    opacity: .72;
  }

  .venue-showcase-v1::after { display: none; }

  .venue-showcase-v1__head {
    width: calc(100% - 34px);
    margin-bottom: 24px;
  }

  .venue-showcase-v1__head h2 {
    max-width: 11.5em;
    margin-inline: auto;
    font-size: clamp(27px, 7.5vw, 36px);
    line-height: 1.55;
    letter-spacing: .055em;
  }

  .venue-showcase-v1__head h2 > span { display: block; }

  .venue-showcase-v1__head p {
    max-width: 30em;
    margin: 9px auto 0;
    font-size: clamp(12px, 3.45vw, 14px);
    line-height: 1.85;
    letter-spacing: .06em;
  }

  .venue-showcase-v1__panels {
    height: auto;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .venue-showcase-v1__panel {
    height: clamp(230px, 64vw, 276px);
  }

  .venue-showcase-v1__panel--nagao > img { object-position: 50% 62%; }
  .venue-showcase-v1__panel--kozu > img { object-position: 46% 48%; }

  .venue-showcase-v1__copy,
  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy {
    right: auto;
    left: 0;
    width: 63%;
    padding: 10px 16px;
  }

  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy {
    right: 6px;
    left: auto;
    width: 62%;
  }

  .venue-showcase-v1__copy small { font-size: clamp(13px, 3.8vw, 16px); }
  .venue-showcase-v1__copy strong {
    margin-top: 4px;
    font-size: clamp(29px, 8vw, 38px);
  }
  .venue-showcase-v1__copy > span {
    max-width: 18em;
    margin-top: 2px;
    font-size: clamp(11px, 3.3vw, 14px);
    white-space: normal;
  }
  .venue-showcase-v1__copy > .venue-showcase-v1__access {
    gap: 5px;
    min-height: 30px;
    margin-top: 7px;
    padding: 4px 9px;
    font-size: clamp(10px, 2.75vw, 12px);
    white-space: nowrap;
  }
  .venue-showcase-v1__access svg {
    flex-basis: 15px;
    width: 15px;
    height: 15px;
  }
  .venue-showcase-v1__copy i {
    --venue-arrow-size: 49px;
    margin-top: 9px;
  }
}

@media (max-width: 390px) {
  .venue-showcase-v1__head h2 { font-size: 27px; }
  .venue-showcase-v1__head p { font-size: 12px; }
  .venue-showcase-v1__panel { height: 232px; }
  .venue-showcase-v1__copy { width: 66%; }
  .venue-showcase-v1__copy strong { font-size: 28px; }
  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy strong {
    font-size: clamp(18px, 5vw, 20px);
    letter-spacing: .01em;
  }
  .venue-showcase-v1__copy i { --venue-arrow-size: 45px; }
}

@media (prefers-reduced-motion: reduce) {
  .venue-showcase-v1__panel > img,
  .venue-showcase-v1__copy i,
  .venue-showcase-v1__panel::after { transition: none; }
}

/* Nagao Higashimachi v8: overview -> lot 01 -> lot 02 */
.nagao-legacy-section { display: none !important; }

.nagao-overview-v8,
.nagao-lot-v8 {
  min-height: 0;
  padding: clamp(72px, 6.4vw, 112px) clamp(28px, 4.7vw, 84px);
  background: #fff;
}

.nagao-overview-v8::after,
.nagao-lot-v8::after { display: none; }

.nagao-overview-v8__decor,
.nagao-lot-v8__decor {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0;
  pointer-events: none;
}

.nagao-overview-v8__decor {
  background:
    radial-gradient(circle at 3% 26%, rgba(198, 233, 246, .58) 0 8.5%, transparent 8.7%),
    radial-gradient(circle at 92% 86%, rgba(224, 244, 251, .72) 0 13%, transparent 13.2%),
    linear-gradient(145deg, rgba(231, 247, 252, .72), transparent 35%);
}

.nagao-overview-v8__decor::before,
.nagao-overview-v8__decor::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border: 2px dotted rgba(0, 184, 212, .26);
  border-radius: 50%;
}

.nagao-overview-v8__decor::before { top: 8%; right: -130px; }
.nagao-overview-v8__decor::after { bottom: 7%; left: -150px; }

.nagao-overview-v8__decor i {
  position: absolute;
  height: 1px;
  background: rgba(0, 184, 212, .2);
  transform-origin: left center;
}

.nagao-overview-v8__decor i:nth-child(1) { width: 230px; top: 8%; left: 1%; transform: rotate(-34deg); }
.nagao-overview-v8__decor i:nth-child(2) { width: 180px; top: 11%; left: 5%; transform: rotate(55deg); }
.nagao-overview-v8__decor i:nth-child(3) { width: 280px; right: 2%; bottom: 8%; transform: rotate(-42deg); }

.nagao-overview-v8__hero,
.nagao-overview-v8__introduction,
.nagao-lot-v8__frame {
  width: min(100%, 1540px);
  margin-inline: auto;
}

.nagao-overview-v8__hero {
  position: relative;
  padding: clamp(38px, 3.8vw, 62px) clamp(24px, 3.3vw, 54px) clamp(88px, 7vw, 112px);
  border: 1px solid rgba(95, 185, 222, .28);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(250, 254, 255, .08), rgba(228, 246, 253, .9)),
    linear-gradient(125deg, #9fd7f5 0%, #dff4fc 47%, #f7fcfe 100%);
  box-shadow: 0 24px 70px rgba(8, 57, 103, .1);
}

.nagao-overview-v8__title {
  position: relative;
  z-index: 3;
  width: fit-content;
  margin: 0 auto clamp(24px, 2.5vw, 40px);
  padding: 20px clamp(28px, 4vw, 70px) 23px;
  text-align: center;
  background: rgba(255, 255, 255, .86);
  border-radius: 3px;
  box-shadow: 0 12px 40px rgba(8, 57, 103, .07);
  backdrop-filter: blur(10px);
}

.nagao-overview-v8__title p {
  margin: 0 0 8px;
  color: var(--aqua-dark);
  font-size: clamp(11px, .95vw, 14px);
  font-weight: 800;
  letter-spacing: .18em;
}

.nagao-overview-v8__title h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(38px, 4.2vw, 68px);
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: .08em;
  text-wrap: balance;
}

.nagao-overview-v8__title h2 span:first-child::after { content: " "; }

.nagao-overview-v8__title strong {
  display: block;
  margin-top: 8px;
  color: rgba(8, 57, 103, .78);
  font-family: var(--serif);
  font-size: clamp(14px, 1.45vw, 22px);
  font-weight: 500;
  letter-spacing: .12em;
}

.nagao-overview-v8__houses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(8px, 1.2vw, 18px);
}

.nagao-overview-v8__houses--combined { grid-template-columns: 1fr; }

.nagao-overview-v8__houses figure {
  position: relative;
  height: clamp(320px, 31vw, 490px);
  margin: 0;
  overflow: hidden;
  border-radius: 24px 24px 8px 8px;
  background: rgba(255, 255, 255, .72);
}

.nagao-overview-v8__houses img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.nagao-overview-v8__houses--combined figure { height: auto; aspect-ratio: 2 / 1; }
.nagao-overview-v8__houses--combined img { object-position: center; }

.nagao-overview-v8__houses figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: baseline;
  gap: 3px;
  padding: 9px 24px 8px;
  color: #fff;
  background: rgba(5, 43, 80, .94);
  border-radius: 0 18px 0 0;
  font-family: var(--serif);
  font-size: 17px;
  letter-spacing: .08em;
}

.nagao-overview-v8__houses figcaption span { font-family: Georgia, serif; font-size: 32px; line-height: 1; }
.nagao-overview-v8__houses figure:nth-child(2) figcaption { background: rgba(0, 166, 199, .95); }
.nagao-overview-v8__houses--combined .nagao-overview-v8__house-label { left: 5%; bottom: 20px; }
.nagao-overview-v8__houses--combined .nagao-overview-v8__house-label--two { left: auto; right: 5%; background: rgba(0, 166, 199, .95); border-radius: 18px 0 0 0; }

.nagao-overview-v8__quickfacts {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: -48px;
  width: min(84%, 1050px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 17px 24px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(8, 57, 103, .1);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(8, 57, 103, .14);
}

.nagao-overview-v8__quickfacts div {
  min-height: 62px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 0 14px;
  padding: 2px 26px;
  border-right: 1px dotted rgba(0, 152, 189, .3);
}

.nagao-overview-v8__quickfacts div:last-child { border-right: 0; }
.nagao-overview-v8__quickfacts dt { grid-column: 2; color: var(--aqua-dark); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.nagao-overview-v8__quickfacts dt svg { grid-row: 1 / 3; grid-column: 1; width: 34px; height: 34px; }
.nagao-overview-v8__quickfacts dd { grid-column: 2; margin: 2px 0 0; font-family: var(--serif); font-size: clamp(14px, 1.2vw, 18px); font-weight: 700; line-height: 1.5; }

.nagao-overview-v8__introduction {
  margin-top: clamp(100px, 9vw, 148px);
  padding: clamp(48px, 5vw, 82px);
  border: 1px solid rgba(95, 185, 222, .22);
  border-radius: 32px;
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 22px 60px rgba(8, 57, 103, .08);
}

.nagao-overview-v8__introduction > header { text-align: center; }
.nagao-overview-v8__introduction > header p { margin: 0 0 8px; color: var(--aqua-dark); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.nagao-overview-v8__introduction > header h3 { margin: 0; font-family: var(--serif); font-size: clamp(36px, 4vw, 62px); font-weight: 500; letter-spacing: .1em; line-height: 1.35; }
.nagao-overview-v8__introduction > header h3 span { margin-left: .65em; font-size: .6em; }
.nagao-overview-v8__introduction > header small { display: block; margin-top: 10px; color: rgba(8, 57, 103, .78); font-family: var(--serif); font-size: clamp(14px, 1.35vw, 20px); letter-spacing: .08em; }

.nagao-overview-v8__features {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(10px, 1.4vw, 22px);
  margin: clamp(38px, 4.5vw, 70px) 0;
  padding: 0;
  list-style: none;
}

.nagao-overview-v8__features li {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.nagao-overview-v8__features i {
  width: clamp(74px, 7vw, 104px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: var(--aqua-dark);
  background: linear-gradient(145deg, #f7fdff, #e7f7fc);
  border: 1px solid rgba(0, 184, 212, .2);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(8, 57, 103, .06);
}

.nagao-overview-v8__features svg { width: 40%; height: 40%; }
.nagao-overview-v8__features strong { margin-top: 14px; font-family: var(--serif); font-size: clamp(14px, 1.25vw, 18px); letter-spacing: .06em; }
.nagao-overview-v8__features span { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.65; }

.nagao-overview-v8__guide {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr);
  align-items: center;
  gap: clamp(34px, 5vw, 78px);
  padding-top: clamp(34px, 4vw, 60px);
  border-top: 1px solid rgba(8, 57, 103, .12);
}

.nagao-overview-v8__copy h4 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(26px, 2.5vw, 40px); font-weight: 500; line-height: 1.65; letter-spacing: .07em; text-wrap: balance; }
.nagao-overview-v8__copy p { margin: 0 0 12px; color: rgba(8, 57, 103, .86); font-size: clamp(13px, 1.1vw, 16px); line-height: 2.05; }
.nagao-overview-v8__copy a,
.nagao-lot-v8__cta {
  min-height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-top: 26px;
  padding: 13px 24px 13px 34px;
  color: #fff;
  background: linear-gradient(90deg, #02b8d4, #00a8c8);
  border-radius: 999px;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .1em;
  box-shadow: 0 13px 28px rgba(0, 168, 200, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}

.nagao-overview-v8__copy a svg,
.nagao-lot-v8__cta svg { width: 26px; height: 26px; }
.nagao-overview-v8__copy a:hover,
.nagao-lot-v8__cta:hover { transform: translateY(-2px); box-shadow: 0 17px 32px rgba(0, 168, 200, .28); }

.nagao-overview-v8__map {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(8, 57, 103, .13);
}

.nagao-overview-v8__map img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.nagao-overview-v8__map figcaption { position: absolute; right: 14px; bottom: 14px; padding: 7px 13px; color: #fff; background: rgba(5, 43, 80, .9); border-radius: 999px; font-size: 10px; font-weight: 700; }

.nagao-lot-v8 {
  background:
    radial-gradient(circle at 1% 16%, rgba(212, 239, 249, .66) 0 10%, transparent 10.2%),
    radial-gradient(circle at 96% 88%, rgba(221, 243, 251, .75) 0 11%, transparent 11.2%),
    linear-gradient(180deg, #fff, #f7fcff);
}

.nagao-lot-v8--two { background: linear-gradient(180deg, #f7fcff, #fff); }

.nagao-lot-v8__decor {
  opacity: .16;
  background-image: url("assets/images/nagao-leaf-v8.svg"), url("assets/images/nagao-leaf-v8.svg");
  background-repeat: no-repeat;
  background-size: 270px auto, 220px auto;
  background-position: right 2% top 3%, left -45px bottom -70px;
}

.nagao-lot-v8--two .nagao-lot-v8__decor { transform: scaleX(-1); }

.nagao-lot-v8__frame {
  padding: clamp(28px, 3vw, 50px);
  border: 1px solid rgba(99, 185, 221, .26);
  border-radius: 30px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 68px rgba(8, 57, 103, .1);
}

.nagao-lot-v8__heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(25px, 4vw, 68px);
  margin-bottom: clamp(28px, 3vw, 46px);
  padding: 0 clamp(4px, 1vw, 16px) clamp(28px, 2.7vw, 42px);
  border-bottom: 1px solid rgba(8, 57, 103, .13);
}

.nagao-lot-v8__number {
  display: flex;
  align-items: baseline;
  margin: 0;
  color: var(--navy-deep);
  font-family: var(--serif);
  line-height: .9;
  white-space: nowrap;
}

.nagao-lot-v8__number strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(82px, 9vw, 142px); font-weight: 400; }
.nagao-lot-v8__number span { margin-left: 10px; font-size: clamp(34px, 4vw, 62px); }
.nagao-lot-v8--two .nagao-lot-v8__number { color: var(--aqua-dark); }

.nagao-lot-v8__heading > div > span { color: var(--aqua-dark); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.nagao-lot-v8__heading h2 { margin: 7px 0 0; font-family: var(--serif); font-size: clamp(28px, 3.1vw, 50px); font-weight: 500; line-height: 1.52; letter-spacing: .08em; text-wrap: balance; }

.nagao-lot-v8__price { margin: 0; text-align: right; white-space: nowrap; }
.nagao-lot-v8__price span { display: block; margin-bottom: 3px; color: rgba(8, 57, 103, .72); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.nagao-lot-v8__price strong { color: var(--aqua-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(46px, 5vw, 78px); font-weight: 400; line-height: 1; }
.nagao-lot-v8__price em { margin-left: 6px; font-family: var(--serif); font-size: 19px; font-style: normal; font-weight: 700; }

.nagao-lot-v8__upper {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: clamp(28px, 4.5vw, 72px);
  align-items: center;
}

.nagao-lot-v8--one .nagao-lot-v8__upper,
.nagao-lot-v8--two .nagao-lot-v8__upper {
  grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(350px, 1.2fr);
  gap: clamp(18px, 2.5vw, 38px);
}

.nagao-lot-v8__exterior,
.nagao-lot-v8__interior {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #eaf8fd;
}

.nagao-lot-v8__exterior img,
.nagao-lot-v8__interior img { width: 100%; height: clamp(360px, 34vw, 540px); object-fit: cover; object-position: center; }
.nagao-lot-v8--one .nagao-lot-v8__exterior img,
.nagao-lot-v8--one .nagao-lot-v8__interior img,
.nagao-lot-v8--two .nagao-lot-v8__exterior img,
.nagao-lot-v8--two .nagao-lot-v8__interior img { height: auto; aspect-ratio: 1.18; object-fit: cover; }
.nagao-lot-v8__exterior figcaption,
.nagao-lot-v8__interior figcaption { position: absolute; left: 18px; bottom: 18px; padding: 8px 16px; color: #fff; background: rgba(5, 43, 80, .9); border-radius: 999px; font-family: var(--serif); font-size: 13px; letter-spacing: .1em; }
.nagao-lot-v8__interior figcaption { background: rgba(0, 152, 189, .92); }
.nagao-lot-v8--two .nagao-lot-v8__exterior figcaption { background: rgba(0, 152, 189, .92); }

.nagao-lot-v8__appeal { padding: clamp(8px, 2vw, 28px) clamp(4px, 1.2vw, 18px); }
.nagao-lot-v8__appeal > p:first-child { margin: 0 0 24px; font-family: var(--serif); font-size: clamp(27px, 2.6vw, 42px); line-height: 1.65; letter-spacing: .08em; text-wrap: balance; }
.nagao-lot-v8__appeal ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.nagao-lot-v8__appeal li { display: grid; grid-template-columns: 30px 1fr; align-items: start; gap: 12px; color: rgba(8, 57, 103, .9); font-size: clamp(13px, 1.2vw, 17px); line-height: 1.8; }
.nagao-lot-v8__appeal li i { width: 25px; height: 25px; display: grid; place-items: center; margin-top: 2px; color: #fff; background: var(--aqua); border-radius: 50%; font-style: normal; font-weight: 900; line-height: 1; }
.nagao-lot-v8__appeal li strong { font-family: var(--serif); font-size: 1.08em; }
.nagao-lot-v8__summary { margin: 26px 0 0 !important; padding-top: 22px; color: var(--muted); border-top: 1px dotted rgba(8, 57, 103, .28); font-size: clamp(12px, 1vw, 14px); line-height: 1.95; }

.nagao-lot-v8__lower {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  margin-top: clamp(34px, 4vw, 64px);
  padding: clamp(24px, 3.5vw, 56px);
  background: linear-gradient(145deg, rgba(248, 253, 255, .98), rgba(255, 255, 255, .98));
  border: 1px solid rgba(99, 185, 221, .2);
  border-radius: 24px;
}

.nagao-lot-v8__plan { position: relative; margin: 0; }
.nagao-lot-v8__plan img { width: 100%; max-height: 610px; object-fit: contain; }
.nagao-lot-v8__plan figcaption { position: absolute; inset: 0; pointer-events: none; }
.nagao-lot-v8__plan figcaption span { position: absolute; top: 0; min-width: 54px; padding: 7px 12px; color: #fff; background: var(--navy-deep); border-radius: 999px; font-family: Georgia, serif; font-size: 18px; text-align: center; }
.nagao-lot-v8__plan figcaption span:first-child { left: 0; }
.nagao-lot-v8__plan figcaption span:last-child { left: 55%; }
.nagao-lot-v8--two .nagao-lot-v8__plan figcaption span { background: var(--aqua-dark); }

.nagao-lot-v8__specs { margin: 0; }
.nagao-lot-v8__specs div { padding: 20px 4px; border-bottom: 1px dotted rgba(8, 57, 103, .25); }
.nagao-lot-v8__specs div:last-child { border-bottom: 0; }
.nagao-lot-v8__specs dt { color: var(--aqua-dark); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.nagao-lot-v8__specs dd { margin: 5px 0 0; color: var(--navy-deep); font-family: var(--serif); font-size: clamp(15px, 1.3vw, 20px); line-height: 1.65; }
.nagao-lot-v8__specs dd strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 3vw, 48px); font-weight: 400; white-space: nowrap; }

.nagao-lot-v8__cta { width: min(100%, 430px); display: flex; margin: clamp(30px, 3vw, 48px) auto 0; }
.nagao-lot-v8__note { margin: 22px 0 -8px; color: var(--muted); font-size: 10px; text-align: center; }

@media (max-width: 1120px) {
  .nagao-overview-v8__guide { grid-template-columns: 1fr 390px; }
  .nagao-overview-v8__features { grid-template-columns: repeat(3, 1fr); }
  .nagao-overview-v8__features li:nth-child(4) { grid-column: 1 / 2; }
  .nagao-overview-v8__features li:nth-child(5) { grid-column: 2 / 3; }
  .nagao-lot-v8__heading { grid-template-columns: auto 1fr; }
  .nagao-lot-v8__price { grid-column: 2; text-align: left; }
  .nagao-lot-v8__upper { grid-template-columns: 1fr 420px; }
  .nagao-lot-v8--one .nagao-lot-v8__upper,
  .nagao-lot-v8--two .nagao-lot-v8__upper { grid-template-columns: 1fr 1fr; }
  .nagao-lot-v8--one .nagao-lot-v8__appeal,
  .nagao-lot-v8--two .nagao-lot-v8__appeal { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .nagao-overview-v8,
  .nagao-lot-v8 { padding-inline: 22px; }
  .nagao-overview-v8__quickfacts { width: calc(100% - 48px); }
  .nagao-overview-v8__quickfacts div { padding-inline: 14px; }
  .nagao-overview-v8__guide,
  .nagao-lot-v8__upper,
  .nagao-lot-v8--one .nagao-lot-v8__upper,
  .nagao-lot-v8--two .nagao-lot-v8__upper,
  .nagao-lot-v8__lower { grid-template-columns: 1fr; }
  .nagao-lot-v8--one .nagao-lot-v8__appeal,
  .nagao-lot-v8--two .nagao-lot-v8__appeal { grid-column: auto; }
  .nagao-overview-v8__map { width: min(100%, 520px); margin-inline: auto; }
  .nagao-lot-v8__appeal { padding-inline: 4px; }
  .nagao-lot-v8__specs { display: grid; grid-template-columns: 1fr 1fr; }
  .nagao-lot-v8__specs div { padding-inline: 18px; border-right: 1px dotted rgba(8, 57, 103, .25); }
  .nagao-lot-v8__specs div:nth-child(even) { border-right: 0; }
}

@media (max-width: 760px) {
  .nagao-overview-v8,
  .nagao-lot-v8 { padding: 58px 16px 70px; }

  .nagao-overview-v8__hero { padding: 30px 12px 24px; border-radius: 22px; }
  .nagao-overview-v8__title { width: calc(100% - 16px); margin-bottom: 18px; padding: 18px 10px; }
  .nagao-overview-v8__title p { font-size: 10px; letter-spacing: .1em; }
  .nagao-overview-v8__title h2 { font-size: clamp(31px, 9vw, 42px); line-height: 1.42; }
  .nagao-overview-v8__title h2 span { display: block; }
  .nagao-overview-v8__title h2 span:first-child::after { content: ""; }
  .nagao-overview-v8__title strong { font-size: 13px; line-height: 1.7; }

  .nagao-overview-v8__houses { gap: 6px; }
  .nagao-overview-v8__houses figure { height: clamp(190px, 56vw, 250px); border-radius: 15px 15px 5px 5px; }
  .nagao-overview-v8__houses--combined figure { height: auto; aspect-ratio: 2 / 1; }
  .nagao-overview-v8__houses img { object-position: center 50%; }
  .nagao-overview-v8__houses figcaption { padding: 7px 13px 6px; font-size: 12px; }
  .nagao-overview-v8__houses figcaption span { font-size: 22px; }
  .nagao-overview-v8__houses--combined .nagao-overview-v8__house-label { left: 8px; bottom: 8px; }
  .nagao-overview-v8__houses--combined .nagao-overview-v8__house-label--two { left: auto; right: 8px; }

  .nagao-overview-v8__quickfacts {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 8px;
    padding: 8px 14px;
    transform: none;
    border-radius: 16px;
  }
  .nagao-overview-v8__quickfacts div { min-height: 68px; grid-template-columns: 42px 1fr; padding: 10px 3px; border-right: 0; border-bottom: 1px dotted rgba(0, 152, 189, .28); }
  .nagao-overview-v8__quickfacts div:last-child { border-bottom: 0; }
  .nagao-overview-v8__quickfacts dt svg { width: 28px; height: 28px; }
  .nagao-overview-v8__quickfacts dd { font-size: 14px; }

  .nagao-overview-v8__introduction { margin-top: 24px; padding: 34px 18px; border-radius: 22px; }
  .nagao-overview-v8__introduction > header h3 { font-size: clamp(30px, 8vw, 40px); line-height: 1.5; }
  .nagao-overview-v8__introduction > header h3 span { display: block; margin: 3px 0 0; font-size: .58em; }
  .nagao-overview-v8__introduction > header small { font-size: 13px; line-height: 1.8; }

  .nagao-overview-v8__features { grid-template-columns: repeat(2, 1fr); gap: 25px 12px; margin: 32px 0 38px; }
  .nagao-overview-v8__features li:nth-child(4) { grid-column: auto; }
  .nagao-overview-v8__features li:nth-child(5) { grid-column: 1 / -1; width: 50%; justify-self: center; }
  .nagao-overview-v8__features i { width: 78px; }
  .nagao-overview-v8__features strong { font-size: 14px; }
  .nagao-overview-v8__features span { font-size: 10px; }
  .nagao-overview-v8__guide { gap: 30px; padding-top: 30px; }
  .nagao-overview-v8__copy h4 { font-size: 24px; line-height: 1.75; }
  .nagao-overview-v8__copy p { font-size: 13px; line-height: 1.95; }
  .nagao-overview-v8__copy a { width: 100%; min-height: 60px; gap: 18px; padding: 12px 18px; font-size: 14px; }
  .nagao-overview-v8__map { border-width: 7px; border-radius: 20px; }

  .nagao-lot-v8__frame { padding: 22px 13px 28px; border-radius: 22px; }
  .nagao-lot-v8__heading { grid-template-columns: auto 1fr; gap: 16px; padding: 0 3px 24px; }
  .nagao-lot-v8__number strong { font-size: 72px; }
  .nagao-lot-v8__number span { margin-left: 4px; font-size: 28px; }
  .nagao-lot-v8__heading > div > span { font-size: 9px; letter-spacing: .1em; }
  .nagao-lot-v8__heading h2 { margin-top: 4px; font-size: clamp(22px, 6.3vw, 29px); line-height: 1.6; }
  .nagao-lot-v8__price { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: flex-end; gap: 5px; padding-top: 14px; border-top: 1px dotted rgba(8, 57, 103, .22); }
  .nagao-lot-v8__price span { margin-right: auto; }
  .nagao-lot-v8__price strong { font-size: 48px; }
  .nagao-lot-v8__price em { font-size: 16px; }

  .nagao-lot-v8__upper { gap: 25px; }
  .nagao-lot-v8__exterior,
  .nagao-lot-v8__interior { border-radius: 18px; }
  .nagao-lot-v8__exterior img,
  .nagao-lot-v8__interior img,
  .nagao-lot-v8--one .nagao-lot-v8__exterior img,
  .nagao-lot-v8--one .nagao-lot-v8__interior img,
  .nagao-lot-v8--two .nagao-lot-v8__exterior img,
  .nagao-lot-v8--two .nagao-lot-v8__interior img { height: auto; aspect-ratio: 1.2727; object-fit: cover; }
  .nagao-lot-v8__exterior figcaption,
  .nagao-lot-v8__interior figcaption { left: 10px; bottom: 10px; padding: 6px 11px; font-size: 10px; }
  .nagao-lot-v8__appeal > p:first-child { font-size: 25px; line-height: 1.7; }
  .nagao-lot-v8__appeal li { grid-template-columns: 25px 1fr; gap: 9px; font-size: 13px; }
  .nagao-lot-v8__appeal li i { width: 22px; height: 22px; }
  .nagao-lot-v8__summary { font-size: 12px; }

  .nagao-lot-v8__lower { gap: 20px; margin-top: 30px; padding: 20px 10px; border-radius: 18px; }
  .nagao-lot-v8__plan img { max-height: none; }
  .nagao-lot-v8__plan figcaption span { min-width: 43px; padding: 4px 8px; font-size: 13px; }
  .nagao-lot-v8__specs { grid-template-columns: 1fr 1fr; }
  .nagao-lot-v8__specs div { padding: 14px 8px; }
  .nagao-lot-v8__specs dt { font-size: 9px; }
  .nagao-lot-v8__specs dd { font-size: 13px; }
  .nagao-lot-v8__specs dd strong { font-size: 28px; }
  .nagao-lot-v8__cta { min-height: 58px; gap: 18px; padding: 12px 16px; font-size: 14px; }
  .nagao-lot-v8__note { padding-inline: 7px; line-height: 1.7; }
}

@media (max-width: 390px) {
  .nagao-overview-v8__title h2 { font-size: 31px; }
  .nagao-overview-v8__houses figure { height: 192px; }
  .nagao-overview-v8__copy h4 { font-size: 22px; }
  .nagao-lot-v8__number strong { font-size: 64px; }
  .nagao-lot-v8__heading h2 { font-size: 21px; }
  .nagao-lot-v8__price strong { font-size: 43px; }
}

/* =========================================================
   Premium Town Kozu — property + on-site reasons v9
   ========================================================= */
.lp-section.kozu-property-v9,
.lp-section.kozu-reasons-v9 {
  min-height: 0;
  padding: 0;
  color: #083967;
  background: #f7fcff;
}
.lp-section.kozu-property-v9::after,
.lp-section.kozu-reasons-v9::after { display: none; }

.kozu-property-v9 {
  background:
    radial-gradient(circle at 9% 16%, rgba(191,231,247,.58), transparent 24%),
    linear-gradient(145deg, #fff 0%, #fafdff 58%, #eaf7fd 100%) !important;
}
.kozu-property-v9-swoop {
  position: absolute !important;
  z-index: 0 !important;
  top: -29vw;
  right: -7vw;
  width: 75vw;
  height: 56vw;
  border: clamp(28px, 4vw, 76px) solid rgba(255,255,255,.7);
  border-radius: 50%;
  transform: rotate(17deg);
  pointer-events: none;
}
.kozu-property-v9-swoop::after {
  content: "";
  position: absolute;
  top: 47%;
  right: 8%;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  background: url("assets/images/kozu-botanical-corners-v1.png") center / contain no-repeat;
  opacity: .11;
  transform: rotate(9deg);
}
.kozu-property-v9-shell,
.kozu-reasons-v9-shell {
  width: min(100%, 1540px);
  margin: 0 auto;
}
.kozu-property-v9-shell { padding: clamp(78px, 7vw, 132px) clamp(30px, 5vw, 92px) 64px; }
.kozu-property-v9-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.36fr) minmax(390px, .84fr);
  gap: clamp(30px, 3vw, 50px);
  align-items: stretch;
}
.kozu-property-v9-main { min-width: 0; }
.kozu-property-v9-intro { padding: 0 6px clamp(26px, 2.8vw, 42px); }
.kozu-property-v9-kicker {
  margin: 0 0 22px;
  color: #079fc5;
  font-size: clamp(15px, 1.3vw, 21px);
  font-weight: 700;
  letter-spacing: .08em;
}
.kozu-property-v9-intro h2 {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  font-size: clamp(48px, 4.7vw, 76px);
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: .08em;
}
.kozu-property-v9-intro h2 span { display: block; white-space: nowrap; }
.kozu-property-v9-access {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 24px 0 0;
  font-size: clamp(16px, 1.25vw, 21px);
  letter-spacing: .055em;
}
.kozu-property-v9-access > span {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(0,164,202,.36);
  border-radius: 50%;
  color: #079fc5;
  background: rgba(226,247,253,.88);
  font-size: 0;
}
.kozu-property-v9-access > span::before { content: "駅"; font-size: 14px; font-weight: 800; }
.kozu-property-v9-access strong { font-weight: 600; }
.kozu-property-v9-access em { color: #079fc5; font-size: 1.22em; font-style: normal; font-weight: 600; white-space: nowrap; }

.kozu-property-v9-exterior {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.16;
  margin: 0;
  border-radius: 24px;
  background: #e9f5fa;
  box-shadow: 0 18px 42px rgba(8,57,103,.1);
}
.kozu-property-v9-exterior img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 49% center;
}
.kozu-property-v9-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}
.kozu-property-v9-gallery figure {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.24;
  margin: 0;
  border-radius: 15px;
  background: #eaf5f9;
  box-shadow: 0 8px 18px rgba(8,57,103,.08);
}
.kozu-property-v9-gallery img { width: 100%; height: 100%; object-fit: cover; }
.kozu-property-v9-gallery figure:nth-child(3) img { object-position: 50% 60%; }
.kozu-property-v9-gallery figcaption {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 38px;
  padding: 7px 10px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(4,43,78,.87));
  font-size: 10px;
  letter-spacing: .04em;
}
.kozu-property-v9-gallery figcaption strong { padding-top: 7px; font-size: 12px; }
.kozu-property-v9-gallery figcaption span { align-self: flex-end; opacity: .88; white-space: nowrap; }
.kozu-property-v9-gallery-note { margin: 10px 3px 0; color: #59728d; font-size: 11px; line-height: 1.65; }

.kozu-property-v9-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(28px, 2.6vw, 42px);
  border: 1px solid rgba(124,179,205,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 48px rgba(8,57,103,.11);
  backdrop-filter: blur(8px);
}
.kozu-property-v9-price { padding-bottom: 23px; border-bottom: 1px solid #d7eaf2; }
.kozu-property-v9-price > span { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.kozu-property-v9-price p { display: flex; align-items: baseline; gap: 8px; margin: 5px 0 2px; color: #079fc5; white-space: nowrap; }
.kozu-property-v9-price strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(56px, 5vw, 82px); font-weight: 400; line-height: 1; letter-spacing: .025em; }
.kozu-property-v9-price em { font-size: 19px; font-style: normal; font-weight: 700; }
.kozu-property-v9-price small { color: #5d7590; font-size: 11px; }
.kozu-property-v9-specs { margin: 7px 0 0; }
.kozu-property-v9-specs div {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: baseline;
  gap: 18px;
  padding: 15px 2px;
  border-bottom: 1px solid #dcebf2;
}
.kozu-property-v9-specs dt { color: #55718d; font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.kozu-property-v9-specs dd { margin: 0; font-size: clamp(18px, 1.55vw, 24px); font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.kozu-property-v9-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 20px; padding: 0; list-style: none; }
.kozu-property-v9-tags li {
  flex: 1 1 auto;
  padding: 8px 10px;
  border: 1px solid #bce4f1;
  border-radius: 999px;
  color: #098caf;
  background: #eefaff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .045em;
  text-align: center;
  white-space: nowrap;
}
.kozu-property-v9-plan {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: auto 0 22px;
  padding-top: 5px;
}
.kozu-property-v9-plan > div { position: relative; min-width: 0; overflow: hidden; contain: paint; padding-top: 20px; }
.kozu-property-v9-plan > div > span {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #083967;
  font-family: Georgia, serif;
  font-size: 13px;
}
.kozu-property-v9-plan > div > img { display: block; width: 100%; height: 240px; object-fit: contain; }
.kozu-property-v9-cta,
.kozu-reasons-v9-action a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 68px;
  padding: 12px 18px 12px 34px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(100deg, #08b8cf, #008dc6);
  box-shadow: 0 10px 24px rgba(0,158,198,.25);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .1em;
  text-decoration: none;
}
.kozu-property-v9-cta i,
.kozu-reasons-v9-action a i {
  display: grid;
  width: 44px;
  height: 44px;
  margin-left: auto;
  place-items: center;
  border-radius: 50%;
  color: #08a6c6;
  background: #fff;
  font-size: 24px;
  font-style: normal;
  transition: transform .25s ease;
}
.kozu-property-v9-cta:hover i,
.kozu-reasons-v9-action a:hover i { transform: translateX(4px); }

.kozu-reasons-v9 { background: linear-gradient(180deg, #f7fcff, #edf8fd) !important; }
.kozu-reasons-v9-shell {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: clamp(46px, 5vw, 80px) clamp(30px, 4.4vw, 76px) clamp(58px, 6vw, 94px);
  border-radius: 34px 34px 0 0;
  background: rgba(255,255,255,.88);
  box-shadow: 0 -6px 38px rgba(8,57,103,.06);
}
.kozu-reasons-v9-shell::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("assets/images/kozu-botanical-corners-v1.png") center / 100% 100% no-repeat;
  opacity: .16;
  pointer-events: none;
}
.kozu-reasons-v9-hero {
  display: grid;
  grid-template-columns: minmax(360px, .86fr) minmax(0, 1.42fr);
  gap: clamp(34px, 4.5vw, 72px);
  align-items: center;
}
.kozu-reasons-v9-hero header { padding: 4px 0 4px 25px; border-left: 3px solid #08afd0; }
.kozu-reasons-v9-kicker { margin: 0 0 5px; color: #079fc5; font-size: 18px; font-weight: 700; letter-spacing: .1em; }
.kozu-reasons-v9-hero h2 {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  font-size: clamp(40px, 3.15vw, 50px);
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: .06em;
  white-space: nowrap;
}
.kozu-reasons-v9-hero header > p:last-child { margin: 27px 0 0; font-size: 15px; line-height: 2.05; letter-spacing: .055em; }
.kozu-reasons-v9-hero figure {
  overflow: hidden;
  aspect-ratio: 1.9;
  margin: 0;
  border-radius: 26px;
  box-shadow: 0 15px 35px rgba(8,57,103,.1);
}
.kozu-reasons-v9-hero figure img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 58%; transform: scale(1.03); }
.kozu-reasons-v9-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  margin: clamp(42px, 5vw, 72px) 0 28px;
  padding: 0;
  list-style: none;
}
.kozu-reasons-v9-grid li {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  min-height: 390px;
  padding: 20px 15px 24px;
  border: 1px solid rgba(137,195,219,.22);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 28px rgba(8,57,103,.07);
  text-align: center;
}
.kozu-reasons-v9-number { align-self: flex-start; color: #08a9cb; font-family: Georgia, serif; font-size: 20px; line-height: 1; }
.kozu-reasons-v9-grid i {
  display: grid;
  width: 108px;
  height: 108px;
  margin: 8px auto 16px;
  place-items: center;
  border: 1px solid rgba(73,184,220,.2);
  border-radius: 50%;
  background: #eef9fd;
}
.kozu-reasons-v9-grid i img { width: 84%; height: 84%; object-fit: contain; }
.kozu-reasons-v9-grid h3 { margin: 0; min-height: 58px; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: 20px; font-weight: 600; line-height: 1.55; letter-spacing: .06em; }
.kozu-reasons-v9-grid p { margin: 13px 0 0; padding-top: 12px; border-top: 1px dotted #bbdae6; color: #405e7b; font-size: 12px; line-height: 1.85; text-align: left; }
.kozu-reasons-v9-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  gap: 28px;
  align-items: center;
  padding: 17px 20px 17px 35px;
  border: 1px solid rgba(125,198,223,.22);
  border-radius: 20px;
  background: linear-gradient(90deg, rgba(224,246,253,.82), rgba(248,253,255,.95));
}
.kozu-reasons-v9-action p { margin: 0; padding-left: 58px; background: linear-gradient(#0aa9cb,#0aa9cb) 15px center/31px 2px no-repeat; }
.kozu-reasons-v9-action p strong,
.kozu-reasons-v9-action p span { display: block; }
.kozu-reasons-v9-action p strong { font-family: "Noto Serif JP", serif; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.kozu-reasons-v9-action p span { color: #53708c; font-size: 12px; line-height: 1.7; }

@media (max-width: 1200px) {
  .kozu-property-v9-shell { padding-inline: 42px; }
  .kozu-property-v9-layout { grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); gap: 28px; }
  .kozu-property-v9-intro h2 { font-size: 52px; }
  .kozu-property-v9-access { font-size: 16px; }
  .kozu-property-v9-plan > div > img { height: 200px; }
  .kozu-reasons-v9-shell { padding-inline: 42px; }
  .kozu-reasons-v9-hero { grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); gap: 36px; }
  .kozu-reasons-v9-grid li { min-height: 410px; padding-inline: 11px; }
  .kozu-reasons-v9-grid h3 { font-size: 17px; }
  .kozu-reasons-v9-action { grid-template-columns: 1fr minmax(340px,.8fr); }
}

@media (max-width: 980px) {
  .kozu-property-v9-shell { padding: 80px 38px 54px; }
  .kozu-property-v9-layout { grid-template-columns: 1fr; }
  .kozu-property-v9-intro { text-align: center; }
  .kozu-property-v9-access { justify-content: center; }
  .kozu-property-v9-exterior { aspect-ratio: 1.42; }
  .kozu-property-v9-card { width: min(100%, 740px); margin: 10px auto 0; }
  .kozu-property-v9-plan > div > img { height: 300px; }
  .kozu-reasons-v9-hero { grid-template-columns: 1fr; }
  .kozu-reasons-v9-hero header { max-width: 680px; }
  .kozu-reasons-v9-hero figure { aspect-ratio: 1.7; }
  .kozu-reasons-v9-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .kozu-reasons-v9-grid li { min-height: 385px; }
  .kozu-reasons-v9-grid li:nth-child(4),
  .kozu-reasons-v9-grid li:nth-child(5) { width: calc(150% + 10px); }
  .kozu-reasons-v9-grid li:nth-child(4) { justify-self: end; }
  .kozu-reasons-v9-grid li:nth-child(5) { grid-column: 3; transform: translateX(-50%); }
  .kozu-reasons-v9-action { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .kozu-property-v9-shell { padding: 57px 18px 40px; }
  .kozu-property-v9-swoop { top: -36vw; right: -35vw; width: 122vw; height: 90vw; border-width: 28px; }
  .kozu-property-v9-kicker { margin-bottom: 14px; font-size: 14px; }
  .kozu-property-v9-intro { padding-inline: 0; text-align: left; }
  .kozu-property-v9-intro h2 { font-size: clamp(32px, 9.2vw, 43px); line-height: 1.52; letter-spacing: .055em; }
  .kozu-property-v9-intro h2 span { white-space: normal; }
  .kozu-property-v9-access { display: grid; grid-template-columns: 34px 1fr; gap: 2px 11px; justify-content: start; margin-top: 18px; font-size: 14px; }
  .kozu-property-v9-access > span { grid-row: 1 / 3; width: 34px; height: 34px; }
  .kozu-property-v9-access strong { line-height: 1.5; }
  .kozu-property-v9-access em { grid-column: 2; font-size: 18px; }
  .kozu-property-v9-exterior { aspect-ratio: 1.06; border-radius: 18px; }
  .kozu-property-v9-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 10px; }
  .kozu-property-v9-gallery figure { border-radius: 12px; }
  .kozu-property-v9-gallery-note { font-size: 10px; }
  .kozu-property-v9-card { padding: 25px 20px; border-radius: 22px; }
  .kozu-property-v9-price strong { font-size: 58px; }
  .kozu-property-v9-price em { font-size: 16px; }
  .kozu-property-v9-specs div { grid-template-columns: 84px 1fr; gap: 10px; padding: 13px 0; }
  .kozu-property-v9-specs dd { font-size: 17px; }
  .kozu-property-v9-tags li { flex-basis: calc(50% - 4px); }
  .kozu-property-v9-tags li:last-child { flex-basis: 100%; }
  .kozu-property-v9-plan { grid-template-columns: 1fr; gap: 8px; }
  .kozu-property-v9-plan > div { padding-top: 12px; }
  .kozu-property-v9-plan > div > img { height: 280px; }
  .kozu-property-v9-cta { min-height: 62px; font-size: 15px; }
  .kozu-property-v9-cta i { width: 39px; height: 39px; }

  .kozu-reasons-v9-shell { padding: 42px 18px 62px; border-radius: 24px 24px 0 0; }
  .kozu-reasons-v9-hero { gap: 27px; }
  .kozu-reasons-v9-hero header { padding-left: 18px; }
  .kozu-reasons-v9-kicker { font-size: 14px; }
  .kozu-reasons-v9-hero h2 { font-size: clamp(31px, 8.6vw, 40px); white-space: normal; }
  .kozu-reasons-v9-hero header > p:last-child { margin-top: 20px; font-size: 13px; line-height: 1.95; }
  .kozu-reasons-v9-hero figure { aspect-ratio: 1.28; border-radius: 18px; }
  .kozu-reasons-v9-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 34px; }
  .kozu-reasons-v9-grid li,
  .kozu-reasons-v9-grid li:nth-child(4),
  .kozu-reasons-v9-grid li:nth-child(5) { width: auto; min-height: 370px; padding: 16px 11px 20px; transform: none; }
  .kozu-reasons-v9-grid li:nth-child(4) { justify-self: stretch; }
  .kozu-reasons-v9-grid li:nth-child(5) { grid-column: 1 / -1; width: calc(50% - 6px); justify-self: center; }
  .kozu-reasons-v9-grid i { width: 92px; height: 92px; }
  .kozu-reasons-v9-grid h3 { min-height: 53px; font-size: 16px; }
  .kozu-reasons-v9-grid p { font-size: 11px; line-height: 1.8; }
  .kozu-reasons-v9-action { gap: 16px; padding: 18px 14px; }
  .kozu-reasons-v9-action p { padding: 0; background: none; text-align: center; }
  .kozu-reasons-v9-action a { min-height: 62px; padding-left: 24px; font-size: 15px; }
}

@media (max-width: 420px) {
  .kozu-property-v9-gallery figcaption strong { font-size: 10px; }
  .kozu-property-v9-gallery figcaption span { font-size: 8px; }
  .kozu-property-v9-plan > div > img { height: 250px; }
  .kozu-reasons-v9-grid { grid-template-columns: 1fr; }
  .kozu-reasons-v9-grid li,
  .kozu-reasons-v9-grid li:nth-child(4),
  .kozu-reasons-v9-grid li:nth-child(5) { grid-column: auto; width: auto; min-height: 0; }
  .kozu-reasons-v9-grid h3 { min-height: 0; }
}

/* Nagao Higashimachi v9: supplied two-house stage + responsive fact rail */
.nagao-overview-v9 {
  --nagao-stage-navy: #073765;
  --nagao-stage-blue: #0b5b98;
  --nagao-stage-aqua: #0aafd0;
  --nagao-stage-line: rgba(34, 138, 190, .22);
  --nagao-stage-pale: #eaf8fd;
  padding-top: clamp(68px, 5.8vw, 102px);
}

.nagao-overview-v9 > .nagao-overview-v8__decor { display: none; }

.nagao-stage-v9 {
  position: relative;
  z-index: 1;
  width: min(100%, 1540px);
  margin-inline: auto;
  padding: 0 0 clamp(44px, 4.3vw, 72px);
  color: var(--nagao-stage-navy);
  border: 1px solid rgba(72, 177, 220, .24);
  border-radius: 36px;
  background:
    radial-gradient(circle at 14% 14%, rgba(124, 210, 243, .22), transparent 33%),
    linear-gradient(145deg, rgba(209, 241, 252, .94), rgba(246, 252, 255, .98) 62%, rgba(229, 247, 253, .92));
  box-shadow: 0 22px 64px rgba(8, 57, 103, .09);
  overflow: hidden;
}

.nagao-stage-v9::before,
.nagao-stage-v9::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: -20px;
  width: clamp(90px, 10vw, 150px);
  aspect-ratio: .72;
  background: linear-gradient(160deg, #4f9f58, #9ccc74);
  -webkit-mask: url("assets/images/nagao-leaf-v8.svg") center / contain no-repeat;
  mask: url("assets/images/nagao-leaf-v8.svg") center / contain no-repeat;
  opacity: .78;
  pointer-events: none;
}

.nagao-stage-v9::before { left: clamp(8px, 4vw, 60px); transform: rotate(-73deg) scale(.8); }
.nagao-stage-v9::after { right: clamp(8px, 4vw, 60px); transform: scaleX(-1) rotate(-73deg) scale(.8); }

.nagao-stage-v9__media {
  position: relative;
  z-index: 1;
  display: block;
}

.nagao-stage-v9__media picture {
  display: block;
  aspect-ratio: 1.5 / 1;
  border-radius: 34px 34px 0 0;
  overflow: hidden;
  background: #d8f0fc;
}

.nagao-stage-v9__media picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.nagao-stage-v9__title {
  position: absolute;
  top: clamp(38px, 4.3vw, 68px);
  left: 50%;
  z-index: 2;
  width: calc(100% - 54px);
  margin: 0;
  padding: 0;
  color: var(--nagao-stage-navy);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, .98),
    0 0 18px rgba(255, 255, 255, .86);
  transform: translateX(-50%);
  backdrop-filter: none;
}

.nagao-stage-v9__title p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7em;
  margin: 0 0 13px;
  color: var(--nagao-stage-navy);
  font-family: var(--serif);
  font-size: clamp(11px, .9vw, 15px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .18em;
}

.nagao-stage-v9__title p span { letter-spacing: .12em; }
.nagao-stage-v9__title p i { width: 1px; height: 1.25em; display: block; background: currentColor; opacity: .7; }

.nagao-stage-v9__title h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .62em;
  margin: 0;
  color: var(--nagao-stage-navy);
  font-family: var(--serif);
  font-size: clamp(42px, 4.25vw, 62px);
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: .09em;
  white-space: nowrap;
}

.nagao-stage-v9__title h2 span { display: inline-block; }
.nagao-stage-v9__title h2 i {
  display: block;
  flex: 0 0 1px;
  width: 1px;
  height: 1.08em;
  background: currentColor;
  opacity: .72;
}

.nagao-stage-v9__title strong {
  display: table;
  margin: 19px auto 0;
  padding: 7px 18px 8px;
  color: #052f5d;
  font-family: var(--serif);
  font-size: clamp(14px, 1.28vw, 21px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .16em;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(7, 55, 101, .08);
  text-shadow: none;
  backdrop-filter: blur(4px);
}

.nagao-stage-v9__facts {
  position: relative;
  z-index: 3;
  width: min(92%, 1260px);
  min-height: 142px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(24px, 2.2vw, 32px) auto 0;
  padding: 17px 22px;
  color: var(--nagao-stage-navy);
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(89, 162, 207, .28);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(8, 57, 103, .12);
}

.nagao-stage-v9__facts > div {
  min-width: 0;
  display: grid;
  grid-template-columns: clamp(58px, 5.2vw, 78px) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: clamp(12px, 1.5vw, 23px);
  padding: 4px clamp(12px, 2vw, 30px);
}

.nagao-stage-v9__facts > div + div { border-left: 1px solid var(--nagao-stage-line); }

.nagao-stage-v9__facts dt,
.nagao-stage-v9__facts dd { margin: 0; }

.nagao-stage-v9__facts dt { display: contents; }

.nagao-stage-v9__icon {
  grid-row: 1 / 3;
  grid-column: 1;
  width: clamp(58px, 5.2vw, 78px);
  aspect-ratio: 1;
  align-self: center;
  display: block;
  border-radius: 50%;
  overflow: hidden;
}

.nagao-stage-v9__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nagao-stage-v9__facts dt > span:last-child {
  grid-row: 1;
  grid-column: 2;
  align-self: end;
  color: var(--nagao-stage-blue);
  font-family: var(--sans);
  font-size: clamp(11px, .95vw, 14px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .1em;
}

.nagao-stage-v9__facts dd {
  grid-row: 2;
  grid-column: 2;
  align-self: start;
  margin-top: 4px;
  font-family: var(--serif);
  font-size: clamp(14px, 1.25vw, 20px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

.nagao-stage-v9__facts dd span { display: block; white-space: nowrap; }

.nagao-stage-v9__message {
  position: relative;
  z-index: 2;
  width: min(86%, 980px);
  margin: clamp(39px, 4vw, 62px) auto 0;
  color: rgba(7, 55, 101, .9);
  font-family: var(--serif);
  font-size: clamp(16px, 1.45vw, 23px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .11em;
  text-align: center;
}

.nagao-stage-v9__message-line { display: block; }
.nagao-stage-v9__message-line > span { display: inline; white-space: nowrap; }
.nagao-overview-v9 .nagao-overview-v8__introduction { margin-top: clamp(48px, 5vw, 78px); }

@media (max-width: 1080px) {
  .nagao-stage-v9 { padding-inline: 0; }
  .nagao-stage-v9__title { width: 91%; }
  .nagao-stage-v9__media picture { aspect-ratio: 1.4 / 1; }
  .nagao-stage-v9__title h2 { font-size: clamp(35px, 4.8vw, 51px); }
  .nagao-stage-v9__facts { margin-top: clamp(18px, 2.4vw, 24px); }
  .nagao-stage-v9__facts { width: 94%; padding-inline: 12px; }
  .nagao-stage-v9__facts > div { grid-template-columns: 58px minmax(0, 1fr); gap: 11px; padding-inline: 15px; }
  .nagao-stage-v9__icon { width: 58px; }
  .nagao-stage-v9__facts dd { font-size: 15px; }
}

@media (max-width: 767px) {
  .nagao-overview-v9 {
    padding: 0 0 58px;
    background: #fff;
  }

  .nagao-overview-v9 > .section-mobile-index { display: none; }

  .nagao-stage-v9 {
    width: 100%;
    padding: 0 0 38px;
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 50% 16%, rgba(99, 197, 238, .28), transparent 42%),
      linear-gradient(180deg, #e9f8fe 0%, #fff 76%);
    box-shadow: none;
  }

  .nagao-stage-v9::before,
  .nagao-stage-v9::after {
    bottom: -8px;
    width: 76px;
    opacity: .66;
  }

  .nagao-stage-v9::before { left: -2px; }
  .nagao-stage-v9::after { right: -2px; }

  .nagao-stage-v9__media {
    display: block;
    background: #dff3fc;
  }

  .nagao-stage-v9__media picture {
    aspect-ratio: 1.15 / 1;
    border-radius: 0;
  }

  .nagao-stage-v9__media picture img {
    object-position: center 50%;
  }

  .nagao-stage-v9__title {
    position: absolute;
    top: clamp(18px, 5.2vw, 28px);
    left: 50%;
    width: calc(100% - 22px);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(-50%);
    backdrop-filter: none;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, .96),
      0 0 12px rgba(255, 255, 255, .78);
  }

  .nagao-stage-v9__title p {
    gap: .55em;
    margin-bottom: 7px;
    color: var(--nagao-stage-navy);
    font-size: clamp(9px, 2.75vw, 12px);
    letter-spacing: .12em;
  }

  .nagao-stage-v9__title h2 {
    gap: .42em;
    font-size: clamp(20px, 6vw, 25px);
    line-height: 1.25;
    letter-spacing: .04em;
  }

  .nagao-stage-v9__title strong {
    margin-top: 10px;
    padding: 4px 10px 5px;
    color: #052f5d;
    font-size: clamp(10px, 3vw, 13px);
    letter-spacing: .07em;
  }

  .nagao-stage-v9__facts {
    width: calc(100% - 26px);
    min-height: 0;
    margin: 10px auto 0;
    padding: 10px 4px 12px;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 14px 32px rgba(8, 57, 103, .1);
  }

  .nagao-stage-v9__facts > div {
    display: flex;
    min-height: 126px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: 6px 5px 4px;
    text-align: center;
  }

  .nagao-stage-v9__facts dt { display: flex; flex-direction: column; align-items: center; }

  .nagao-stage-v9__icon {
    width: clamp(45px, 13.5vw, 58px);
    margin-bottom: 1px;
  }

  .nagao-stage-v9__facts dt > span:last-child {
    font-size: clamp(8px, 2.35vw, 10px);
    line-height: 1.35;
    letter-spacing: .08em;
  }

  .nagao-stage-v9__facts dd {
    margin-top: 4px;
    font-size: clamp(10px, 3vw, 13px);
    line-height: 1.42;
    letter-spacing: 0;
  }

  .nagao-stage-v9__message {
    width: calc(100% - 92px);
    margin-top: 30px;
    font-size: clamp(12px, 3.7vw, 15px);
    line-height: 2;
    letter-spacing: .06em;
  }

  .nagao-stage-v9__message-line > span { display: block; }

  .nagao-overview-v9 .nagao-overview-v8__introduction {
    width: calc(100% - 28px);
    margin-top: 42px;
  }
}

@media (max-width: 360px) {
  .nagao-stage-v9__title h2 { font-size: 19px; }
  .nagao-stage-v9__title strong { font-size: 9px; }
  .nagao-stage-v9__facts { width: calc(100% - 18px); }
  .nagao-stage-v9__facts > div { min-height: 119px; padding-inline: 2px; }
  .nagao-stage-v9__facts dd { font-size: 10px; }
  .nagao-stage-v9__message { width: calc(100% - 70px); font-size: 12px; }
}

/* =========================================================
   Nagao property introduction v10 — approved reference
   ========================================================= */
.nagao-overview-v9 .nagao-property-intro-v10 {
  position: relative;
  isolation: isolate;
  width: min(100%, 1500px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(42px, 3.6vw, 56px);
  margin-top: clamp(48px, 5vw, 78px);
  padding: clamp(58px, 5.3vw, 84px) clamp(38px, 3vw, 48px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 88% -7%, rgba(205, 235, 249, .92) 0 16%, transparent 16.2%),
    radial-gradient(ellipse at 46% 107%, rgba(221, 242, 251, .88) 0 18%, transparent 18.2%),
    linear-gradient(155deg, #fff 0 61%, #f5fbfe 100%);
  box-shadow: none;
}

.nagao-overview-v9 .nagao-property-intro-v10::before,
.nagao-overview-v9 .nagao-property-intro-v10::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.nagao-overview-v9 .nagao-property-intro-v10::before {
  inset: 0;
  opacity: .31;
  background-image:
    url("assets/images/nagao-leaf-v8.svg"),
    url("assets/images/nagao-leaf-v8.svg");
  background-repeat: no-repeat;
  background-position: left -118px top -72px, left -40px bottom -52px;
  background-size: 250px auto, 230px auto;
}

.nagao-overview-v9 .nagao-property-intro-v10::after {
  top: 20px;
  right: 34px;
  width: 132px;
  height: 94px;
  opacity: .45;
  background-image: radial-gradient(circle, rgba(73, 184, 224, .45) 1.5px, transparent 1.8px);
  background-size: 12px 12px;
}

.nagao-property-intro-v10__content,
.nagao-property-intro-v10__map {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.nagao-property-intro-v10__copy h3 {
  margin: 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(35px, 3.15vw, 50px);
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: .055em;
}

.nagao-property-intro-v10__copy h3 > span { display: block; white-space: nowrap; }
.nagao-property-intro-v10__heading-sp { display: none !important; }

.nagao-property-intro-v10__copy > i {
  width: 50px;
  height: 2px;
  display: block;
  margin: clamp(26px, 2.8vw, 40px) 0 clamp(24px, 2.4vw, 34px);
  background: #13b5d3;
}

.nagao-property-intro-v10__copy p {
  margin: 0;
  color: rgba(7, 49, 94, .9);
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: .045em;
}

.nagao-property-intro-v10__copy p span { display: block; }
.nagao-property-intro-v10__copy p em { font-style: normal; white-space: nowrap; }

.nagao-property-intro-v10__features {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(8px, 1.25vw, 18px);
  margin: clamp(38px, 4vw, 58px) 0 0;
  padding: 0;
  list-style: none;
}

.nagao-property-intro-v10__features li {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.nagao-property-intro-v10__features li > i {
  width: clamp(78px, 7.15vw, 110px);
  height: clamp(78px, 7.15vw, 110px);
  aspect-ratio: 1;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #073d78;
  background: rgba(246, 252, 255, .88);
  border: 1px solid rgba(65, 170, 215, .33);
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(6, 55, 101, .035);
}

.nagao-property-intro-v10__features svg {
  width: 42%;
  height: 42%;
  stroke-width: 1.75;
}

.nagao-property-intro-v10__features strong {
  margin-top: 14px;
  color: #06376d;
  font-family: var(--serif);
  font-size: clamp(12px, 1.05vw, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}

.nagao-property-intro-v10__features span {
  margin-top: 8px;
  color: rgba(7, 49, 94, .88);
  font-family: var(--serif);
  font-size: clamp(10px, .86vw, 13px);
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .02em;
}

.nagao-property-intro-v10__cta {
  width: min(100%, 390px);
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: clamp(38px, 4vw, 58px) auto 0;
  padding: 14px 24px 14px 32px;
  color: #fff;
  background: linear-gradient(90deg, #073e78, #063565);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 10px;
  font-family: var(--serif);
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  box-shadow: 0 13px 26px rgba(5, 49, 94, .16);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.nagao-property-intro-v10__cta span { min-width: 0; white-space: nowrap; }
.nagao-property-intro-v10__cta svg { width: 25px; height: 25px; flex: 0 0 auto; }
.nagao-property-intro-v10__cta:hover { transform: translateY(-2px); background: #052f5d; box-shadow: 0 17px 30px rgba(5, 49, 94, .22); }

.nagao-property-intro-v10__map {
  width: 100%;
  aspect-ratio: .8;
  margin: 0;
  overflow: hidden;
  background: #ddd6d0;
  border: clamp(9px, .9vw, 14px) solid rgba(255, 255, 255, .96);
  border-radius: 28px;
  box-shadow: 0 20px 54px rgba(6, 55, 101, .14);
}

.nagao-property-intro-v10__map::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: 0;
  background: url("assets/images/nagao-map.png") center / cover no-repeat;
  filter: blur(12px) saturate(.78);
  opacity: .28;
}

.nagao-property-intro-v10__map img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.nagao-property-intro-v10__map figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  padding: 8px 16px;
  color: #fff;
  background: rgba(5, 49, 94, .94);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
}

@media (max-width: 1080px) {
  .nagao-overview-v9 .nagao-property-intro-v10 {
    grid-template-columns: 1fr;
    gap: 52px;
    padding-inline: clamp(36px, 7vw, 72px);
  }

  .nagao-property-intro-v10__content { max-width: 790px; margin-inline: auto; }
  .nagao-property-intro-v10__map {
    width: min(100%, 720px);
    aspect-ratio: 1;
    margin-inline: auto;
  }
  .nagao-property-intro-v10__map img { height: auto; transform: none; }
  .nagao-property-intro-v10__copy { text-align: center; }
  .nagao-property-intro-v10__copy > i { margin-inline: auto; }
  .nagao-property-intro-v10__copy h3 { font-size: clamp(34px, 5vw, 48px); }
  .nagao-property-intro-v10__copy p { font-size: clamp(14px, 1.75vw, 17px); }
  .nagao-property-intro-v10__features li > i {
    width: clamp(86px, 10.5vw, 104px);
    height: clamp(86px, 10.5vw, 104px);
  }
}

@media (max-width: 767px) {
  .nagao-overview-v9 .nagao-property-intro-v10 {
    width: calc(100% - 24px);
    gap: 36px;
    margin-top: 34px;
    padding: 46px clamp(16px, 5vw, 24px) 36px;
    border-radius: 22px;
    background:
      radial-gradient(circle at 94% 1%, rgba(205, 235, 249, .82) 0 9%, transparent 9.2%),
      linear-gradient(155deg, #fff 0 58%, #f5fbfe 100%);
  }

  .nagao-overview-v9 .nagao-property-intro-v10::before {
    opacity: .22;
    background-position: left -96px top -62px, left -56px bottom -48px;
    background-size: 150px auto, 150px auto;
  }

  .nagao-overview-v9 .nagao-property-intro-v10::after {
    top: 15px;
    right: 13px;
    width: 75px;
    height: 58px;
    background-size: 10px 10px;
  }

  .nagao-property-intro-v10__copy h3 {
    font-size: clamp(24px, 7.4vw, 30px);
    line-height: 1.58;
    letter-spacing: .025em;
  }

  .nagao-property-intro-v10__heading-pc { display: none !important; }
  .nagao-property-intro-v10__heading-sp { display: block !important; }

  .nagao-property-intro-v10__copy > i { width: 42px; margin-block: 23px 22px; }
  .nagao-property-intro-v10__copy p { font-size: 13px; line-height: 1.95; text-align: left; }
  .nagao-property-intro-v10__copy p span { display: block; }

  .nagao-property-intro-v10__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 14px;
    margin-top: 34px;
  }

  .nagao-property-intro-v10__features li:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 7px);
    justify-self: center;
  }

  .nagao-property-intro-v10__features li > i {
    width: clamp(68px, 22vw, 78px);
    height: clamp(68px, 22vw, 78px);
  }
  .nagao-property-intro-v10__features strong { margin-top: 10px; font-size: 13px; }
  .nagao-property-intro-v10__features span { margin-top: 5px; font-size: 10px; line-height: 1.65; }

  .nagao-property-intro-v10__cta {
    width: 100%;
    min-height: 60px;
    gap: 18px;
    margin-top: 34px;
    padding-inline: 18px;
    font-size: 14px;
  }

  .nagao-property-intro-v10__map {
    width: 100%;
    aspect-ratio: 1;
    border-width: 7px;
    border-radius: 19px;
  }

  .nagao-property-intro-v10__map img {
    height: auto;
    object-fit: contain;
    object-position: center;
    transform: none;
  }

  .nagao-property-intro-v10__map figcaption {
    right: 9px;
    bottom: 9px;
    padding: 6px 10px;
    font-size: 9px;
  }
}

@media (max-width: 360px) {
  .nagao-overview-v9 .nagao-property-intro-v10 { width: calc(100% - 18px); padding-inline: 14px; }
  .nagao-property-intro-v10__copy h3 { font-size: 23px; }
  .nagao-property-intro-v10__copy p { font-size: 12px; }
  .nagao-property-intro-v10__features { gap-inline: 8px; }
  .nagao-property-intro-v10__features strong { font-size: 12px; }
  .nagao-property-intro-v10__cta { font-size: 13px; letter-spacing: .055em; }
}

/* =========================================================
   Nagao introduction + lot 01 v11
   Map-free introduction and approved lot-detail reference
   ========================================================= */
.nagao-overview-v9 .nagao-property-intro-v10 {
  width: min(100%, 1500px);
  display: block;
  padding: clamp(68px, 5.5vw, 92px) clamp(44px, 5.8vw, 96px) clamp(56px, 5vw, 82px);
}

.nagao-property-intro-v10__content {
  width: min(100%, 1260px);
  max-width: 1260px;
  margin-inline: auto;
}

.nagao-property-intro-v10__copy {
  max-width: 930px;
  margin-inline: auto;
  text-align: center;
}

.nagao-property-intro-v10__copy > i { margin-inline: auto; }

.nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
  color: rgba(7, 49, 94, .82);
  font-family: var(--serif);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.9;
  letter-spacing: .07em;
  text-align: center;
}

.nagao-property-intro-v10__homes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
  margin-top: clamp(32px, 3.2vw, 48px);
}

.nagao-property-intro-v10__homes article {
  position: relative;
  min-width: 0;
  padding: clamp(28px, 2.6vw, 40px) clamp(24px, 3vw, 46px);
  overflow: hidden;
  border: 1px solid rgba(72, 180, 219, .2);
  border-radius: 24px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 15px 36px rgba(5, 49, 94, .065);
}

.nagao-property-intro-v10__homes article::after {
  content: "";
  position: absolute;
  top: -58px;
  right: -48px;
  width: 150px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(213, 241, 251, .48);
}

.nagao-property-intro-v10__homes article:nth-child(2)::after {
  background: rgba(190, 235, 248, .58);
}

.nagao-property-intro-v10__homes article > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  min-height: 32px;
  padding: 4px 17px;
  color: #fff;
  border-radius: 999px;
  background: #073765;
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .11em;
}

.nagao-property-intro-v10__homes article:nth-child(2) > span { background: #0aa6c8; }

.nagao-property-intro-v10__homes h4 {
  position: relative;
  z-index: 1;
  margin: 18px 0 12px;
  color: #06376d;
  font-family: var(--serif);
  font-size: clamp(23px, 2vw, 31px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .07em;
}

.nagao-property-intro-v10__homes p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(7, 49, 94, .78);
  font-size: clamp(12px, 1vw, 14px);
  line-height: 1.9;
  letter-spacing: .025em;
}

.nagao-property-intro-v10__closing {
  margin: clamp(28px, 3vw, 42px) auto 0;
  color: rgba(7, 49, 94, .88);
  font-family: var(--serif);
  font-size: clamp(14px, 1.18vw, 17px);
  line-height: 1.95;
  letter-spacing: .055em;
  text-align: center;
}

.nagao-property-intro-v10__features { margin-top: clamp(36px, 4vw, 56px); }

.nagao-property-intro-v10__features li > i {
  overflow: hidden;
  border-color: rgba(73, 184, 224, .2);
  background: radial-gradient(circle at 50% 45%, #f8fdff, #e8f6fc);
}

.nagao-property-intro-v10__features li > i img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.nagao-property-intro-v10__features li > i .nagao-property-intro-v10__line-icon {
  width: 66%;
  height: 66%;
  margin: auto;
}

.nagao-property-intro-v10__cta { margin-inline: auto; }

/* Lot 01 */
.nagao-lot-v11 {
  padding-block: clamp(54px, 4.8vw, 82px);
  background:
    radial-gradient(circle at 3% 10%, rgba(218, 241, 251, .76) 0 10%, transparent 10.2%),
    radial-gradient(circle at 96% 92%, rgba(220, 243, 251, .8) 0 12%, transparent 12.2%),
    linear-gradient(180deg, #fff 0%, #f7fcff 100%);
}

.nagao-lot-v11 .nagao-lot-v8__decor {
  opacity: .14;
  background-size: 260px auto, 220px auto;
  background-position: right -22px top 20px, left -62px bottom -58px;
}

.nagao-lot-v11 .nagao-lot-v11__frame {
  width: min(100%, 1540px);
  padding: clamp(28px, 2.1vw, 40px);
  border: 1px solid rgba(72, 180, 219, .27);
  border-radius: 28px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 24px 68px rgba(6, 55, 101, .09);
}

.nagao-lot-v11__top {
  display: grid;
  grid-template-columns: minmax(390px, .72fr) minmax(0, 1.28fr);
  gap: clamp(24px, 2vw, 32px);
  align-items: stretch;
}

.nagao-lot-v11__copy { min-width: 0; }

.nagao-lot-v11__heading {
  display: grid;
  grid-template-columns: clamp(116px, 10.5vw, 162px) minmax(0, 1fr);
  gap: clamp(20px, 2.2vw, 34px);
  align-items: start;
}

.nagao-lot-v11__number {
  display: flex;
  align-items: flex-end;
  margin: 0;
  color: #062f61;
  line-height: .82;
}

.nagao-lot-v11__number strong {
  font-family: var(--display-number);
  font-size: clamp(128px, 12.8vw, 184px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.018em;
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-variant-numeric: lining-nums tabular-nums;
}

.nagao-lot-v11__number span {
  margin: 0 0 2px 8px;
  font-family: var(--serif);
  font-size: clamp(31px, 3.7vw, 52px);
  line-height: 1.05;
  writing-mode: vertical-rl;
}

.nagao-lot-v11__status {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 5px 18px;
  color: #079fbe;
  border: 1px solid rgba(10, 166, 200, .3);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .17em;
}

.nagao-lot-v11__heading h2 {
  margin: clamp(20px, 2vw, 30px) 0 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(31px, 3.2vw, 47px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .075em;
}

.nagao-lot-v11__heading h2 span { display: block; white-space: nowrap; }

.nagao-lot-v11__price {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: 13px;
  margin: clamp(28px, 3vw, 44px) 0 0;
  padding: clamp(20px, 2vw, 28px) 4px clamp(22px, 2vw, 30px);
  border-top: 1px solid rgba(6, 55, 101, .15);
  border-bottom: 1px solid rgba(6, 55, 101, .15);
}

.nagao-lot-v11__price span {
  align-self: center;
  color: rgba(7, 49, 94, .84);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.nagao-lot-v11__price strong {
  color: #08a7c8;
  font-family: var(--display-number);
  font-size: clamp(59px, 6.8vw, 88px);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.012em;
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-variant-numeric: lining-nums tabular-nums;
}

.nagao-lot-v11__price em {
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(18px, 1.8vw, 25px);
  font-style: normal;
  font-weight: 700;
}

.nagao-lot-v11__appeal { padding: clamp(28px, 3vw, 42px) 4px 0; }

.nagao-lot-v11__appeal h3 {
  margin: 0 0 20px;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(25px, 2.4vw, 35px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .08em;
}

.nagao-lot-v11__appeal ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nagao-lot-v11__appeal li {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: rgba(7, 49, 94, .9);
  font-size: clamp(12px, 1.05vw, 15px);
  line-height: 1.7;
}

.nagao-lot-v11__appeal li i {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  margin-top: 2px;
  color: #fff;
  border-radius: 50%;
  background: #0aa6c8;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.nagao-lot-v11__appeal li strong { font-family: var(--serif); font-size: 1.04em; }

.nagao-lot-v11__appeal > p {
  margin: 22px 0 0;
  color: rgba(7, 49, 94, .68);
  font-size: clamp(11px, .9vw, 13px);
  line-height: 1.9;
  letter-spacing: .02em;
}

.nagao-lot-v11__gallery {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.nagao-lot-v11__gallery figure {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(6, 55, 101, .16);
  background: #eef8fc;
}

.nagao-lot-v11__gallery img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.nagao-lot-v11__gallery figure:first-child img { object-position: center 46%; }
.nagao-lot-v11__gallery figure:last-child img { object-position: center 52%; }

.nagao-lot-v11__gallery figcaption {
  position: absolute;
  width: 74px;
  height: 74px;
  display: grid;
  place-content: center;
  color: #fff;
  border-radius: 50%;
  background: rgba(5, 43, 80, .94);
  font-family: var(--serif);
  line-height: 1.25;
  text-align: center;
  letter-spacing: .08em;
}

.nagao-lot-v11__gallery figure:first-child figcaption { top: 16px; left: 16px; }
.nagao-lot-v11__gallery figure:last-child figcaption { right: 16px; bottom: 16px; }
.nagao-lot-v11__gallery figcaption span,
.nagao-lot-v11__gallery figcaption strong { display: block; font-size: 13px; font-weight: 500; }
.nagao-lot-v11__gallery figcaption strong { font-size: 16px; }

.nagao-lot-v11__details {
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(275px, .58fr);
  gap: clamp(24px, 3.6vw, 54px);
  align-items: center;
  margin-top: clamp(36px, 4vw, 58px);
  padding: clamp(24px, 2.6vw, 38px);
  border: 1px solid rgba(72, 180, 219, .25);
  border-radius: 20px;
  background: rgba(255, 255, 255, .92);
}

.nagao-lot-v11__plan { position: relative; min-width: 0; margin: 0; }
.nagao-lot-v11__plan img { width: 100%; height: auto; max-height: 600px; display: block; object-fit: contain; }
.nagao-lot-v11__plan figcaption { position: absolute; inset: 0; pointer-events: none; }

.nagao-lot-v11__plan figcaption span {
  position: absolute;
  top: 0;
  min-width: 52px;
  padding: 7px 12px;
  color: #fff;
  border-radius: 999px;
  background: #073765;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  text-align: center;
}

.nagao-lot-v11__plan figcaption span:first-child { left: 0; }
.nagao-lot-v11__plan figcaption span:last-child { left: 55%; }

.nagao-lot-v11__specs {
  min-width: 0;
  margin: 0;
  padding-left: clamp(18px, 2vw, 30px);
  border-left: 1px solid rgba(6, 55, 101, .18);
}

.nagao-lot-v11__specs > div {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 3px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px dotted rgba(6, 55, 101, .22);
}

.nagao-lot-v11__specs > div:last-child { border-bottom: 0; }

.nagao-lot-v11__specs img {
  width: 52px;
  height: 52px;
  display: block;
  grid-column: 1;
  grid-row: 1 / 3;
  object-fit: contain;
}

.nagao-lot-v11__specs dt {
  grid-column: 2;
  grid-row: 1;
  color: #09a2c2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.nagao-lot-v11__specs dd {
  grid-column: 2;
  grid-row: 2;
  margin: 5px 0 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
  letter-spacing: .04em;
}

.nagao-lot-v11__specs dd strong {
  font-family: var(--display-number);
  font-size: clamp(31px, 3vw, 44px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.012em;
  font-feature-settings: "lnum" 1, "tnum" 1;
  white-space: nowrap;
  font-variant-numeric: lining-nums tabular-nums;
}

.nagao-lot-v11__cta {
  width: min(100%, 430px);
  min-height: 66px;
  margin: clamp(32px, 3.2vw, 48px) auto 0;
}

/* Lot 02: paired visual system with a cooler cyan accent */
.nagao-lot-v12 {
  background:
    radial-gradient(circle at 97% 8%, rgba(211, 240, 250, .76) 0 10%, transparent 10.2%),
    radial-gradient(circle at 4% 94%, rgba(221, 243, 251, .82) 0 12%, transparent 12.2%),
    linear-gradient(180deg, #f7fcff 0%, #fff 100%);
}

.nagao-lot-v12 .nagao-lot-v11__gallery figcaption,
.nagao-lot-v12 .nagao-lot-v11__plan figcaption span {
  background: linear-gradient(145deg, #07558d 0%, #08abc8 100%);
}

.nagao-lot-v12 .nagao-lot-v11__gallery figure:last-child img { object-position: center 48%; }

.nagao-lot-v12__note {
  margin: 20px 0 -14px;
  color: rgba(7, 49, 94, .58);
  line-height: 1.7;
}

@media (max-width: 1080px) {
  .nagao-overview-v9 .nagao-property-intro-v10 { padding-inline: clamp(34px, 5vw, 64px); }
  .nagao-property-intro-v10__content { max-width: 1260px; }
  .nagao-property-intro-v10__copy { max-width: 900px; }

  .nagao-lot-v11__top { grid-template-columns: minmax(360px, .74fr) minmax(0, 1.26fr); gap: 24px; }
  .nagao-lot-v11__heading { grid-template-columns: 104px minmax(0, 1fr); gap: 18px; }
  .nagao-lot-v11__number strong { font-size: 122px; }
  .nagao-lot-v11__number span { font-size: 34px; }
  .nagao-lot-v11__heading h2 { font-size: clamp(29px, 3.3vw, 39px); }
  .nagao-lot-v11__price strong { font-size: clamp(55px, 6.4vw, 74px); }
  .nagao-lot-v11__gallery img { min-height: 270px; }
  .nagao-lot-v11__details { grid-template-columns: minmax(0, 1.55fr) minmax(250px, .65fr); }
}

@media (max-width: 860px) {
  .nagao-property-intro-v10__homes { gap: 16px; }
  .nagao-property-intro-v10__homes article { padding-inline: 25px; }

  .nagao-lot-v11__top { grid-template-columns: 1fr; }
  .nagao-lot-v11__copy { width: min(100%, 680px); margin-inline: auto; }
  .nagao-lot-v11__heading { grid-template-columns: 120px minmax(0, 1fr); }
  .nagao-lot-v11__number strong { font-size: 145px; }
  .nagao-lot-v11__number span { font-size: 42px; }
  .nagao-lot-v11__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .nagao-lot-v11__gallery img { min-height: 0; aspect-ratio: 1.25; }
  .nagao-lot-v11__details { grid-template-columns: 1fr; }
  .nagao-lot-v11__specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 22px 0 0;
    border-top: 1px solid rgba(6, 55, 101, .18);
    border-left: 0;
  }
  .nagao-lot-v11__specs > div { padding: 17px 16px; }
  .nagao-lot-v11__specs > div:nth-child(odd) { border-right: 1px dotted rgba(6, 55, 101, .22); }
}

@media (max-width: 767px) {
  .nagao-overview-v9 .nagao-property-intro-v10 {
    width: calc(100% - 24px);
    padding: 46px clamp(16px, 5vw, 24px) 40px;
  }
  .nagao-property-intro-v10__content { max-width: none; }
  .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead { font-size: 13px; line-height: 1.9; text-align: center; }
  .nagao-property-intro-v10__homes { grid-template-columns: 1fr; margin-top: 28px; }
  .nagao-property-intro-v10__homes article { padding: 24px 22px; border-radius: 18px; }
  .nagao-property-intro-v10__homes article > span { min-width: 68px; min-height: 29px; font-size: 11px; }
  .nagao-property-intro-v10__homes h4 { margin-top: 14px; font-size: 22px; line-height: 1.5; }
  .nagao-property-intro-v10__homes p { font-size: 12px; line-height: 1.85; }
  .nagao-property-intro-v10__closing { margin-top: 25px; font-size: 13px; line-height: 1.9; text-align: left; }
  .nagao-property-intro-v10__features { margin-top: 30px; }

  .nagao-lot-v11 { padding: 62px 12px 74px; }
  .nagao-lot-v11 .nagao-lot-v11__frame { padding: 24px 14px 30px; border-radius: 22px; }
  .nagao-lot-v11__top { gap: 28px; }
  .nagao-lot-v11__copy { width: 100%; }
  .nagao-lot-v11__heading { grid-template-columns: 86px minmax(0, 1fr); gap: 13px; }
  .nagao-lot-v11__number strong { font-size: 104px; }
  .nagao-lot-v11__number span { margin-left: 3px; font-size: 29px; }
  .nagao-lot-v11__status { min-height: 29px; padding: 4px 11px; font-size: 9px; letter-spacing: .11em; }
  .nagao-lot-v11__heading h2 { margin-top: 14px; font-size: clamp(23px, 7vw, 28px); line-height: 1.55; letter-spacing: .045em; }
  .nagao-lot-v11__price { grid-template-columns: auto 1fr auto; gap: 7px; margin-top: 22px; padding-block: 17px 20px; }
  .nagao-lot-v11__price span { font-size: 10px; }
  .nagao-lot-v11__price strong { font-size: clamp(48px, 15vw, 62px); }
  .nagao-lot-v11__price em { font-size: 17px; }
  .nagao-lot-v11__appeal { padding-top: 24px; }
  .nagao-lot-v11__appeal h3 { font-size: 24px; }
  .nagao-lot-v11__appeal li { grid-template-columns: 23px minmax(0, 1fr); gap: 8px; font-size: 12px; }
  .nagao-lot-v11__appeal li i { width: 20px; height: 20px; font-size: 12px; }
  .nagao-lot-v11__appeal > p { font-size: 11px; }
  .nagao-lot-v11__gallery { grid-template-columns: 1fr; }
  .nagao-lot-v11__gallery img { aspect-ratio: 1.32; }
  .nagao-lot-v11__gallery figcaption { width: 62px; height: 62px; }
  .nagao-lot-v11__gallery figcaption span { font-size: 11px; }
  .nagao-lot-v11__gallery figcaption strong { font-size: 14px; }
  .nagao-lot-v11__details { gap: 19px; margin-top: 28px; padding: 18px 10px; border-radius: 16px; }
  .nagao-lot-v11__plan figcaption span { min-width: 42px; padding: 5px 8px; font-size: 13px; }
  .nagao-lot-v11__specs { gap: 0; padding-top: 16px; }
  .nagao-lot-v11__specs > div { grid-template-columns: 38px minmax(0, 1fr); column-gap: 8px; row-gap: 2px; padding: 14px 8px; }
  .nagao-lot-v11__specs img { width: 36px; height: 36px; }
  .nagao-lot-v11__specs dt { font-size: 9px; }
  .nagao-lot-v11__specs dd { font-size: 12px; }
  .nagao-lot-v11__specs dd strong { font-size: clamp(24px, 8vw, 32px); }
  .nagao-lot-v11__cta { min-height: 60px; font-size: 14px; }
}

@media (max-width: 380px) {
  .nagao-lot-v11 .nagao-lot-v11__frame { padding-inline: 10px; }
  .nagao-lot-v11__heading { grid-template-columns: 76px minmax(0, 1fr); }
  .nagao-lot-v11__number strong { font-size: 92px; }
  .nagao-lot-v11__number span { font-size: 26px; }
  .nagao-lot-v11__heading h2 { font-size: 22px; }
  .nagao-lot-v11__price strong { font-size: 47px; }
  .nagao-lot-v11__price em { font-size: 15px; }
  .nagao-lot-v11__specs > div { grid-template-columns: 32px minmax(0, 1fr); padding-inline: 5px; }
  .nagao-lot-v11__specs img { width: 31px; height: 31px; }
  .nagao-lot-v11__specs dd strong { font-size: 25px; }
}

/* =========================================================
   Premium Town Kozu v13 — reference order 05 → 03 → 04
   ========================================================= */
.lp-section.kozu-v13-hero,
.lp-section.kozu-v13-reasons,
.lp-section.kozu-v13-detail {
  position: relative;
  overflow: hidden;
  color: #073765;
  font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
}

.lp-section.kozu-v13-hero::after,
.lp-section.kozu-v13-reasons::after,
.lp-section.kozu-v13-detail::after { display: none; }

.kozu-v13-hero {
  min-height: clamp(820px, 66vw, 1010px);
  padding: 0 !important;
  background: #d9f0ff url("assets/images/kozu-v13-sky.png") center top / cover no-repeat !important;
}

.kozu-v13-hero::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 30%;
  background: linear-gradient(180deg, rgba(236,248,255,0), rgba(247,252,255,.9) 72%, #f7fcff 100%);
  pointer-events: none;
}

.kozu-v13-hero-shell {
  position: relative;
  z-index: 2;
  width: min(100%, 1540px);
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(76px, 6vw, 112px) clamp(26px, 5vw, 78px) clamp(62px, 6vw, 96px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.kozu-v13-hero-copy {
  position: relative;
  z-index: 4;
  width: 100%;
  text-align: center;
}

.kozu-v13-hero-copy h2 {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(7,55,101,.28);
  color: #063465;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(28px, 3.35vw, 50px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .06em;
  text-shadow: 0 2px 0 rgba(255,255,255,.58);
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 38px);
}

.kozu-v13-hero-copy h2 span { display: block; }
.kozu-v13-hero-venue {
  color: #079fc5;
  font-family: var(--sans);
  font-size: .54em;
  font-weight: 800;
  letter-spacing: .16em;
  white-space: nowrap;
}
.kozu-v13-hero-name { white-space: nowrap; }

.kozu-v13-access-pill {
  width: fit-content;
  max-width: calc(100% - 20px);
  min-height: 72px;
  margin: 24px auto 0;
  padding: 10px 32px 10px 18px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 16px 38px rgba(30,104,148,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  backdrop-filter: blur(10px);
}

.kozu-v13-access-pill img { width: 45px; height: 45px; object-fit: contain; }
.kozu-v13-access-pill span { font-size: clamp(14px, 1.2vw, 19px); font-weight: 700; letter-spacing: .08em; }
.kozu-v13-access-pill strong { color: #078fbd; font-size: clamp(20px, 1.7vw, 28px); letter-spacing: .05em; white-space: nowrap; }

.kozu-v13-hero-house {
  position: relative;
  z-index: 2;
  width: min(1080px, 91vw);
  margin: clamp(14px, 1.8vw, 26px) auto 0;
  filter: drop-shadow(0 25px 34px rgba(21,74,111,.12));
}

.kozu-v13-hero-house img { display: block; width: 100%; height: auto; object-fit: contain; }

.kozu-v13-hero-note {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  width: fit-content;
  max-width: 100%;
  margin: 12px auto 0;
  padding: 13px 24px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 999px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 12px 28px rgba(25,84,119,.1);
  backdrop-filter: blur(8px);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(16px, 1.45vw, 23px);
  letter-spacing: .08em;
  text-align: center;
}

.kozu-v13-hero-note span { width: clamp(55px, 7vw, 105px); height: 1px; background: rgba(7,55,101,.45); }

.kozu-v13-reasons {
  padding: 0 !important;
  background:
    radial-gradient(circle at 84% 8%, rgba(126,213,248,.3), transparent 24%),
    radial-gradient(circle at 8% 91%, rgba(144,220,249,.22), transparent 25%),
    linear-gradient(180deg, #fff 0%, #f6fbff 48%, #eaf7fd 100%) !important;
}

.kozu-v13-reasons-shell {
  width: min(100%, 1560px);
  margin: 0 auto;
  padding: clamp(88px, 7.2vw, 130px) clamp(28px, 5vw, 78px) clamp(72px, 6vw, 104px);
}

.kozu-v13-reasons-lead {
  position: relative;
  min-height: clamp(440px, 35vw, 560px);
  display: grid;
  grid-template-columns: minmax(400px, .82fr) minmax(0, 1.18fr);
  align-items: stretch;
}

.kozu-v13-reasons-lead header {
  position: relative;
  z-index: 3;
  padding: clamp(30px, 4vw, 58px) 38px 30px 16px;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.96) 72%, rgba(255,255,255,0) 100%);
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  column-gap: 24px;
  align-content: center;
}

.kozu-v13-reasons-lead header > p {
  grid-column: 1 / -1;
  margin: 0 0 15px;
  color: #08a8cb;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 700;
  letter-spacing: .12em;
}

.kozu-v13-reasons-lead h2 {
  grid-column: 1 / -1;
  margin: 0;
  color: #063465;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(48px, 5.4vw, 82px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .065em;
}

.kozu-v13-reasons-rule {
  grid-column: 1;
  grid-row: 3;
  align-self: stretch;
  display: block;
  width: 4px;
  min-height: 116px;
  margin: 26px 0 0;
  background: #08afd0;
}
.kozu-v13-reasons-lead header > div {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
  margin-top: 26px;
  font-size: clamp(13px, 1.12vw, 17px);
  line-height: 2.02;
  letter-spacing: .07em;
}

.kozu-v13-reasons-lead figure {
  position: relative;
  z-index: 1;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  border-radius: 0 52px 0 0;
  background: linear-gradient(180deg, rgba(174,224,252,.52), rgba(255,255,255,.2));
}

.kozu-v13-reasons-lead figure::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 26%;
  background: linear-gradient(90deg, #fff, transparent);
  pointer-events: none;
}

.kozu-v13-reasons-lead figure img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 56%; }

.kozu-v13-reasons-grid {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: -8px 0 0;
  padding: 0;
  list-style: none;
}

.kozu-v13-reasons-grid li {
  min-width: 0;
  min-height: 325px;
  padding: 22px 18px 25px;
  border: 1px solid rgba(90,169,207,.15);
  border-radius: 24px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 18px 38px rgba(25,84,119,.09);
  text-align: center;
}

.kozu-v13-reasons-grid li > span { display: block; color: #08a5c8; font-family: Georgia, serif; font-size: 21px; text-align: left; }
.kozu-v13-reasons-grid i { width: 108px; height: 108px; margin: 2px auto 10px; border-radius: 50%; background: linear-gradient(145deg, #f3fbff, #dfedf8); display: grid; place-items: center; }
.kozu-v13-reasons-grid i img { width: 73%; height: 73%; object-fit: contain; }
.kozu-v13-reasons-grid h3 { margin: 0; min-height: 60px; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(15px, 1.35vw, 20px); font-weight: 600; line-height: 1.55; letter-spacing: .045em; }
.kozu-v13-reasons-grid p { margin: 13px 0 0; padding-top: 12px; border-top: 1px dotted rgba(42,128,170,.35); color: #42627e; font-size: 12px; line-height: 1.85; text-align: left; }

.kozu-v13-reasons-action {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(360px,.7fr);
  gap: 30px;
  align-items: center;
  margin-top: 30px;
  padding: 21px 22px 21px 36px;
  border: 1px solid rgba(63,158,197,.18);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
}

.kozu-v13-reasons-action p { margin: 0; }
.kozu-v13-reasons-action p strong,
.kozu-v13-reasons-action p span { display: block; }
.kozu-v13-reasons-action p strong { font-family: "Noto Serif JP", serif; font-size: 17px; letter-spacing: .055em; }
.kozu-v13-reasons-action p span { margin-top: 4px; color: #58748d; font-size: 12px; }

.kozu-v13-reasons-action a,
.kozu-v13-detail-cta {
  min-height: 68px;
  padding: 8px 11px 8px 34px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(90deg, #09b4ce, #0496c7);
  box-shadow: 0 12px 22px rgba(6,150,192,.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .09em;
  text-decoration: none;
}

.kozu-v13-reasons-action a i,
.kozu-v13-detail-cta i {
  flex: 0 0 auto;
  width: 47px;
  height: 47px;
  border-radius: 50%;
  color: #079ec5;
  background: #fff;
  display: grid;
  place-items: center;
  font-size: 24px;
  font-style: normal;
  transition: transform .2s ease;
}

.kozu-v13-reasons-action a:hover i,
.kozu-v13-detail-cta:hover i { transform: translateX(4px); }

.kozu-v13-detail {
  padding: 0 !important;
  background:
    url("assets/images/kozu-v13-botanical.png") center / cover no-repeat,
    radial-gradient(circle at 9% 4%, rgba(170,220,247,.2), transparent 23%),
    linear-gradient(180deg, #fff, #f2f9fd) !important;
}

.kozu-v13-detail-shell {
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: clamp(76px, 6vw, 108px) clamp(24px, 3vw, 48px) clamp(74px, 5.5vw, 98px);
}

.kozu-v13-detail-top {
  display: grid;
  grid-template-columns: minmax(400px,.66fr) minmax(0,1.34fr);
  gap: clamp(24px, 2vw, 32px);
  align-items: start;
}

.kozu-v13-detail-copy { min-width: 0; }
.kozu-v13-detail-status { display: inline-flex; min-height: 38px; margin: 0 0 24px; padding: 7px 18px; border: 1px solid rgba(7,157,196,.26); border-radius: 999px; color: #079fc5; background: rgba(255,255,255,.78); font-size: 12px; font-weight: 700; letter-spacing: .14em; align-items: center; }
.kozu-v13-detail-heading { display: grid; grid-template-columns: 124px minmax(0,1fr); gap: 18px; align-items: center; }
.kozu-v13-detail-heading > p { display: flex; align-items: flex-end; margin: 0; font-family: "Noto Serif JP", "Yu Mincho", serif; line-height: .86; }
.kozu-v13-detail-heading > p strong { color: #063465; font-family: var(--display-number); font-size: clamp(130px, 11vw, 190px); font-weight: 400; letter-spacing: -.018em; font-feature-settings: "lnum" 1, "tnum" 1; font-variant-numeric: lining-nums tabular-nums; }
.kozu-v13-detail-heading > p span { padding-bottom: 15px; font-size: 41px; line-height: 1; writing-mode: vertical-rl; }
.kozu-v13-detail-heading h2 { margin: 0; color: #063465; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(30px, 2vw, 36px); font-weight: 500; line-height: 1.55; letter-spacing: .02em; }
.kozu-v13-detail-heading h2 span { display: block; white-space: nowrap; }

.kozu-v13-detail-price { display: grid; grid-template-columns: auto 1fr auto; column-gap: 13px; align-items: baseline; margin-top: 28px; padding: 24px 0 27px; border-block: 1px solid rgba(19,101,145,.2); }
.kozu-v13-detail-price > span { font-size: 13px; font-weight: 700; letter-spacing: .09em; }
.kozu-v13-detail-price p { display: flex; align-items: baseline; gap: 9px; margin: 0; color: #079fc5; }
.kozu-v13-detail-price strong { font-family: var(--display-number); font-size: clamp(60px, 5.7vw, 88px); font-weight: 400; line-height: 1; letter-spacing: -.01em; font-feature-settings: "lnum" 1, "tnum" 1; font-variant-numeric: lining-nums tabular-nums; }
.kozu-v13-detail-price em { color: #063465; font-size: 22px; font-style: normal; font-weight: 700; }
.kozu-v13-detail-price small { color: #60758b; font-size: 10px; white-space: nowrap; }
.kozu-v13-detail-copy > h3 { margin: 32px 0 20px; font-family: "Noto Serif JP", serif; font-size: clamp(25px, 2.25vw, 35px); font-weight: 500; line-height: 1.55; letter-spacing: .08em; }
.kozu-v13-detail-copy > ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.kozu-v13-detail-copy > ul li { position: relative; padding-left: 32px; font-size: 14px; font-weight: 600; line-height: 1.65; }
.kozu-v13-detail-copy > ul li::before { content: "✓"; position: absolute; left: 0; top: .05em; width: 21px; height: 21px; border-radius: 50%; color: #fff; background: #08a7c9; display: grid; place-items: center; font-size: 12px; }
.kozu-v13-detail-summary { margin: 24px 0 0; color: #4a647c; font-size: 12px; line-height: 1.95; letter-spacing: .045em; }

.kozu-v13-detail-gallery { display: grid; gap: 16px; min-width: 0; }
.kozu-v13-detail-gallery figure { position: relative; margin: 0; overflow: hidden; border-radius: 28px 28px 7px 7px; background: #e7f4fb; box-shadow: 0 18px 35px rgba(37,84,113,.1); }
.kozu-v13-detail-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kozu-v13-detail-exterior { aspect-ratio: 1.48; }
.kozu-v13-detail-interior { aspect-ratio: 1.62; }
.kozu-v13-detail-exterior img { object-position: 50% 55%; }
.kozu-v13-detail-gallery figcaption { position: absolute; right: 16px; bottom: 16px; min-width: 82px; min-height: 82px; padding: 14px; border-radius: 50%; color: #fff; background: rgba(5,56,105,.92); display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: "Noto Serif JP", serif; font-size: 13px; text-align: center; }
.kozu-v13-detail-interior figcaption { right: 17px; bottom: 17px; width: auto; min-width: 0; min-height: 0; padding: 9px 16px; border-radius: 999px; background: rgba(5,56,105,.9); }
.kozu-v13-detail-interior figcaption strong { font-size: 13px; }
.kozu-v13-detail-interior figcaption span { margin-top: 2px; font-family: "Noto Sans JP", sans-serif; font-size: 9px; }

.kozu-v13-info-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin: 36px 0 0;
  padding: 22px 18px;
  border: 1px solid rgba(58,149,190,.22);
  border-radius: 22px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 15px 34px rgba(34,90,121,.07);
}
.kozu-v13-info-strip > div { display: grid; grid-template-columns: 54px minmax(0,1fr); column-gap: 12px; padding: 4px 20px; border-right: 1px solid rgba(25,100,139,.18); }
.kozu-v13-info-strip > div:last-child { border-right: 0; }
.kozu-v13-info-strip dt { display: contents; }
.kozu-v13-info-strip dt img { grid-row: 1 / 3; width: 50px; height: 50px; object-fit: contain; }
.kozu-v13-info-strip dt span { align-self: end; color: #078fbd; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.kozu-v13-info-strip dd { margin: 4px 0 0; color: #083866; font-size: 15px; font-weight: 700; line-height: 1.55; }
.kozu-v13-info-strip dd small { display: block; font-size: 10px; font-weight: 500; }

.kozu-v13-plan-row {
  display: grid;
  grid-template-columns: minmax(0,1.48fr) minmax(290px,.52fr);
  gap: 30px;
  margin-top: 34px;
  padding: 26px 30px;
  border: 1px solid rgba(65,156,198,.22);
  border-radius: 24px;
  background: rgba(255,255,255,.91);
}

.kozu-v13-floorplan { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: center; margin: 0; min-width: 0; }
.kozu-v13-floorplan > div { position: relative; min-width: 0; padding-top: 24px; }
.kozu-v13-floorplan > div > span { position: absolute; top: 0; left: 0; z-index: 2; min-width: 46px; min-height: 31px; padding: 5px 10px; border-radius: 999px; color: #fff; background: #078fb7; display: grid; place-items: center; font-family: Georgia,serif; font-size: 15px; }
.kozu-v13-floorplan img { display: block; width: 100%; height: 330px; object-fit: contain; }

.kozu-v13-spec-list { display: grid; margin: 0; padding-left: 26px; border-left: 1px solid rgba(23,110,153,.22); }
.kozu-v13-spec-list > div { display: grid; grid-template-columns: 52px minmax(0,1fr); column-gap: 13px; align-items: center; padding: 14px 0; border-bottom: 1px dotted rgba(29,107,148,.28); }
.kozu-v13-spec-list > div:last-child { border-bottom: 0; }
.kozu-v13-spec-list dt { display: contents; }
.kozu-v13-spec-list dt img { grid-row: 1 / 3; width: 48px; height: 48px; object-fit: contain; }
.kozu-v13-spec-list dt span { align-self: end; color: #079ec5; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.kozu-v13-spec-list dd { margin: 2px 0 0; font-family: "Noto Serif JP", serif; font-size: 18px; font-weight: 600; line-height: 1.45; }

.kozu-v13-detail-cta { width: min(100%, 500px); margin: 34px auto 0; }

@media (max-width: 1100px) {
  .kozu-v13-hero { min-height: 850px; }
  .kozu-v13-reasons-lead { grid-template-columns: minmax(330px,.75fr) minmax(0,1.25fr); }
  .kozu-v13-reasons-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kozu-v13-reasons-grid li:nth-child(4) { grid-column: 1 / 2; margin-left: 52%; }
  .kozu-v13-reasons-grid li:nth-child(5) { grid-column: 2 / 3; margin-left: 52%; }
  .kozu-v13-detail-top { grid-template-columns: 1fr; }
  .kozu-v13-detail-copy { width: min(100%, 820px); margin-inline: auto; }
  .kozu-v13-detail-gallery { width: min(100%, 980px); margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kozu-v13-detail-exterior,
  .kozu-v13-detail-interior { aspect-ratio: 1.22; }
  .kozu-v13-info-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kozu-v13-info-strip > div:nth-child(2) { border-right: 0; }
  .kozu-v13-info-strip > div:nth-child(-n+2) { padding-bottom: 16px; border-bottom: 1px solid rgba(25,100,139,.18); }
  .kozu-v13-info-strip > div:nth-child(n+3) { padding-top: 16px; }
  .kozu-v13-plan-row { grid-template-columns: 1fr; }
  .kozu-v13-spec-list { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 20px 0 0; border-top: 1px solid rgba(23,110,153,.22); border-left: 0; }
  .kozu-v13-spec-list > div:nth-child(odd) { padding-right: 16px; border-right: 1px dotted rgba(29,107,148,.28); }
  .kozu-v13-spec-list > div:nth-child(even) { padding-left: 16px; }
}

@media (max-width: 767px) {
  .kozu-v13-hero { min-height: auto; }
  .kozu-v13-hero-shell { min-height: 0; padding: 58px 14px 38px; }
  .kozu-v13-hero-copy h2 {
    padding-bottom: 11px;
    flex-direction: column;
    gap: 5px;
    font-size: clamp(23px, 6.7vw, 29px);
    line-height: 1.42;
    letter-spacing: .045em;
  }
  .kozu-v13-hero-venue { font-size: 12px; }
  .kozu-v13-access-pill { min-height: 58px; margin-top: 20px; padding: 8px 18px 8px 10px; gap: 8px; }
  .kozu-v13-access-pill img { width: 36px; height: 36px; }
  .kozu-v13-access-pill span { font-size: 11px; }
  .kozu-v13-access-pill strong { font-size: 16px; }
  .kozu-v13-hero-house { width: 118%; margin: 20px -9% 0; }
  .kozu-v13-hero-note { gap: 10px; margin-top: 8px; padding: 10px 14px; font-size: 11px; line-height: 1.65; }
  .kozu-v13-hero-note span { display: none; }

  .kozu-v13-reasons-shell { padding: 68px 14px 72px; }
  .kozu-v13-reasons-lead { min-height: 0; grid-template-columns: 1fr; }
  .kozu-v13-reasons-lead header { grid-template-columns: 3px minmax(0,1fr); column-gap: 16px; padding: 8px 10px 22px; background: none; }
  .kozu-v13-reasons-lead header > p { font-size: 13px; }
  .kozu-v13-reasons-lead h2 { font-size: clamp(32px, 9vw, 38px); letter-spacing: .04em; white-space: nowrap; }
  .kozu-v13-reasons-rule { width: 3px; height: auto; min-height: 100%; margin: 20px 0 0; }
  .kozu-v13-reasons-lead header > div { margin-top: 20px; font-size: 12px; line-height: 1.95; }
  .kozu-v13-reasons-lead figure { aspect-ratio: 1.12; border-radius: 22px; }
  .kozu-v13-reasons-lead figure::after { display: none; }
  .kozu-v13-reasons-lead figure img { object-position: 50% 55%; }
  .kozu-v13-reasons-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
  .kozu-v13-reasons-grid li,
  .kozu-v13-reasons-grid li:nth-child(4),
  .kozu-v13-reasons-grid li:nth-child(5) { grid-column: auto; min-height: 285px; margin: 0; padding: 15px 10px 18px; }
  .kozu-v13-reasons-grid li:last-child { grid-column: 1 / -1; width: calc(50% - 5px); justify-self: center; }
  .kozu-v13-reasons-grid i { width: 82px; height: 82px; }
  .kozu-v13-reasons-grid h3 { min-height: 49px; font-size: 14px; }
  .kozu-v13-reasons-grid p { font-size: 10px; line-height: 1.75; }
  .kozu-v13-reasons-action { grid-template-columns: 1fr; gap: 15px; margin-top: 18px; padding: 18px 14px; }
  .kozu-v13-reasons-action p { text-align: center; }
  .kozu-v13-reasons-action p strong { font-size: 13px; }
  .kozu-v13-reasons-action a,
  .kozu-v13-detail-cta { min-height: 60px; padding-left: 24px; font-size: 14px; }
  .kozu-v13-reasons-action a i,
  .kozu-v13-detail-cta i { width: 40px; height: 40px; }

  .kozu-v13-detail-shell { padding: 68px 12px 78px; }
  .kozu-v13-detail-status { min-height: 32px; margin-bottom: 17px; padding: 5px 13px; font-size: 9px; }
  .kozu-v13-detail-heading { grid-template-columns: 92px minmax(0,1fr); gap: 13px; }
  .kozu-v13-detail-heading > p strong { font-size: 105px; }
  .kozu-v13-detail-heading > p span { padding-bottom: 7px; font-size: 27px; }
  .kozu-v13-detail-heading h2 { font-size: clamp(24px, 7.3vw, 31px); line-height: 1.55; }
  .kozu-v13-detail-price { grid-template-columns: auto 1fr; gap: 8px; margin-top: 18px; padding-block: 18px; }
  .kozu-v13-detail-price > span { font-size: 10px; }
  .kozu-v13-detail-price strong { font-size: clamp(52px, 16vw, 70px); }
  .kozu-v13-detail-price em { font-size: 17px; }
  .kozu-v13-detail-price small { grid-column: 2; }
  .kozu-v13-detail-copy > h3 { margin-top: 24px; font-size: 24px; }
  .kozu-v13-detail-copy > ul li { font-size: 12px; }
  .kozu-v13-detail-summary { font-size: 11px; }
  .kozu-v13-detail-gallery { grid-template-columns: 1fr; gap: 10px; }
  .kozu-v13-detail-gallery figure { border-radius: 18px 18px 5px 5px; }
  .kozu-v13-detail-exterior,
  .kozu-v13-detail-interior { aspect-ratio: 1.34; }
  .kozu-v13-detail-gallery figcaption { right: 10px; bottom: 10px; min-width: 64px; min-height: 64px; padding: 8px; font-size: 10px; }
  .kozu-v13-detail-interior figcaption { min-width: 0; min-height: 0; }
  .kozu-v13-info-strip { grid-template-columns: 1fr; margin-top: 18px; padding: 9px 14px; }
  .kozu-v13-info-strip > div,
  .kozu-v13-info-strip > div:nth-child(-n+2),
  .kozu-v13-info-strip > div:nth-child(n+3) { grid-template-columns: 45px minmax(0,1fr); padding: 13px 2px; border-right: 0; border-bottom: 1px solid rgba(25,100,139,.18); }
  .kozu-v13-info-strip > div:last-child { border-bottom: 0; }
  .kozu-v13-info-strip dt img { width: 41px; height: 41px; }
  .kozu-v13-info-strip dd { font-size: 13px; }
  .kozu-v13-plan-row { gap: 18px; margin-top: 18px; padding: 17px 10px; border-radius: 16px; }
  .kozu-v13-floorplan { grid-template-columns: 1fr; gap: 8px; }
  .kozu-v13-floorplan img { height: 275px; }
  .kozu-v13-spec-list { grid-template-columns: 1fr; padding-top: 12px; }
  .kozu-v13-spec-list > div,
  .kozu-v13-spec-list > div:nth-child(odd),
  .kozu-v13-spec-list > div:nth-child(even) { grid-template-columns: 44px minmax(0,1fr); padding: 12px 4px; border-right: 0; }
  .kozu-v13-spec-list dt img { width: 40px; height: 40px; }
  .kozu-v13-spec-list dd { font-size: 15px; }
  .kozu-v13-detail-cta { width: 100%; margin-top: 22px; }
}

@media (max-width: 390px) {
  .nagao-lot-v12 .nagao-lot-v11__heading h2 {
    font-size: 20px;
    letter-spacing: .025em;
  }

  .nagao-lot-v11__appeal h3 {
    font-size: 21px;
    letter-spacing: .04em;
  }

  .kozu-v13-access-pill { max-width: 100%; gap: 6px; }
  .kozu-v13-access-pill span { font-size: 10px; }
  .kozu-v13-access-pill strong { font-size: 14px; }
  .kozu-v13-detail-heading { grid-template-columns: 78px minmax(0,1fr); }
  .kozu-v13-detail-heading > p strong { font-size: 90px; }
  .kozu-v13-detail-heading h2 { font-size: 22px; }
}

@media (max-width: 340px) {
  .kozu-v13-reasons-grid { grid-template-columns: 1fr; }
  .kozu-v13-reasons-grid li:last-child { grid-column: auto; width: 100%; }
  .kozu-v13-reasons-grid li { min-height: 0; }
}

/* Official header logo and header inquiry actions */
.site-header .brand {
  max-width: calc(100vw - 570px);
  flex: 0 1 auto;
}

.brand-logo {
  display: block;
  width: clamp(300px, 23vw, 403px);
  max-width: 100%;
  height: auto;
}

.header-tools,
.header-inquiry {
  display: flex;
  align-items: center;
}

.header-tools {
  min-width: 0;
  gap: 14px;
  margin-left: auto;
}

.header-inquiry {
  gap: 9px;
  transition: opacity .2s ease,visibility .2s ease;
}

body.menu-open .header-inquiry {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.header-inquiry__link {
  width: clamp(142px, 10.5vw, 176px);
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border: 1px solid rgba(7,55,101,.14);
  border-radius: 14px;
  box-shadow: 0 7px 19px rgba(4,43,79,.11);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.header-inquiry__link--request {
  color: #073765;
  background: rgba(255,255,255,.98);
}

.header-inquiry__link--booking {
  color: #fff;
  border-color: rgba(0,161,194,.28);
  background: linear-gradient(135deg,#15bdd2,#008fc2);
}

.header-inquiry__link:hover {
  filter: brightness(1.025);
  box-shadow: 0 10px 24px rgba(4,43,79,.17);
  transform: translateY(-2px);
}

.header-inquiry__link:focus-visible,
.final-inquiry__action:focus-visible {
  outline: 3px solid rgba(0,184,212,.42);
  outline-offset: 3px;
}

.header-inquiry__icon {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #078fb8;
  background: #eaf8fc;
  border-radius: 50%;
}

.header-inquiry__link--booking .header-inquiry__icon {
  color: #fff;
  background: rgba(255,255,255,.18);
}

.header-inquiry__icon svg,
.final-inquiry__icon svg,
.final-inquiry__action > i svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-inquiry__icon svg { width: 20px; height: 20px; }

.header-inquiry__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}

.header-inquiry__copy small {
  font-size: 7.5px;
  font-weight: 500;
  letter-spacing: .025em;
  opacity: .76;
  white-space: nowrap;
}

.header-inquiry__copy strong {
  font-family: "Noto Serif JP",var(--serif);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: .09em;
  white-space: nowrap;
}

/* Final inquiry push below FAQ */
.final-inquiry {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(48px,4.4vw,72px) clamp(18px,4vw,64px);
  color: #082f5b;
  background:
    radial-gradient(circle at 88% 12%,rgba(134,220,240,.30),transparent 24%),
    linear-gradient(180deg,#fff 0%,#eef9fd 100%);
}

.final-inquiry::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 2.8%;
  bottom: -80px;
  width: 220px;
  height: 220px;
  opacity: .28;
  background-image: radial-gradient(circle,rgba(0,177,209,.68) 1.5px,transparent 1.7px);
  background-size: 15px 15px;
  transform: rotate(-9deg);
}

.final-inquiry__orbit {
  position: absolute;
  z-index: -1;
  border: 2px dashed rgba(16,183,214,.20);
  border-radius: 50%;
}

.final-inquiry__orbit--left { top: -115px; left: -85px; width: 310px; height: 310px; }
.final-inquiry__orbit--right { right: -105px; bottom: -155px; width: 380px; height: 380px; }

.final-inquiry__inner {
  width: min(100%,1440px);
  display: grid;
  grid-template-columns: minmax(360px,.84fr) minmax(500px,1.16fr);
  align-items: center;
  gap: clamp(32px,4vw,58px);
  margin: 0 auto;
  padding: clamp(32px,3.2vw,48px);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(8,116,161,.10);
  border-radius: clamp(28px,2.6vw,44px);
  box-shadow: 0 20px 55px rgba(20,83,123,.12);
  backdrop-filter: blur(7px);
}

.final-inquiry__script {
  margin: 0 0 12px;
  color: #08acd0;
  font-family: "Allura","Segoe Script",cursive;
  font-size: clamp(28px,2.35vw,39px);
  line-height: 1;
  letter-spacing: .02em;
  transform: rotate(-4deg);
  transform-origin: left center;
}

.final-inquiry__copy h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(38px,3.3vw,48px);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: .09em;
}

.final-inquiry__copy h2 em { color: #08abc9; font-style: normal; }
.final-inquiry__copy h2 > span { white-space: nowrap; }

.final-inquiry__copy > p:not(.final-inquiry__script) {
  margin: 20px 0 0;
  font-family: var(--serif);
  font-size: clamp(14px,1.15vw,18px);
  font-weight: 500;
  line-height: 1.82;
  letter-spacing: .075em;
}

.final-inquiry__copy > small {
  display: block;
  margin-top: 14px;
  color: #55728c;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .06em;
}

.final-inquiry__actions { display: grid; gap: 13px; }

.final-inquiry__action {
  min-height: 104px;
  display: grid;
  grid-template-columns: 56px minmax(0,1fr) 42px;
  align-items: center;
  gap: 17px;
  padding: 16px 21px;
  border: 1px solid rgba(7,55,101,.12);
  border-radius: 25px;
  box-shadow: 0 12px 30px rgba(8,62,100,.12);
  transition: transform .22s ease,box-shadow .22s ease,filter .22s ease;
}

.final-inquiry__action--request {
  color: #073765;
  background: #fff;
}

.final-inquiry__action--booking {
  color: #fff;
  border-color: rgba(0,162,196,.3);
  background: linear-gradient(135deg,#16bdd2 0%,#0095c8 100%);
}

.final-inquiry__action:hover {
  filter: brightness(1.02);
  box-shadow: 0 17px 36px rgba(8,62,100,.18);
  transform: translateY(-3px);
}

.final-inquiry__icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  color: #079bbd;
  background: #e8f8fc;
  border-radius: 50%;
}

.final-inquiry__action--booking .final-inquiry__icon {
  color: #fff;
  background: rgba(255,255,255,.17);
}

.final-inquiry__icon svg { width: 34px; height: 34px; }

.final-inquiry__action > span:nth-child(2) {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.final-inquiry__action small {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  opacity: .76;
}

.final-inquiry__action strong {
  font-family: var(--serif);
  font-size: clamp(21px,1.7vw,28px);
  font-weight: 600;
  letter-spacing: .12em;
}

.final-inquiry__action > i {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #073765;
  border-radius: 50%;
}

.final-inquiry__action--booking > i { color: #079bbd; background: #fff; }
.final-inquiry__action > i svg { width: 23px; height: 23px; }

@media (max-width: 1450px) {
  .site-header .brand { max-width: calc(100vw - 510px); }
  .brand-logo { width: clamp(260px,22vw,340px); }
  .header-tools { gap: 10px; }
  .header-inquiry { gap: 7px; }
  .header-inquiry__link { width: clamp(126px,10vw,144px); min-height: 52px; padding: 7px 10px; }
  .header-inquiry__icon { width: 30px; height: 30px; }
  .header-inquiry__icon svg { width: 18px; height: 18px; }
  .header-inquiry__copy small { font-size: 6.8px; }
  .header-inquiry__copy strong { font-size: 13px; }
}

@media (max-width: 1040px) {
  .final-inquiry__inner { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .final-inquiry__copy { text-align: center; }
  .final-inquiry__script { width: fit-content; margin-inline: auto; transform-origin: center; }
  .final-inquiry__copy > small { margin-inline: auto; }
}

@media (max-width: 900px) {
  .site-header { gap: 8px; padding-inline: 9px 10px; }
  .site-header .brand { max-width: min(148px,38vw); }
  .brand-logo { width: min(148px,38vw); }
  .header-tools { gap: 4px; }
  .header-inquiry { gap: 4px; }
  .header-inquiry__link {
    width: 50px;
    min-height: 48px;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 4px 2px;
    border-radius: 10px;
    box-shadow: none;
  }
  .header-inquiry__icon { width: 18px; height: 18px; background: transparent; }
  .header-inquiry__icon svg { width: 15px; height: 15px; }
  .header-inquiry__link--request .header-inquiry__icon { background: transparent; }
  .header-inquiry__copy small { display: none; }
  .header-inquiry__copy strong { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: .04em; }
  .header-inquiry__link:hover { transform: none; }

  .final-inquiry { padding: 52px 18px; }
  .final-inquiry__inner { padding: 34px 24px; border-radius: 30px; }
  .final-inquiry__copy > p:not(.final-inquiry__script) br { display: none; }
  .final-inquiry__action { min-height: 108px; grid-template-columns: 54px minmax(0,1fr) 40px; gap: 15px; padding: 17px 19px; border-radius: 21px; }
  .final-inquiry__icon { width: 54px; height: 54px; }
  .final-inquiry__icon svg { width: 29px; height: 29px; }
  .final-inquiry__action > i { width: 40px; height: 40px; }
}

@media (max-width: 520px) {
  .final-inquiry { padding: 40px 14px; }
  .final-inquiry__inner { gap: 24px; padding: 28px 16px 18px; border-radius: 25px; }
  .final-inquiry__script { margin-bottom: 13px; font-size: 28px; }
  .final-inquiry__copy h2 { font-size: clamp(27px,7.8vw,34px); line-height: 1.5; letter-spacing: .035em; }
  .final-inquiry__copy > p:not(.final-inquiry__script) { margin-top: 16px; font-size: 13px; line-height: 1.82; }
  .final-inquiry__copy > small { margin-top: 10px; font-size: 10px; }
  .final-inquiry__actions { gap: 11px; }
  .final-inquiry__action { min-height: 84px; grid-template-columns: 45px minmax(0,1fr) 34px; gap: 11px; padding: 11px 13px; border-radius: 18px; }
  .final-inquiry__icon { width: 45px; height: 45px; }
  .final-inquiry__icon svg { width: 25px; height: 25px; }
  .final-inquiry__action small { font-size: 9px; letter-spacing: .045em; }
  .final-inquiry__action strong { font-size: 17px; letter-spacing: .07em; }
  .final-inquiry__action > i { width: 34px; height: 34px; }
  .final-inquiry__action > i svg { width: 19px; height: 19px; }
}

@media (max-width: 350px) {
  .site-header .brand { max-width: 108px; }
  .brand-logo { width: 108px; }
  .header-inquiry__link { width: 45px; }
  .header-inquiry__copy strong { font-size: 8px; }
  .final-inquiry__copy h2 { font-size: 25px; letter-spacing: .02em; }
  .final-inquiry__action { grid-template-columns: 40px minmax(0,1fr) 30px; gap: 8px; padding-inline: 10px; }
  .final-inquiry__icon { width: 40px; height: 40px; }
  .final-inquiry__action strong { font-size: 15px; }
  .final-inquiry__action > i { width: 30px; height: 30px; }
}

/* Final cascade lock for the 2026-08-26 section refinements. */
body .nagao-overview-v9 .nagao-property-intro-v10 {
  padding: clamp(58px,4.8vw,76px) clamp(26px,4.5vw,64px) clamp(44px,4vw,64px);
}
body .nagao-property-intro-v10__content { width: min(100%,1280px); max-width: 1280px; }
body .nagao-property-intro-v10__copy {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr);
  gap: clamp(42px,5vw,76px);
  align-items: center;
  text-align: left;
}
body .nagao-property-intro-v10__copy h3 {
  margin: 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(38px,3.25vw,50px);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: .055em;
  text-align: left;
}
body .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
  margin: 0;
  color: rgba(7,49,94,.88);
  font-family: var(--serif);
  font-size: clamp(15px,1.2vw,18px);
  line-height: 2;
  letter-spacing: .075em;
  text-align: left;
}
body .nagao-property-intro-v10__homes { margin-top: clamp(36px,3.2vw,46px); }
body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home { padding: 0; }
body .nagao-property-intro-v10__features { margin-top: clamp(26px,2.5vw,34px); }
body .nagao-property-intro-v10__features li > i { background: #edf8fc; }
body .nagao-property-intro-v10__cta { margin: 20px auto 0; background: #073765; }

body .kozu-v13-hero-copy h2 {
  padding: 0;
  border: 0;
  flex-direction: row;
  align-items: center;
  gap: clamp(16px,2.2vw,34px);
  font-size: clamp(29px,3.15vw,48px);
  line-height: 1.35;
  white-space: nowrap;
}
body .kozu-v13-hero-copy h2 span { color: #063465; font: inherit; letter-spacing: inherit; white-space: nowrap; }
body .kozu-v13-hero-copy h2 i { display: block; width: 1px; height: 1.2em; flex: 0 0 1px; background: rgba(7,55,101,.52); }
body .kozu-v13-reasons-lead h2 { white-space: nowrap; }

body .nagao-lot-v11__number strong,
body .nagao-lot-v11__price strong,
body .kozu-v13-detail-heading > p strong,
body .kozu-v13-detail-price strong {
  font-family: Didot,"Bodoni MT","Times New Roman",serif;
  font-weight: 400;
  font-variant-numeric: lining-nums;
}

@media (min-width: 1101px) {
  body .nagao-lot-v11__heading h2 {
    font-size: clamp(31px, 2.55vw, 38px);
    letter-spacing: .055em;
  }

  body .nagao-property-intro-v10__home-copy p {
    max-width: 225px;
    font-size: clamp(11px, .9vw, 13px);
    line-height: 1.75;
  }
}

/* 2026-09-01 — client round: Kozu detail, Japanese menu and company footer. */
.specification-v9-description-pc-break {
  display: none;
}

.kozu-v13-spec-unit {
  margin-left: 1px;
  font-size: .55em;
  font-weight: 500;
}

.menu-label,
.menu-kicker,
.section-rail a small,
.section-rail[data-rail-group] a small {
  font-family: var(--sans);
  font-style: normal;
}

.menu-label {
  font-size: 10px;
  letter-spacing: .04em;
  white-space: nowrap;
}

.menu-kicker {
  font-size: 12px;
  letter-spacing: .08em;
}

.section-rail a small,
.section-rail[data-rail-group] a small {
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: .04em;
}

.footer-company-info {
  grid-column: 2;
  color: #fff;
  font-style: normal;
  text-align: left;
}

.footer-company-info__name {
  display: block;
  font-family: var(--sans);
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
}

.site-footer .footer-company-info__address,
.site-footer .footer-company-info__label {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  line-height: 1.75;
  text-align: left;
}

.site-footer .footer-company-info__label {
  margin-top: 11px;
  color: #fff;
  font-weight: 700;
}

.footer-company-info__details {
  display: grid;
  gap: 7px;
  margin: 8px 0 0;
  padding: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  list-style: none;
}

.footer-company-info__details li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-company-info__details svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.footer-company-info__details a {
  color: inherit;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
}

.footer-company-info__details a:focus-visible {
  outline: 3px solid rgba(26, 181, 210, .55);
  outline-offset: 3px;
}

@media (min-width: 760px) {
  .kozu-v13-detail-summary > span {
    display: block;
  }

  .kozu-v13-spec-list > .detail-spec-switch > .detail-spec-mobile {
    display: none !important;
  }

  .kozu-v13-spec-list > .detail-spec-switch {
    grid-template-rows: auto auto;
    align-content: center;
  }

  .kozu-v13-spec-list > .detail-spec-switch > dt.detail-spec-desktop > img {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .kozu-v13-spec-list > .detail-spec-switch > dt.detail-spec-desktop > span {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    text-align: left;
  }

  .kozu-v13-spec-list > .detail-spec-switch > dd.detail-spec-desktop {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    text-align: left;
  }

  .specification-v9-description-pc-break {
    display: initial;
  }
}

@media (max-width: 1350px) {
  .footer-company-info {
    grid-column: 1;
  }
}

@media (max-width: 759px) {
  .site-header .menu-label {
    font-size: 7px;
    letter-spacing: 0;
  }

  body .kozu-v13-spec-list dd > .kozu-v13-spec-value,
  body .kozu-v13-spec-list dd.detail-spec-mobile__price > strong {
    font-family: var(--display-number);
    font-size: clamp(24px, 8vw, 32px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.012em;
    white-space: nowrap;
    font-feature-settings: "lnum" 1, "tnum" 1;
    font-variant-numeric: lining-nums tabular-nums;
  }

  body .kozu-v13-spec-list dd > .kozu-v13-spec-value--plan {
    font-size: clamp(22px, 6.8vw, 28px);
  }

  body .kozu-v13-spec-list .kozu-v13-spec-unit {
    display: inline;
    margin-left: 1px;
    font-size: 10px;
  }

  .site-footer {
    row-gap: 22px;
  }

  .footer-company-info__name {
    font-size: 17px;
  }

  .site-footer .footer-company-info__address,
  .site-footer .footer-company-info__label,
  .footer-company-info__details {
    font-size: 12px;
  }
}

@media (min-width: 1101px) {
  body .nagao-lot-v11__top,
  body .kozu-v13-detail-top { align-items: start; }
  body .nagao-lot-v11__gallery { grid-template-rows: repeat(2,clamp(270px,17vw,315px)); align-content: start; }
  body .nagao-lot-v11__gallery img { min-height: 0; }
  body .kozu-v13-detail-gallery { grid-template-rows: repeat(2,clamp(270px,17.2vw,320px)); align-content: start; }
  body .kozu-v13-detail-gallery figure { aspect-ratio: auto; }
}

@media (max-width: 899px) {
  body .nagao-property-intro-v10__copy { grid-template-columns: 1fr; gap: 22px; }
  body .nagao-property-intro-v10__homes { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  body .nagao-overview-v9 .nagao-property-intro-v10 { padding: 50px 14px 46px; }
  body .nagao-property-intro-v10__copy h3 { font-size: clamp(24px,7vw,29px); line-height: 1.58; letter-spacing: .045em; }
  body .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead { font-size: 12px; line-height: 1.9; }
  body .nagao-property-intro-v10__homes { margin-top: 26px; }
  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home { grid-template-columns: 1fr; min-height: 0; }
  body .nagao-property-intro-v10__features { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 22px; }
  body .nagao-property-intro-v10__cta { min-height: 62px; margin-top: 18px; }
  body .kozu-v13-hero-copy h2 {
    padding: 0;
    flex-direction: row;
    gap: 9px;
    font-size: clamp(14px,4.15vw,18px);
    line-height: 1.35;
    letter-spacing: .025em;
  }
  body .kozu-v13-reasons-lead h2 { font-size: clamp(27px,8vw,34px); white-space: nowrap; }
}

/* =========================================================
   2026-08-26 final visual QA — legibility, full-image galleries,
   and desktop single-line copy requested by the client
   ========================================================= */

/* Nagao comparison: retain the diagonal photograph treatment while
   keeping photography and body copy in separate readable regions. */
body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home::after {
  content: none;
}

body .nagao-property-intro-v10__home-copy {
  padding-right: clamp(18px, 2vw, 30px);
}

body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home p {
  max-width: 100%;
  margin: 0;
  color: #173f69;
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 500;
  line-height: 1.82;
  letter-spacing: .035em;
}

body .nagao-property-intro-v10__home figure {
  width: 100%;
  margin: 0;
  clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}

/* Property-detail galleries: narrow the gallery column and preserve each
   source image's intrinsic ratio so no building or LDK edge is clipped. */
body .nagao-lot-v11__gallery figure,
body .kozu-v13-detail-gallery figure {
  height: auto;
  background: linear-gradient(145deg, #edf8fc 0%, #fff 100%);
}

body .nagao-lot-v11__gallery img,
body .kozu-v13-detail-gallery img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}

body .nagao-lot-v11__appeal li {
  color: #173f69;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.78;
}

body .nagao-lot-v11__appeal > p {
  color: rgba(7, 49, 94, .86);
  font-size: clamp(15px, 1.1vw, 16.5px);
  line-height: 1.95;
  letter-spacing: .025em;
}

body .kozu-v13-detail-copy > ul li {
  color: #173f69;
  font-size: clamp(15px, 1.12vw, 17px);
  line-height: 1.75;
}

body .kozu-v13-detail-summary {
  color: #274e70;
  font-size: clamp(15px, 1.08vw, 16.5px);
  line-height: 1.95;
}

@media (min-width: 1101px) {
  body .nagao-property-intro-v10__closing {
    white-space: nowrap;
  }

  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home h4 {
    font-size: clamp(22px, 1.65vw, 26px);
    letter-spacing: .02em;
  }

  body .nagao-lot-v11__top {
    grid-template-columns: minmax(540px, 1.18fr) minmax(390px, .82fr);
    gap: clamp(24px, 2.4vw, 38px);
  }

  body .nagao-lot-v11__gallery,
  body .kozu-v13-detail-gallery {
    grid-template-rows: none;
    align-content: start;
  }

  body .kozu-v13-detail-top {
    grid-template-columns: minmax(520px, 1.08fr) minmax(420px, .92fr);
    gap: clamp(26px, 2.5vw, 40px);
  }

  body .specification-v9-lead,
  body .faq-v13-lead,
  body .faq-v13-contact p {
    white-space: nowrap;
  }

  body .specification-v9-lead {
    font-size: clamp(16px, 1.15vw, 18px);
    letter-spacing: .04em;
  }

  body .access-v12-intro h2 {
    font-size: clamp(48px, 3.75vw, 64px);
    white-space: nowrap;
  }

  body .access-v12-intro h2 > span {
    display: inline;
    font-size: .82em;
    line-height: inherit;
  }

  body .faq-v13-lead {
    font-size: clamp(16px, 1.15vw, 19px);
    letter-spacing: .055em;
  }

  body .faq-v13-contact p {
    font-size: clamp(15px, 1.04vw, 17px);
    letter-spacing: .055em;
  }
}

@media (max-width: 767px) {
  body .nagao-property-intro-v10__home-copy p {
    font-size: 13px;
  }

  body .nagao-property-intro-v10__home figure {
    clip-path: polygon(14% 18px, 100% 0, 100% 100%, 0 100%);
  }

  body .nagao-lot-v11__appeal li,
  body .kozu-v13-detail-copy > ul li {
    font-size: 13px;
  }

  body .nagao-lot-v11__appeal > p,
  body .kozu-v13-detail-summary {
    font-size: 12px;
  }
}

/* =========================================================
   2026-08-26 detail-card whitespace refinement
   ========================================================= */
@media (min-width: 1101px) {
  body .nagao-lot-v11__top,
  body .kozu-v13-detail-top {
    width: min(100%, 1280px);
    margin-inline: auto;
    gap: clamp(24px, 2vw, 32px);
  }

  body .nagao-lot-v11__top {
    grid-template-columns: minmax(540px, 1fr) minmax(420px, 1fr);
  }

  body .kozu-v13-detail-top {
    grid-template-columns: minmax(520px, 1fr) minmax(420px, 1fr);
  }

  body .nagao-lot-v11__heading h2 span,
  body .kozu-v13-detail-heading h2 span {
    display: inline;
    white-space: normal;
  }

  /* Keep the shorter 2号地 title on its intentional two-line rhythm. */
  body .nagao-lot-v12 .nagao-lot-v11__heading h2 span {
    display: block;
    white-space: nowrap;
  }

  body .nagao-lot-v11__heading h2 {
    font-size: clamp(34px, 2.8vw, 44px);
    line-height: 1.48;
  }

  body .nagao-lot-v11__price,
  body .kozu-v13-detail-price {
    grid-template-columns: max-content max-content max-content;
    justify-content: start;
  }

  body .nagao-lot-v11__price {
    column-gap: clamp(12px, 1.1vw, 18px);
  }

  body .kozu-v13-detail-price {
    column-gap: clamp(12px, 1vw, 16px);
  }

  body .nagao-lot-v11__appeal h3 br,
  body .nagao-lot-v11__appeal > p br,
  body .kozu-v13-detail-copy > h3 br {
    display: none;
  }

  body .nagao-lot-v11__appeal h3,
  body .kozu-v13-detail-copy > h3 {
    letter-spacing: .055em;
  }
}

@media (max-width: 1100px) {
  body .nagao-lot-v11__price {
    grid-template-columns: max-content max-content max-content;
    justify-content: start;
    column-gap: 10px;
  }
}

/* =========================================================
   2026-08-26 detail-card marked-gap correction
   Balance only the desktop copy/gallery row so the empty area marked in
   the review does not remain beneath the descriptive copy.
   ========================================================= */
@media (min-width: 1101px) {
  body .nagao-lot-v11__gallery {
    height: clamp(670px, 36vw, 690px);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-content: stretch;
  }

  body .kozu-v13-detail-gallery {
    height: clamp(660px, 36.5vw, 700px);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-content: stretch;
  }

  body .nagao-lot-v11__gallery figure,
  body .kozu-v13-detail-gallery figure {
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  body .nagao-lot-v11__gallery img,
  body .kozu-v13-detail-gallery img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  body .nagao-lot-v11__gallery figure:first-child img { object-position: center 52%; }
  body .nagao-lot-v11__gallery figure:last-child img { object-position: center 52%; }
  body .nagao-lot-v12 .nagao-lot-v11__gallery figure:first-child img { object-position: center 49%; }
  body .nagao-lot-v12 .nagao-lot-v11__gallery figure:last-child img { object-position: center 50%; }
  body .kozu-v13-detail-exterior img { object-position: center 55%; }
  body .kozu-v13-detail-interior img { object-position: center 50%; }
}

/* =========================================================
   2026-08-26 property action pairs + formal footer logo
   ========================================================= */
.property-cta-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.6vw, 24px);
  margin-inline: auto;
}

.property-cta-pair--nagao {
  width: min(100%, 884px);
  margin-top: clamp(32px, 3.2vw, 48px);
}

.property-cta-pair--kozu {
  width: min(100%, 1024px);
  margin-top: 34px;
}

.property-cta-pair > .nagao-lot-v11__cta,
.property-cta-pair > .kozu-v13-detail-cta {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.property-cta-pair .property-detail-cta {
  color: #073765;
  border: 1px solid rgba(7, 55, 101, .24);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 12px 28px rgba(7, 55, 101, .10);
}

.property-cta-pair .property-detail-cta svg {
  color: #08a9c7;
}

.property-cta-pair .kozu-v13-detail-cta.property-detail-cta i {
  color: #fff;
  background: #08a9c7;
}

.property-cta-pair .property-detail-cta:hover,
.property-cta-pair .property-detail-cta:focus-visible {
  color: #073765;
  border-color: rgba(8, 169, 199, .55);
  background: #f1fbfe;
  box-shadow: 0 16px 34px rgba(7, 55, 101, .14);
}

.footer-brand {
  grid-row: span 2;
  display: flex;
  align-items: center;
  align-self: center;
  width: fit-content;
  max-width: 100%;
  min-height: 62px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.footer-brand__logo {
  display: block;
  width: clamp(230px, 22vw, 322px);
  max-width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .property-cta-pair {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .property-cta-pair--nagao {
    width: min(100%, 430px);
    margin-top: 26px;
  }

  .property-cta-pair--kozu {
    width: min(100%, 500px);
    margin-top: 22px;
  }

  .property-cta-pair > .nagao-lot-v11__cta,
  .property-cta-pair > .kozu-v13-detail-cta {
    min-height: 60px;
  }

  .footer-brand {
    width: min(100%, 304px);
    min-height: 56px;
    padding: 10px 12px;
  }

  .footer-brand__logo {
    width: min(100%, 280px);
  }
}

/* =========================================================
   2026-08-26 unified quiet-air background after the FV
   ========================================================= */
.after-fv-background {
  position: relative;
  isolation: isolate;
  min-width: 0;
  background-color: #fff;
  background-image: url("assets/images/lp-background-after-fv-quiet-air.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

/* Keep the chosen background continuous behind the content. The Premium Town
   sky hero remains its own intentional photographic composition. */
.after-fv-background > .venue-showcase-v1,
.after-fv-background .nagao-overview-v8,
.after-fv-background .nagao-lot-v8,
.after-fv-background .kozu-v13-reasons,
.after-fv-background .kozu-v13-detail,
.after-fv-background > .specification-v9,
.after-fv-background > .trust-v10,
.after-fv-background > .pace-v11,
.after-fv-background > .access-v12,
.after-fv-background > .faq.faq-v13,
.after-fv-background > .final-inquiry {
  background-color: transparent !important;
  background-image: none !important;
}

/* =========================================================
   2026-08-26 Google Maps + quiet-background cleanup
   The selected continuous background is the only ambient decoration after
   the FV. Content cards, photographs and functional controls stay intact.
   ========================================================= */
.after-fv-background > .lp-section::after,
.after-fv-background .nagao-overview-v8__decor,
.after-fv-background .nagao-lot-v8__decor,
.after-fv-background .trust-v10-orbit,
.after-fv-background .trust-v10-dots,
.after-fv-background .pace-v11-orbit,
.after-fv-background .access-v12-orbit,
.after-fv-background .access-v12-blob,
.after-fv-background .faq-v13-orbit,
.after-fv-background .faq-v13-wash,
.after-fv-background .final-inquiry__orbit,
.after-fv-background .faq.faq-v13::before,
.after-fv-background .final-inquiry::before,
.after-fv-background > .venue-showcase-v1::before,
.after-fv-background > .venue-showcase-v1::after,
.after-fv-background .nagao-overview-v9 .nagao-property-intro-v10::before,
.after-fv-background .nagao-overview-v9 .nagao-property-intro-v10::after,
.after-fv-background .nagao-property-intro-v10__homes .nagao-property-intro-v10__home::before {
  display: none !important;
}

body::before {
  display: none !important;
}

.after-fv-background .nagao-overview-v9 .nagao-property-intro-v10 {
  background: rgba(255, 255, 255, .84) !important;
}

.access-v12-map {
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(8, 57, 103, .08);
  border-radius: 12px;
}

.access-v12-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.access-v12-map > a {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 12px;
  color: #073765;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(7, 55, 101, .14);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(7, 55, 101, .16);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
}

/* The selected page background is the only ambient decoration after the FV. */
.after-fv-background .nagao-stage-v9::before,
.after-fv-background .nagao-stage-v9::after,
.after-fv-background .property-switcher.venue-selector-v6::before {
  display: none !important;
}

.after-fv-background .property-switcher.venue-selector-v6 {
  background-color: transparent !important;
  background-image: none !important;
}

.access-v12-map > a:hover,
.access-v12-map > a:focus-visible {
  color: #fff;
  background: #073765;
}

.access-v12-map > a:focus-visible {
  outline: 3px solid rgba(8, 181, 209, .45);
  outline-offset: 2px;
}

@media (max-width: 420px) {
  .access-v12-map > a {
    right: 7px;
    bottom: 7px;
    min-height: 30px;
    padding: 6px 10px;
    font-size: 9.5px;
  }
}

/* The two live maps carry the comparison; the former dotted counter was
   ornamental and is intentionally removed with the section decorations. */
@media (min-width: 960px) and (max-width: 1399.98px) {
  .access-v12-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }
}

@media (min-width: 1400px) {
  .access-v12-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
  }
}

/* =========================================================
   2026-08-27 FV contract benefit band
   ========================================================= */
.contract-benefit-v1 {
  position: relative;
  z-index: 3;
  padding: clamp(28px, 3.4vw, 58px) clamp(16px, 2.2vw, 38px) clamp(22px, 2.5vw, 40px);
  color: #072f5e;
  background: #fff;
}

.contract-benefit-v1__frame {
  width: min(100%, 1880px);
  min-height: clamp(350px, 24vw, 456px);
  display: grid;
  grid-template-columns: minmax(300px, 22%) minmax(520px, 42%) minmax(430px, 36%);
  margin-inline: auto;
  overflow: hidden;
  border: 2px solid #087da5;
  border-radius: 19px;
  background:
    radial-gradient(circle at 77% 46%, rgba(142, 222, 244, .12), transparent 34%),
    linear-gradient(120deg, #fff 0%, #fff 72%, #f0faff 100%);
  box-shadow: 0 14px 38px rgba(5, 53, 91, .08);
}

.contract-benefit-v1__award {
  position: relative;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08) 0 17%, transparent 17% 55%, rgba(0, 0, 0, .18) 55% 100%),
    linear-gradient(135deg, #103d70 0%, #062951 56%, #031e3e 100%);
}

.contract-benefit-v1__award::after {
  position: absolute;
  top: -10%;
  right: -52px;
  width: 92px;
  height: 120%;
  background: #fff;
  box-shadow: -13px 0 24px rgba(3, 27, 53, .22);
  content: "";
  transform: rotate(8deg);
  transform-origin: center;
}

.contract-benefit-v1__limited {
  position: absolute;
  z-index: 2;
  top: 10.5%;
  left: 50%;
  width: 89%;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.contract-benefit-v1__award-title {
  position: absolute;
  z-index: 2;
  top: 38%;
  left: 50%;
  width: 83%;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.contract-benefit-v1__gift {
  position: relative;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
}

.contract-benefit-v1__value {
  position: absolute;
  z-index: 3;
  top: 10.5%;
  left: 6%;
  width: clamp(176px, 14vw, 245px);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: 1fr auto;
  align-content: center;
  align-items: end;
  justify-content: center;
  margin: 0;
  padding: 11% 8% 9%;
  border: 1.5px solid rgba(7, 160, 199, .72);
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  font-family: var(--serif);
  line-height: 1;
  text-align: center;
}

.contract-benefit-v1__value > span {
  align-self: center;
  font-size: clamp(20px, 1.5vw, 31px);
  font-weight: 700;
}

.contract-benefit-v1__value > strong {
  color: #079dbd;
  font-family: var(--display-number), var(--serif);
  font-size: clamp(72px, 6.9vw, 120px);
  font-weight: 400;
  letter-spacing: -.07em;
}

.contract-benefit-v1__value > em {
  align-self: center;
  color: #078cb4;
  font-size: clamp(20px, 1.5vw, 31px);
  font-style: normal;
  font-weight: 700;
}

.contract-benefit-v1__value > small {
  grid-column: 1 / -1;
  margin-top: 5px;
  font-size: clamp(18px, 1.35vw, 27px);
  font-weight: 700;
}

.contract-benefit-v1__aircon {
  position: absolute;
  z-index: 2;
  top: 1%;
  right: 1.5%;
  width: 58%;
  max-width: none;
  height: 67%;
  object-fit: contain;
  object-position: center top;
}

.contract-benefit-v1__gift-copy {
  position: absolute;
  z-index: 4;
  right: 6%;
  bottom: 7%;
  left: 8%;
  margin: 0;
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .055em;
  text-align: center;
}

.contract-benefit-v1__gift-copy::after {
  width: 72%;
  height: 3px;
  display: block;
  margin: 12px auto 0;
  background: linear-gradient(90deg, transparent, #d9b340 20% 80%, transparent);
  border-radius: 999px;
  content: "";
}

.contract-benefit-v1__gift-copy span,
.contract-benefit-v1__gift-copy strong { display: block; }
.contract-benefit-v1__gift-copy span { font-size: clamp(28px, 2.45vw, 45px); }
.contract-benefit-v1__gift-copy strong { margin-top: 4px; color: #06a4c5; font-size: clamp(32px, 2.75vw, 52px); font-weight: 600; }

.contract-benefit-v1__loan {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6% 5% 5%;
  overflow: hidden;
}

.contract-benefit-v1__loan::before {
  position: absolute;
  top: 13%;
  bottom: 13%;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, #0b5c96 14% 86%, transparent);
  content: "";
}

.contract-benefit-v1__loan::after {
  position: absolute;
  right: -7%;
  bottom: -35%;
  width: 58%;
  aspect-ratio: 1;
  border: 24px solid rgba(113, 201, 236, .12);
  border-radius: 50%;
  content: "";
}

.contract-benefit-v1__loan-label {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.4vw, 24px);
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(29px, 2.4vw, 45px);
  font-weight: 650;
  letter-spacing: .045em;
  white-space: nowrap;
}

.contract-benefit-v1__loan-label svg {
  width: clamp(58px, 5vw, 88px);
  height: clamp(58px, 5vw, 88px);
  color: #079fbd;
  stroke-width: 1.45;
}

.contract-benefit-v1__loan-value {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  margin: clamp(4px, .5vw, 10px) 0 0;
  font-family: var(--serif);
  line-height: .9;
  white-space: nowrap;
}

.contract-benefit-v1__loan-value small {
  width: 1em;
  margin: 0 8px 10px 0;
  font-size: clamp(23px, 2vw, 38px);
  font-weight: 700;
  line-height: 1.12;
}

.contract-benefit-v1__loan-value strong {
  color: #078fb9;
  font-family: var(--display-number), var(--serif);
  font-size: clamp(92px, 8.5vw, 156px);
  font-weight: 400;
  letter-spacing: -.055em;
}

.contract-benefit-v1__loan-value > span {
  margin: 0 0 10px 8px;
  font-size: clamp(27px, 2.25vw, 43px);
  font-weight: 600;
}

.contract-benefit-v1__note {
  width: min(100%, 1880px);
  margin: 10px auto 0;
  color: #53697d;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: .04em;
  text-align: right;
}

@media (max-width: 1380px) {
  .contract-benefit-v1__frame { grid-template-columns: minmax(250px, 22%) minmax(440px, 42%) minmax(350px, 36%); }
  .contract-benefit-v1__value { left: 3.5%; width: 150px; }
  .contract-benefit-v1__aircon { right: 0; width: 52%; }
  .contract-benefit-v1__gift-copy span { font-size: clamp(24px, 2.1vw, 32px); }
  .contract-benefit-v1__gift-copy strong { font-size: clamp(28px, 2.4vw, 38px); }
  .contract-benefit-v1__loan-value strong { font-size: clamp(86px, 8.2vw, 116px); }
}

@media (max-width: 1060px) {
  .contract-benefit-v1__frame {
    min-height: 0;
    grid-template-columns: 35% 65%;
  }
  .contract-benefit-v1__award { min-height: 340px; }
  .contract-benefit-v1__gift { min-height: 340px; }
  .contract-benefit-v1__loan { grid-column: 1 / -1; min-height: 190px; border-top: 1px solid rgba(7, 94, 142, .18); }
  .contract-benefit-v1__loan::before { display: none; }
  .contract-benefit-v1__loan-label { font-size: clamp(28px, 4vw, 38px); }
  .contract-benefit-v1__loan-value strong { font-size: clamp(92px, 13vw, 126px); }
  .contract-benefit-v1__loan-value small { font-size: 27px; }
  .contract-benefit-v1__loan-value > span { font-size: 31px; }
}

@media (max-width: 700px) {
  .contract-benefit-v1 { padding: 20px 12px 24px; }
  .contract-benefit-v1__frame { grid-template-columns: 1fr; border-radius: 15px; }
  .contract-benefit-v1__award { min-height: 188px; }
  .contract-benefit-v1__award::after { top: auto; right: -5%; bottom: -44px; width: 110%; height: 70px; transform: rotate(-3deg); }
  .contract-benefit-v1__limited { top: 7%; width: 77%; }
  .contract-benefit-v1__award-title { top: 37%; width: 55%; }
  .contract-benefit-v1__gift { min-height: 330px; }
  .contract-benefit-v1__value { top: 8%; left: 3%; width: 145px; padding: 11%; }
  .contract-benefit-v1__value > strong { font-size: 71px; }
  .contract-benefit-v1__value > span,
  .contract-benefit-v1__value > em { font-size: 17px; }
  .contract-benefit-v1__value > small { font-size: 17px; }
  .contract-benefit-v1__aircon { top: 1%; right: 0; width: 63%; height: 62%; }
  .contract-benefit-v1__gift-copy { right: 4%; bottom: 8%; left: 4%; }
  .contract-benefit-v1__gift-copy span { font-size: clamp(25px, 7vw, 34px); }
  .contract-benefit-v1__gift-copy strong { font-size: clamp(29px, 8.1vw, 39px); }
  .contract-benefit-v1__loan { min-height: 190px; padding: 23px 10px 28px; }
  .contract-benefit-v1__loan-label { gap: 10px; font-size: clamp(23px, 6.5vw, 31px); }
  .contract-benefit-v1__loan-label svg { width: 48px; height: 48px; }
  .contract-benefit-v1__loan-value small { margin-right: 5px; font-size: 20px; }
  .contract-benefit-v1__loan-value strong { font-size: clamp(74px, 22vw, 102px); }
  .contract-benefit-v1__loan-value > span { margin-left: 5px; font-size: 24px; }
  .contract-benefit-v1__note { margin-top: 8px; padding-inline: 4px; font-size: 9px; text-align: left; }
}

@media (max-width: 370px) {
  .contract-benefit-v1__gift { min-height: 305px; }
  .contract-benefit-v1__value { width: 128px; }
  .contract-benefit-v1__value > strong { font-size: 61px; }
  .contract-benefit-v1__loan-label { font-size: 21px; }
  .contract-benefit-v1__loan-value strong { font-size: 70px; }
}

/* =========================================================
   2026-08-27 supplied standard-specification photo and copy
   ========================================================= */
.specification-v9-description {
  max-width: 660px;
  margin: 10px 0 0;
  color: #3a5875;
  font-family: var(--serif);
  font-size: clamp(12px, 3.2vw, 15px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .045em;
}

.specification-v9-visual img { object-position: center center; }
.pace-v11-photo { position: relative; }
.pace-v11-photo img { object-position: 56% center; }

.nagao-lot-v11__status,
.kozu-v13-detail-status { flex-wrap: wrap; }

.nagao-lot-v11__status > span,
.kozu-v13-detail-status > span { display: inline-flex; align-items: center; white-space: nowrap; }

.nagao-lot-v11__status > span + span::before,
.kozu-v13-detail-status > span + span::before {
  margin-inline: .42em;
  color: rgba(7, 111, 145, .55);
  content: "｜";
}

@media (min-width: 1351px) {
  .specification-v9-description {
    max-width: 540px;
    margin-top: 8px;
    font-size: clamp(12px, .9vw, 14px);
    line-height: 1.8;
  }
  .specification-v9-visual::before {
    background:
      linear-gradient(90deg, #fff 0%, #fff 19%, rgba(255,255,255,.78) 31%, rgba(255,255,255,.22) 47%, transparent 63%),
      linear-gradient(180deg, rgba(222,242,255,.12) 0%, transparent 62%, rgba(255,255,255,.18) 79%, #fff 100%);
  }
  .specification-v9-visual img { object-position: 57% center; }
}

@media (max-width: 720px) {
  .specification-v9-description { margin-top: 9px; }
  .nagao-lot-v11__status,
  .kozu-v13-detail-status { letter-spacing: .07em; }
  .nagao-lot-v11__status > span + span::before,
  .kozu-v13-detail-status > span + span::before { margin-inline: .25em; }
}

/* =========================================================
   2026-08-27 generated trust and property-status artwork
   ========================================================= */
.trust-v10-stats > li > i img {
  display: block;
  width: 68%;
  height: 68%;
  object-fit: contain;
}

.trust-v10-note__decor {
  display: block;
  flex: 0 0 auto;
  width: clamp(58px, 5.2vw, 88px);
  height: auto;
  object-fit: contain;
}

.trust-v10-note__decor--right {
  width: clamp(48px, 4.3vw, 72px);
}

.property-status-badge,
.nagao-lot-v11__status.property-status-badge,
.kozu-v13-detail-status.property-status-badge {
  display: block;
  width: clamp(260px, 24vw, 390px);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
  overflow: visible;
}

.property-status-badge img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nagao-lot-v11__status.property-status-badge {
  margin: 0 0 10px;
}

.kozu-v13-detail-status.property-status-badge {
  margin: 0 0 24px;
}

@media (max-width: 720px) {
  .trust-v10-note {
    gap: 7px;
  }

  .trust-v10-note__decor {
    width: 48px;
  }

  .trust-v10-note__decor--right {
    width: 42px;
  }

  .property-status-badge,
  .nagao-lot-v11__status.property-status-badge,
  .kozu-v13-detail-status.property-status-badge {
    width: min(100%, 250px);
  }

  .nagao-lot-v11__status.property-status-badge {
    margin-bottom: 8px;
  }

  .kozu-v13-detail-status.property-status-badge {
    margin-bottom: 16px;
  }
}

/* =========================================================
   2026-08-27 final balance pass: access / property headings /
   Nagao comparison lead / contract benefit
   ========================================================= */

/* Access cards: the venue letter labels are intentionally removed. */
.access-v12-card-head > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: clamp(12px, 1vw, 17px);
}

.access-v12-property-pin {
  width: clamp(32px, 2.7vw, 42px);
  height: clamp(48px, 4vw, 62px);
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 7px 10px rgba(6, 77, 123, .14));
}

.access-v12-card-head h3 {
  min-width: 0;
  margin: 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(22px, 1.62vw, 30px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .045em;
}

.access-v12-card--kozu .access-v12-card-head h3 {
  font-size: clamp(20px, 1.45vw, 27px);
  letter-spacing: .025em;
}

.access-v12-card-head > p {
  flex: 0 0 auto;
  margin-left: auto;
}

/* The intro is a paired editorial composition, not two disconnected blocks. */
.nagao-property-intro-v10__copy {
  width: min(100%, 1320px);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.42fr) minmax(390px, .78fr);
  gap: clamp(36px, 3.4vw, 58px);
  align-items: center;
}

.nagao-property-intro-v10__copy h3,
.nagao-property-intro-v10__lead {
  position: relative;
  padding-left: clamp(22px, 1.8vw, 30px);
}

.nagao-property-intro-v10__copy h3::before,
.nagao-property-intro-v10__lead::before {
  position: absolute;
  top: .12em;
  bottom: .12em;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: #0bb0d1;
  content: "";
}

.nagao-property-intro-v10__copy h3 {
  margin: 0;
  font-size: clamp(42px, 3.45vw, 56px);
  line-height: 1.5;
  letter-spacing: .04em;
}

.nagao-property-intro-v10__lead {
  margin: 0;
  font-size: clamp(19px, 1.35vw, 23px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .04em;
}

/* A single high-contrast numeric system is shared by all three lots. */
.nagao-lot-v11__top,
.kozu-v13-detail-top {
  grid-template-columns: minmax(480px, .88fr) minmax(0, 1.12fr);
  gap: clamp(28px, 2.4vw, 40px);
}

.nagao-lot-v11__heading,
.kozu-v13-detail-heading {
  display: grid;
  grid-template-columns: clamp(112px, 8.4vw, 142px) minmax(0, 1fr);
  gap: clamp(20px, 2vw, 32px);
  align-items: start;
}

.kozu-v13-detail-heading-copy {
  min-width: 0;
}

.nagao-lot-v11__number,
.kozu-v13-detail-heading > p {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin: 0;
  color: #062f61;
  line-height: .82;
}

.nagao-lot-v11__number strong,
.kozu-v13-detail-heading > p strong {
  display: block;
  color: #062f61;
  font-family: "Times New Roman", "Yu Mincho", serif;
  font-size: clamp(126px, 9.8vw, 166px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.055em;
  font-feature-settings: "lnum" 1, "pnum" 1;
  font-variant-numeric: lining-nums proportional-nums;
}

.nagao-lot-v11__number span,
.kozu-v13-detail-heading > p span {
  margin: 0 0 5px 4px;
  padding: 0;
  font-family: var(--serif);
  font-size: clamp(31px, 2.65vw, 43px);
  font-weight: 500;
  line-height: 1;
  writing-mode: vertical-rl;
}

.property-status-badge,
.nagao-lot-v11__status.property-status-badge,
.kozu-v13-detail-status.property-status-badge {
  width: clamp(270px, 20vw, 330px);
}

.nagao-lot-v11__status.property-status-badge,
.kozu-v13-detail-status.property-status-badge {
  margin: 0 0 clamp(14px, 1.3vw, 20px);
}

.nagao-lot-v11__heading h2,
.kozu-v13-detail-heading h2 {
  margin: 0;
  color: #062f61;
  font-family: var(--serif);
  font-size: clamp(34px, 2.65vw, 44px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .055em;
}

.nagao-lot-v11__price strong,
.kozu-v13-detail-price strong,
.contract-benefit-v1__value > strong,
.contract-benefit-v1__loan-value strong {
  font-family: "Times New Roman", "Yu Mincho", serif;
  font-weight: 400;
  font-feature-settings: "lnum" 1, "pnum" 1;
  font-variant-numeric: lining-nums proportional-nums;
}

/* Contract benefit: form a clear 3-part horizontal band with no image/copy overlap. */
.contract-benefit-v1 {
  padding: clamp(24px, 2.6vw, 42px) clamp(16px, 2vw, 34px) clamp(20px, 2vw, 32px);
}

.contract-benefit-v1__frame {
  min-height: 420px;
  grid-template-columns: 21% 44% 35%;
}

.contract-benefit-v1__award,
.contract-benefit-v1__gift,
.contract-benefit-v1__loan {
  min-height: 420px;
}

.contract-benefit-v1__limited {
  top: 11%;
  width: 82%;
}

.contract-benefit-v1__award-title {
  top: 39%;
  width: 75%;
}

.contract-benefit-v1__gift {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  padding: 22px 28px 24px;
}

.contract-benefit-v1__gift-visual {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(260px, 1.28fr);
  gap: clamp(12px, 1.3vw, 24px);
  align-items: center;
}

.contract-benefit-v1__value {
  position: static;
  width: min(100%, 210px);
  justify-self: center;
  padding: 12% 8% 10%;
}

.contract-benefit-v1__value > strong {
  font-size: clamp(82px, 6.3vw, 112px);
  line-height: .82;
  letter-spacing: -.055em;
}

.contract-benefit-v1__value > span,
.contract-benefit-v1__value > em {
  font-size: clamp(18px, 1.3vw, 27px);
}

.contract-benefit-v1__value > small {
  margin-top: 7px;
  font-size: clamp(17px, 1.2vw, 24px);
}

.contract-benefit-v1__aircon {
  position: static;
  width: 100%;
  height: 250px;
  object-fit: contain;
  object-position: center;
}

.contract-benefit-v1__gift-copy {
  position: static;
  margin: 3px 0 0;
  text-align: center;
}

.contract-benefit-v1__gift-copy::after {
  margin-top: 9px;
}

.contract-benefit-v1__gift-copy span {
  font-size: clamp(27px, 2.25vw, 40px);
}

.contract-benefit-v1__gift-copy strong {
  font-size: clamp(31px, 2.55vw, 46px);
}

.contract-benefit-v1__loan {
  min-height: 420px;
  padding: 44px 22px 36px;
}

.contract-benefit-v1__loan-label {
  gap: clamp(12px, 1.2vw, 20px);
  font-size: clamp(29px, 2.2vw, 40px);
}

.contract-benefit-v1__loan-label svg {
  width: clamp(58px, 4.5vw, 78px);
  height: clamp(58px, 4.5vw, 78px);
}

.contract-benefit-v1__loan-value {
  align-items: baseline;
  justify-content: center;
  margin-top: 22px;
}

.contract-benefit-v1__loan-value small {
  width: auto;
  margin: 0 9px .18em 0;
  font-size: clamp(22px, 1.75vw, 32px);
  line-height: 1;
}

.contract-benefit-v1__loan-value strong {
  font-size: clamp(96px, 7.1vw, 132px);
  line-height: .78;
  letter-spacing: -.045em;
}

.contract-benefit-v1__loan-value > span {
  margin: 0 0 .13em 8px;
  font-size: clamp(25px, 2vw, 37px);
}

@media (min-width: 1200px) {
  .access-v12-card-head {
    min-height: 88px;
    padding: 14px 24px;
  }
}

@media (max-width: 1199px) {
  .contract-benefit-v1__frame {
    min-height: 0;
    grid-template-columns: 34% 66%;
  }

  .contract-benefit-v1__award,
  .contract-benefit-v1__gift {
    min-height: 300px;
  }

  .contract-benefit-v1__loan {
    grid-column: 1 / -1;
    min-height: 158px;
    padding: 24px 20px 25px;
    border-top: 1px solid rgba(7, 94, 142, .18);
  }

  .contract-benefit-v1__loan::before { display: none; }
  .contract-benefit-v1__aircon { height: 178px; }
  .contract-benefit-v1__value { width: min(100%, 150px); }
  .contract-benefit-v1__value > strong { font-size: 72px; }
  .contract-benefit-v1__gift-copy span { font-size: 27px; }
  .contract-benefit-v1__gift-copy strong { font-size: 31px; }

  .nagao-lot-v11__top,
  .kozu-v13-detail-top {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1099px) {
  .nagao-property-intro-v10__copy {
    width: min(100%, 780px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nagao-property-intro-v10__copy h3 {
    font-size: clamp(32px, 5vw, 42px);
  }

  .nagao-property-intro-v10__lead {
    font-size: clamp(16px, 2.2vw, 19px);
  }

  .nagao-lot-v11__heading,
  .kozu-v13-detail-heading {
    width: min(100%, 760px);
  }
}

@media (max-width: 759px) {
  .access-v12-card-head {
    min-height: 76px;
    align-items: center;
    padding: 11px 14px;
  }

  .access-v12-card-head > div { gap: 10px; }

  .access-v12-property-pin {
    width: 27px;
    height: 42px;
  }

  .access-v12-card-head h3,
  .access-v12-card--kozu .access-v12-card-head h3 {
    font-size: clamp(16px, 4.6vw, 20px);
    line-height: 1.3;
    letter-spacing: .015em;
  }

  .access-v12-card-head > p {
    max-width: 92px;
    font-size: 9px;
    line-height: 1.45;
    text-align: right;
  }

  .nagao-property-intro-v10__copy h3,
  .nagao-property-intro-v10__lead {
    padding-left: 16px;
  }

  .nagao-property-intro-v10__copy h3::before,
  .nagao-property-intro-v10__lead::before {
    width: 2px;
  }

  .nagao-property-intro-v10__copy h3 {
    font-size: clamp(25px, 7vw, 30px);
    line-height: 1.55;
  }

  .nagao-property-intro-v10__lead {
    font-size: clamp(13px, 3.55vw, 15px);
    line-height: 1.8;
  }

  .nagao-lot-v11__heading,
  .kozu-v13-detail-heading {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
  }

  .nagao-lot-v11__number strong,
  .kozu-v13-detail-heading > p strong {
    font-size: clamp(92px, 26vw, 112px);
  }

  .nagao-lot-v11__number span,
  .kozu-v13-detail-heading > p span {
    margin-left: 1px;
    font-size: clamp(25px, 7vw, 30px);
  }

  .property-status-badge,
  .nagao-lot-v11__status.property-status-badge,
  .kozu-v13-detail-status.property-status-badge {
    width: min(100%, 230px);
  }

  .nagao-lot-v11__heading h2,
  .kozu-v13-detail-heading h2 {
    font-size: clamp(23px, 6.5vw, 29px);
    line-height: 1.5;
  }

  .contract-benefit-v1__frame {
    grid-template-columns: 1fr;
  }

  .contract-benefit-v1__award {
    min-height: 170px;
  }

  .contract-benefit-v1__limited {
    top: 7%;
    width: min(74%, 320px);
  }

  .contract-benefit-v1__award-title {
    top: 36%;
    width: min(54%, 230px);
  }

  .contract-benefit-v1__gift {
    min-height: 292px;
    padding: 18px 16px 20px;
  }

  .contract-benefit-v1__gift-visual {
    grid-template-columns: minmax(112px, .78fr) minmax(150px, 1.22fr);
    gap: 6px;
  }

  .contract-benefit-v1__value {
    width: min(100%, 132px);
  }

  .contract-benefit-v1__value > strong { font-size: 62px; }
  .contract-benefit-v1__value > span,
  .contract-benefit-v1__value > em { font-size: 15px; }
  .contract-benefit-v1__value > small { font-size: 15px; }
  .contract-benefit-v1__aircon { height: 150px; }
  .contract-benefit-v1__gift-copy span { font-size: clamp(23px, 6vw, 28px); }
  .contract-benefit-v1__gift-copy strong { font-size: clamp(27px, 7vw, 33px); }

  .contract-benefit-v1__loan {
    min-height: 160px;
    padding: 22px 10px 24px;
  }

  .contract-benefit-v1__loan-label {
    gap: 9px;
    font-size: clamp(21px, 5.7vw, 26px);
  }

  .contract-benefit-v1__loan-label svg {
    width: 43px;
    height: 43px;
  }

  .contract-benefit-v1__loan-value {
    margin-top: 15px;
  }

  .contract-benefit-v1__loan-value small {
    margin-right: 5px;
    font-size: 17px;
  }

  .contract-benefit-v1__loan-value strong {
    font-size: clamp(68px, 19vw, 84px);
  }

  .contract-benefit-v1__loan-value > span {
    margin-left: 5px;
    font-size: 21px;
  }
}

/* 2026-08-28 tablet polish: keep the comparison lead and cards readable
   between desktop and mobile without relying on accidental Japanese wraps. */
@media (min-width: 760px) and (max-width: 1099px) {
  body .nagao-property-intro-v10__copy {
    width: min(100%, 780px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
  }

  body .nagao-property-intro-v10__copy h3,
  body .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
    width: 100%;
    max-width: none;
  }

  body .nagao-property-intro-v10__homes {
    width: min(100%, 780px);
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr);
  }

  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home {
    width: 100%;
    min-height: 340px;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  }

  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home h4 {
    font-size: clamp(23px, 2.7vw, 28px);
    line-height: 1.55;
    word-break: keep-all;
  }

  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home p {
    font-size: 14px;
    line-height: 1.85;
    word-break: auto-phrase;
  }
}

@media (max-width: 759px) {
  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home h4,
  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home p,
  body .nagao-lot-v11__appeal,
  body .kozu-v13-detail-copy {
    line-break: strict;
    word-break: auto-phrase;
  }
}

@media (max-width: 390px) {
  .access-v12-card-head h3,
  .access-v12-card--kozu .access-v12-card-head h3 {
    font-size: 15px;
  }

  .access-v12-card-head > p {
    max-width: 76px;
    font-size: 8.4px;
  }

  .contract-benefit-v1__gift-visual {
    grid-template-columns: 118px minmax(0, 1fr);
  }
}

/* 2026-08-27 finishing pass: refined type rhythm and stable line breaks */
.nagao-lot-v11__number strong,
.kozu-v13-detail-heading > p strong,
.nagao-lot-v11__price strong,
.kozu-v13-detail-price strong,
.contract-benefit-v1__value > strong,
.contract-benefit-v1__loan-value strong {
  font-family: "Bodoni MT", Didot, "Times New Roman", "Yu Mincho", serif;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-weight: 400;
}

.nagao-lot-v11__heading > div,
.kozu-v13-detail-heading-copy {
  min-width: 0;
  align-self: start;
}

.nagao-lot-v11__heading h2,
.kozu-v13-detail-heading h2 {
  text-wrap: balance;
}

@media (min-width: 1200px) {
  .access-v12-card-head h3 {
    font-size: clamp(26px, 1.85vw, 34px);
  }

  .access-v12-card--kozu .access-v12-card-head h3 {
    font-size: clamp(23px, 1.6vw, 30px);
  }

  .kozu-v13-detail-heading h2 {
    font-size: clamp(34px, 2.45vw, 38px);
    line-height: 1.52;
    letter-spacing: .035em;
  }

  .kozu-v13-detail-heading h2 span {
    display: block !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 759px) {
  .kozu-v13-detail-heading h2 span {
    display: block !important;
    white-space: normal !important;
  }
}

/* 2026-08-28: FV message hierarchy and contract-benefit composition */
.fv-three-heading {
  grid-template-columns: max-content max-content;
  justify-content: center;
  column-gap: clamp(22px, 2.4vw, 42px);
  padding-right: clamp(26px, 3vw, 52px);
  padding-left: clamp(26px, 3vw, 52px);
}

.fv-three-heading h1 {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: clamp(12px, 1vw, 18px);
  font-size: clamp(38px, 3.15vw, 56px);
  line-height: 1;
  letter-spacing: .045em;
}

.fv-three-heading__area {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 42px;
  align-items: center;
  padding: 0 18px 1px;
  color: var(--fv3-navy);
  border-left: 3px solid var(--fv3-cyan);
  background: linear-gradient(90deg, rgba(0, 174, 207, .1), rgba(0, 174, 207, 0));
  font-size: .62em;
  font-weight: 750;
  letter-spacing: .12em;
  white-space: nowrap;
}

.fv-three-heading__event {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: .18em;
  white-space: nowrap;
}

.fv-three-heading__event strong,
.fv-three-heading__event em {
  font-style: normal;
  font-weight: 800;
}

.fv-three-heading__event strong { color: var(--fv3-navy); }
.fv-three-heading__event em { color: var(--fv3-cyan); }

.fv-three-heading .fv-three-event-copy {
  display: block;
  width: auto;
  padding-top: 0;
}

.fv-three-heading .fv-three-event-copy small {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 7px 18px 8px;
  color: var(--fv3-navy);
  border: 1px solid rgba(0, 174, 207, .7);
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 4px 12px rgba(4, 44, 83, .06);
  font-size: clamp(13px, .94vw, 17px);
  font-weight: 750;
  line-height: 1;
  letter-spacing: .09em;
  white-space: nowrap;
}

.contract-benefit-v1 {
  padding: clamp(18px, 1.5vw, 24px) clamp(16px, 2vw, 32px) clamp(14px, 1.2vw, 20px);
}

.contract-benefit-v1__frame {
  min-height: clamp(300px, 21vw, 320px);
  grid-template-columns: 22% 44% 34%;
}

.contract-benefit-v1__award,
.contract-benefit-v1__gift,
.contract-benefit-v1__loan {
  min-height: clamp(300px, 21vw, 320px);
}

.contract-benefit-v1__award {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 22px 34px 20px 20px;
}

.contract-benefit-v1__limited,
.contract-benefit-v1__award-title {
  position: static;
  inset: auto;
  height: auto;
  transform: none;
}

.contract-benefit-v1__limited { width: min(88%, 340px); }
.contract-benefit-v1__award-title { width: min(72%, 258px); }

.contract-benefit-v1__award::after {
  right: -45px;
  width: 78px;
}

.contract-benefit-v1__gift {
  grid-template-rows: auto auto;
  align-content: center;
  padding: 12px 22px;
}

.contract-benefit-v1__gift-visual {
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  gap: clamp(14px, 1.1vw, 18px);
}

.contract-benefit-v1__value {
  width: clamp(160px, 11.5vw, 174px);
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  justify-content: stretch;
  column-gap: 0;
  row-gap: 3px;
  padding: 8% 7%;
}

.contract-benefit-v1__value > span {
  justify-self: end;
  align-self: center;
}

.contract-benefit-v1__value > strong {
  justify-self: center;
  align-self: center;
  font-size: clamp(76px, 5.4vw, 94px);
  line-height: .78;
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.contract-benefit-v1__value > em {
  justify-self: start;
  align-self: center;
}

.contract-benefit-v1__value > small {
  justify-self: center;
  margin-top: 0;
  line-height: 1;
}

.contract-benefit-v1__aircon {
  width: clamp(238px, 18vw, 270px);
  height: auto;
  justify-self: center;
}

.contract-benefit-v1__gift-copy {
  margin-top: 0;
  line-height: 1.12;
}

.contract-benefit-v1__gift-copy span {
  font-size: clamp(25px, 1.9vw, 34px);
}

.contract-benefit-v1__gift-copy strong {
  font-size: clamp(29px, 2.25vw, 40px);
}

.contract-benefit-v1__gift-copy::after {
  width: min(82%, 470px);
  margin-top: 7px;
}

.contract-benefit-v1__loan {
  min-height: clamp(300px, 21vw, 320px);
  padding: 22px 18px 20px;
}

.contract-benefit-v1__loan-label {
  gap: clamp(11px, 1vw, 18px);
  font-size: clamp(27px, 2vw, 36px);
}

.contract-benefit-v1__loan-label svg {
  width: clamp(51px, 3.8vw, 68px);
  height: clamp(51px, 3.8vw, 68px);
}

.contract-benefit-v1__loan-value {
  margin-top: 10px;
}

.contract-benefit-v1__loan-value strong {
  font-size: clamp(88px, 6.25vw, 116px);
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.contract-benefit-v1__loan-value small {
  font-size: clamp(20px, 1.5vw, 28px);
}

.contract-benefit-v1__loan-value > span {
  font-size: clamp(23px, 1.75vw, 32px);
}

@media (min-width: 960px) and (max-width: 1199px) {
  .fv-three-heading {
    column-gap: 18px;
    padding-right: 24px;
    padding-left: 24px;
  }

  .fv-three-heading h1 {
    gap: 13px;
    font-size: clamp(31px, 3.15vw, 38px);
  }

  .fv-three-heading .fv-three-event-copy small {
    min-height: 31px;
    padding: 6px 12px 7px;
    font-size: 11px;
  }
}

@media (max-width: 1199px) {
  .contract-benefit-v1__frame {
    min-height: 0;
    grid-template-columns: 32% 68%;
  }

  .contract-benefit-v1__award,
  .contract-benefit-v1__gift {
    min-height: clamp(260px, 26vw, 278px);
  }

  .contract-benefit-v1__award {
    gap: 8px;
    padding: 18px 30px 16px 18px;
  }

  .contract-benefit-v1__award::after {
    right: -38px;
    width: 68px;
  }

  .contract-benefit-v1__gift {
    padding: 12px 18px;
  }

  .contract-benefit-v1__gift-visual {
    grid-template-columns: auto auto;
    gap: 12px;
  }

  .contract-benefit-v1__aircon {
    width: clamp(210px, 23vw, 245px);
    height: auto;
  }
  .contract-benefit-v1__value { width: 136px; }
  .contract-benefit-v1__value > strong { font-size: 64px; }
  .contract-benefit-v1__gift-copy span { font-size: 23px; }
  .contract-benefit-v1__gift-copy strong { font-size: 27px; }

  .contract-benefit-v1__loan {
    grid-column: 1 / -1;
    min-height: 112px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(36px, 6vw, 64px);
    padding: 10px 20px 12px;
    border-top: 1px solid rgba(7, 94, 142, .18);
  }

  .contract-benefit-v1__loan::before { display: none; }
  .contract-benefit-v1__loan-label { margin: 0; }
  .contract-benefit-v1__loan-value { margin: 0; }
  .contract-benefit-v1__loan-value strong { font-size: clamp(76px, 8vw, 88px); }
}

@media (max-width: 959px) {
  .fv-three-heading {
    min-height: 148px;
    align-items: center;
    gap: 9px;
    padding: 16px 24px 20px;
    text-align: center;
  }

  .fv-three-heading h1 {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: clamp(27px, 6.6vw, 40px);
    line-height: 1.15;
  }

  .fv-three-heading__area {
    min-height: 0;
    padding: 0 0 6px;
    border-left: 0;
    border-bottom: 1px solid rgba(0, 174, 207, .62);
    background: none;
    font-size: .58em;
    letter-spacing: .13em;
  }

  .fv-three-heading .fv-three-event-copy {
    width: auto;
  }

  .fv-three-heading .fv-three-event-copy small {
    min-height: 30px;
    padding: 6px 14px 7px;
    font-size: clamp(11px, 2.8vw, 14px);
  }
}

@media (max-width: 759px) {
  .contract-benefit-v1 {
    padding: 14px 10px 16px;
  }

  .contract-benefit-v1__frame {
    grid-template-columns: 1fr;
    border-radius: 15px;
  }

  .contract-benefit-v1__award {
    min-height: 0;
    gap: 5px;
    padding: 16px 18px 14px;
  }

  .contract-benefit-v1__award::after { display: none; }
  .contract-benefit-v1__limited { width: min(68%, 280px); }
  .contract-benefit-v1__award-title { width: min(49%, 200px); }

  .contract-benefit-v1__gift {
    min-height: 0;
    padding: 12px 12px 14px;
  }

  .contract-benefit-v1__gift-visual {
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 6px;
  }

  .contract-benefit-v1__value { width: 116px; }
  .contract-benefit-v1__value > strong { font-size: 58px; }
  .contract-benefit-v1__value > span,
  .contract-benefit-v1__value > em,
  .contract-benefit-v1__value > small { font-size: 14px; }
  .contract-benefit-v1__aircon {
    width: clamp(142px, 44vw, 170px);
    height: auto;
  }
  .contract-benefit-v1__gift-copy { margin-top: 4px; }
  .contract-benefit-v1__gift-copy span { font-size: clamp(22px, 5.8vw, 27px); }
  .contract-benefit-v1__gift-copy strong { font-size: clamp(26px, 6.8vw, 32px); }

  .contract-benefit-v1__loan {
    grid-column: auto;
    min-height: 134px;
    flex-direction: column;
    gap: 8px;
    padding: 14px 8px 16px;
  }

  .contract-benefit-v1__loan-label {
    gap: 9px;
    font-size: clamp(21px, 5.7vw, 26px);
  }

  .contract-benefit-v1__loan-label svg {
    width: 42px;
    height: 42px;
  }

  .contract-benefit-v1__loan-value strong {
    font-size: clamp(67px, 18vw, 82px);
  }

  .contract-benefit-v1__loan-value small { font-size: 17px; }
  .contract-benefit-v1__loan-value > span { font-size: 21px; }
}

@media (max-width: 380px) {
  .fv-three-heading h1 { font-size: clamp(22px, 6.8vw, 26px); }
  .fv-three-heading__event { gap: .16em; }
  .contract-benefit-v1__gift-visual {
    grid-template-columns: auto auto;
  }
}

/* =========================================================
   2026-08-29 Supplied FV strip assets + approved benefit layout
   ========================================================= */
.fv-three-heading {
  width: 100%;
  min-height: clamp(138px, 8.75vw, 168px);
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  justify-content: stretch;
  column-gap: clamp(22px, 2.4vw, 46px);
  padding: clamp(16px, 1.35vw, 26px) clamp(24px, 3vw, 58px);
  overflow: visible;
  background:
    radial-gradient(circle at 3% 45%, rgba(138, 220, 241, .25), transparent 11%),
    radial-gradient(circle at 91% 120%, rgba(126, 207, 237, .18), transparent 23%),
    linear-gradient(104deg, #f8fdff 0%, #fff 46%, #f7fcff 100%);
}

.fv-three-heading::after { display: none; }

.fv-three-heading .fv-openhouse-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(250px, .52fr) 2px minmax(520px, 1.18fr);
  align-items: center;
  gap: clamp(20px, 2vw, 38px);
  margin: 0;
  overflow: visible;
  font-size: 0;
  line-height: 1;
  white-space: normal;
}

.fv-openhouse-strip__area,
.fv-openhouse-strip__headline {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  padding-top: clamp(13px, .85vw, 17px);
}

.fv-openhouse-strip__area {
  width: min(100%, 350px);
  justify-self: end;
  justify-content: flex-end;
}

.fv-openhouse-strip__headline {
  width: min(100%, 800px);
  justify-self: start;
  justify-content: flex-start;
}

.fv-openhouse-strip__area-label,
.fv-openhouse-strip__headline-image,
.fv-three-event-copy img {
  display: block;
  max-width: 100%;
  height: auto;
}

.fv-openhouse-strip__area-label {
  width: min(100%, 350px);
}

.fv-openhouse-strip__headline-image {
  width: min(100%, 800px);
}

.fv-openhouse-strip__divider {
  width: 2px;
  height: clamp(38px, 3.2vw, 62px);
  display: block;
  object-fit: cover;
}

.fv-openhouse-strip__left-accent,
.fv-openhouse-strip__active-accent {
  position: absolute;
  z-index: 2;
  display: block;
  height: auto;
  pointer-events: none;
}

.fv-openhouse-strip__left-accent {
  top: 0;
  left: clamp(-10px, -.55vw, -4px);
  width: clamp(37px, 3vw, 56px);
}

.fv-openhouse-strip__active-accent {
  top: 0;
  right: clamp(-18px, -.8vw, -7px);
  width: clamp(34px, 2.6vw, 49px);
}

.fv-three-heading .fv-three-event-copy {
  width: clamp(250px, 19vw, 370px);
  display: block;
  align-self: center;
  justify-self: end;
  padding: 0;
  margin: 0;
}

.fv-three-heading .fv-three-event-copy img { width: 100%; }

.contract-benefit-v1 {
  padding: clamp(24px, 2.4vw, 46px) clamp(10px, .75vw, 14px) clamp(18px, 2vw, 34px);
  background: #fff;
}

.contract-benefit-v1__frame {
  width: min(100%, 1880px);
  min-height: clamp(350px, 23vw, 440px);
  grid-template-columns: 21.6% 47.5% 30.9%;
  overflow: hidden;
  border: 2px solid #087da5;
  border-radius: 22px;
  background:
    radial-gradient(circle at 77% 46%, rgba(142, 222, 244, .12), transparent 34%),
    linear-gradient(120deg, #fff 0%, #fff 72%, #f0faff 100%);
  box-shadow: 0 14px 38px rgba(5, 53, 91, .08);
}

.contract-benefit-v1__award,
.contract-benefit-v1__gift,
.contract-benefit-v1__loan {
  min-height: clamp(350px, 23vw, 440px);
}

.contract-benefit-v1__award {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.4vw, 24px);
  padding: clamp(22px, 2vw, 38px) clamp(20px, 2.1vw, 40px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08) 0 17%, transparent 17% 56%, rgba(0, 0, 0, .17) 56% 100%),
    linear-gradient(135deg, #103d70 0%, #062951 56%, #031e3e 100%);
}

.contract-benefit-v1__award::after { display: none; }

.contract-benefit-v1__limited,
.contract-benefit-v1__award-title {
  position: static;
  inset: auto;
  max-width: 100%;
  height: auto;
  transform: none;
}

.contract-benefit-v1__limited { width: min(88%, 330px); }
.contract-benefit-v1__award-title { width: min(70%, 270px); }

.contract-benefit-v1__gift {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
  align-content: stretch;
  align-items: center;
  column-gap: clamp(10px, .8vw, 15px);
  row-gap: 0;
  padding: clamp(22px, 1.4vw, 28px) clamp(20px, 1.55vw, 30px) clamp(22px, 1.4vw, 28px) 0;
  overflow: hidden;
}

.contract-benefit-v1__aircon-halo {
  position: relative;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  width: min(100%, 390px);
  justify-self: center;
  border-radius: 50%;
  background: radial-gradient(circle at 45% 42%, rgba(237, 250, 255, .98), rgba(218, 244, 252, .82) 62%, rgba(207, 239, 249, .58) 100%);
}

.contract-benefit-v1__aircon {
  position: static;
  inset: auto;
  width: 106%;
  max-width: none;
  height: auto;
  object-fit: contain;
  transform: translate(-10.5%, 1%);
}

.contract-benefit-v1__gift-details {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: clamp(15px, 1.15vw, 22px);
}

.contract-benefit-v1__value {
  position: static;
  inset: auto;
  width: min(100%, 345px);
  min-height: clamp(86px, 6vw, 104px);
  aspect-ratio: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 8px 18px 10px;
  border: 1px solid rgba(203, 158, 36, .9);
  border-radius: 3px;
  background: rgba(255, 255, 255, .94);
  box-shadow:
    inset 0 0 0 3px #fff,
    inset 0 0 0 4px rgba(4, 149, 189, .58),
    0 8px 18px rgba(3, 43, 78, .08);
  font-family: var(--serif);
  line-height: 1;
  text-align: center;
}

.contract-benefit-v1__value > span {
  align-self: center;
  margin-right: 2px;
  color: #072f5e;
  font-size: clamp(21px, 1.5vw, 29px);
  font-weight: 700;
}

.contract-benefit-v1__value > strong {
  align-self: center;
  color: #079dbd;
  font-family: var(--display-number), var(--serif);
  font-size: clamp(72px, 5.3vw, 98px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.contract-benefit-v1__value > em {
  align-self: center;
  margin-left: 5px;
  color: #072f5e;
  font-size: clamp(21px, 1.45vw, 28px);
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.contract-benefit-v1__gift-copy {
  position: relative;
  inset: auto;
  width: min(100%, 345px);
  margin: 0;
  padding: 4px 0 4px clamp(22px, 1.8vw, 34px);
  font-family: var(--serif);
  line-height: 1.18;
  letter-spacing: .045em;
  text-align: left;
}

.contract-benefit-v1__gift-copy::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  border-radius: 99px;
  background: #08a5c7;
  content: "";
}

.contract-benefit-v1__gift-copy::after { display: none; }

.contract-benefit-v1__gift-copy span,
.contract-benefit-v1__gift-copy strong { display: block; }

.contract-benefit-v1__gift-copy span {
  color: #072f5e;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 600;
}

.contract-benefit-v1__gift-copy strong {
  margin-top: 5px;
  color: #06a4c5;
  font-size: clamp(29px, 2.25vw, 42px);
  font-weight: 600;
}

.contract-benefit-v1__loan {
  min-width: 0;
  min-height: clamp(350px, 23vw, 440px);
  padding: clamp(30px, 3vw, 52px) clamp(20px, 2.4vw, 44px);
}

.contract-benefit-v1__loan-label {
  gap: clamp(12px, 1.2vw, 22px);
  font-size: clamp(27px, 2.15vw, 40px);
}

.contract-benefit-v1__loan-label svg {
  width: clamp(56px, 4.5vw, 82px);
  height: clamp(56px, 4.5vw, 82px);
}

.contract-benefit-v1__loan-value { margin-top: clamp(14px, 1.5vw, 26px); }

.contract-benefit-v1__loan-value small {
  margin: 0 8px 13px 0;
  font-size: clamp(21px, 1.8vw, 34px);
}

.contract-benefit-v1__loan-value strong {
  font-size: clamp(92px, 7.8vw, 148px);
  font-variant-numeric: lining-nums proportional-nums;
  font-feature-settings: "lnum" 1, "pnum" 1;
}

.contract-benefit-v1__loan-value > span {
  margin: 0 0 13px 8px;
  font-size: clamp(25px, 2vw, 38px);
}

@media (min-width: 960px) and (max-width: 1240px) {
  .fv-three-heading {
    min-height: clamp(118px, 10.5vw, 132px);
    column-gap: 18px;
    padding: 13px 20px;
  }

  .fv-three-heading .fv-openhouse-strip {
    grid-template-columns: minmax(180px, .48fr) 2px minmax(350px, 1.12fr);
    gap: 15px;
  }

  .fv-openhouse-strip__area-label { width: min(100%, 270px); }
  .fv-openhouse-strip__headline-image { width: min(100%, 590px); }
  .fv-openhouse-strip__area { width: min(100%, 270px); }
  .fv-openhouse-strip__headline { width: min(100%, 590px); }
  .fv-three-heading .fv-three-event-copy { width: clamp(185px, 19vw, 235px); }

  .contract-benefit-v1__frame {
    grid-template-columns: 24% 76%;
  }

  .contract-benefit-v1__gift {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-inline: 18px;
  }

  .contract-benefit-v1__gift-details { gap: 15px; }
  .contract-benefit-v1__loan { padding-inline: 14px; }
}

@media (max-width: 959px) {
  .fv-three-heading {
    min-height: 176px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 8px;
    padding: 14px 18px 16px;
  }

  .fv-three-heading .fv-openhouse-strip {
    width: min(100%, 590px);
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 5px;
  }

  .fv-openhouse-strip__divider { display: none; }
  .fv-openhouse-strip__area,
  .fv-openhouse-strip__headline {
    width: auto;
    justify-content: center;
    padding-top: 7px;
  }
  .fv-openhouse-strip__area-label { width: min(58vw, 220px); }
  .fv-openhouse-strip__headline-image { width: min(88vw, 470px); }
  .fv-openhouse-strip__left-accent { top: -3px; left: -12px; width: 32px; }
  .fv-openhouse-strip__active-accent { top: -4px; right: -15px; width: 30px; }

  .fv-three-heading .fv-three-event-copy {
    width: min(64vw, 255px);
    justify-self: center;
  }

  .contract-benefit-v1__frame {
    grid-template-columns: 1fr 1fr;
  }

  .contract-benefit-v1__loan {
    grid-column: auto;
  }

  .contract-benefit-v1__award {
    grid-column: 1 / -1;
    min-height: 240px;
  }

  .contract-benefit-v1__limited { width: min(58%, 320px); }
  .contract-benefit-v1__award-title { width: min(38%, 220px); }

  .contract-benefit-v1__gift,
  .contract-benefit-v1__loan {
    min-height: 330px;
  }

  .contract-benefit-v1__gift {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .contract-benefit-v1__aircon-halo {
    width: min(72%, 230px);
    justify-self: center;
  }

  .contract-benefit-v1__gift-details {
    justify-items: center;
    gap: 16px;
  }

  .contract-benefit-v1__gift-copy { width: min(100%, 310px); }
  .contract-benefit-v1__value { width: min(100%, 300px); }
}

@media (max-width: 759px) {
  .fv-three-heading { min-height: 174px; }

  .contract-benefit-v1 {
    padding: 16px 10px 18px;
  }

  .contract-benefit-v1__frame {
    grid-template-columns: 1fr;
    border-radius: 17px;
  }

  .contract-benefit-v1__award {
    grid-column: auto;
    min-height: 210px;
    gap: 10px;
    padding: 20px;
  }

  .contract-benefit-v1__limited { width: min(78%, 285px); }
  .contract-benefit-v1__award-title { width: min(54%, 205px); }

  .contract-benefit-v1__gift {
    min-height: 0;
    grid-template-columns: minmax(118px, .9fr) minmax(160px, 1.1fr);
    gap: 12px;
    padding: 24px 16px 26px;
  }

  .contract-benefit-v1__aircon-halo {
    width: 100%;
    max-width: 190px;
  }

  .contract-benefit-v1__gift-details {
    gap: 14px;
  }

  .contract-benefit-v1__value {
    min-height: 72px;
    padding: 9px 10px 10px;
  }

  .contract-benefit-v1__value > span,
  .contract-benefit-v1__value > em { font-size: clamp(14px, 4vw, 18px); }
  .contract-benefit-v1__value > strong { font-size: clamp(52px, 15vw, 68px); }

  .contract-benefit-v1__gift-copy {
    width: 100%;
    padding-left: 14px;
  }

  .contract-benefit-v1__gift-copy span { font-size: clamp(17px, 4.7vw, 21px); }
  .contract-benefit-v1__gift-copy strong { font-size: clamp(21px, 5.7vw, 26px); }

  .contract-benefit-v1__loan {
    min-height: 215px;
    padding: 26px 14px 30px;
  }

  .contract-benefit-v1__loan::before {
    top: 0;
    right: 10%;
    bottom: auto;
    left: 10%;
    width: auto;
    height: 1px;
  }

  .contract-benefit-v1__loan-label { font-size: clamp(22px, 6vw, 28px); }
  .contract-benefit-v1__loan-label svg { width: 46px; height: 46px; }
  .contract-benefit-v1__loan-value strong { font-size: clamp(72px, 21vw, 96px); }
  .contract-benefit-v1__loan-value small { font-size: 17px; }
  .contract-benefit-v1__loan-value > span { font-size: 21px; }
}

@media (max-width: 390px) {
  .fv-three-heading { min-height: 168px; }
  .fv-openhouse-strip__area-label { width: 190px; }
  .fv-openhouse-strip__headline-image { width: min(90vw, 340px); }
  .fv-three-heading .fv-three-event-copy { width: 230px; }

  .contract-benefit-v1__gift {
    grid-template-columns: 1fr;
  }

  .contract-benefit-v1__aircon-halo { width: 180px; }
  .contract-benefit-v1__value { width: min(100%, 270px); }
  .contract-benefit-v1__gift-copy { width: min(100%, 270px); }
}

/* 2026-08-29: lock the supplied open-house strip to its approved 1968:174 ratio */
.fv-openhouse-strip-composite {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 960px) {
  .fv-three.lp-section {
    grid-template-rows: 26.14% auto minmax(0, 1fr);
  }

  .fv-three-sky {
    height: 26.14%;
  }

  .fv-three-heading {
    width: 100%;
    min-height: 0;
    height: auto;
    display: block;
    padding: 0;
    overflow: hidden;
    background: #fff;
  }

  .fv-three-heading .fv-openhouse-strip {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .fv-three-heading .fv-three-event-copy {
    display: none;
  }
}

@media (max-width: 959px) {
  .fv-openhouse-strip-composite {
    display: none;
  }

  .fv-three-heading .fv-openhouse-strip {
    position: static;
    width: min(100%, 590px);
    height: auto;
    display: grid;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
  }

  .fv-three-heading .fv-three-event-copy {
    display: block;
  }
}

/* Keep the supplied benefit layout on one row until the deliberate tablet break. */
@media (min-width: 1200px) and (max-width: 1240px) {
  .contract-benefit-v1__frame {
    grid-template-columns: 23% 47% 30%;
  }

  .contract-benefit-v1__award,
  .contract-benefit-v1__gift,
  .contract-benefit-v1__loan {
    grid-column: auto;
  }
}

@media (min-width: 960px) and (max-width: 1199px) {
  .contract-benefit-v1__frame {
    grid-template-columns: 32% 68%;
  }

  .contract-benefit-v1__award { grid-column: 1; }
  .contract-benefit-v1__gift { grid-column: 2; }
  .contract-benefit-v1__loan { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   2026-08-29 / approved smartphone-only first view
   Desktop and tablet keep the existing three-column first view.
   -------------------------------------------------------------------------- */
.sp-fv-v2,
.sp-fv-v3,
.sp-sticky-cta {
  display: none;
}

@media (max-width: 759px) {
  .fv-page {
    --fv-header-h: 58px;
    padding-bottom: calc(62px + env(safe-area-inset-bottom));
  }

  .fv-page .site-header,
  .fv-page:not(.fv-header-visible) .site-header {
    height: var(--fv-header-h);
    gap: 7px;
    padding: 0 8px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .site-header .brand {
    width: 116px;
    max-width: 116px;
    flex: 0 0 116px;
  }

  .brand-logo {
    width: 116px;
    max-width: 116px;
  }

  .header-tools {
    flex: 1 1 auto;
    justify-content: flex-end;
    gap: 0;
  }

  .header-inquiry {
    gap: 6px;
  }

  .header-inquiry__link {
    width: 72px;
    min-height: 36px;
    flex-direction: row;
    justify-content: center;
    gap: 5px;
    padding: 5px 7px;
    border-radius: 9px;
    box-shadow: 0 4px 12px rgba(4,43,79,.12);
  }

  .header-inquiry__link--request {
    color: #fff;
    border-color: #072f5c;
    background: linear-gradient(135deg,#082f5b,#073d72);
  }

  .header-inquiry__icon,
  .header-inquiry__link--request .header-inquiry__icon,
  .header-inquiry__link--booking .header-inquiry__icon {
    width: 17px;
    height: 17px;
    color: currentColor;
    background: transparent;
  }

  .header-inquiry__icon svg {
    width: 17px;
    height: 17px;
  }

  .header-inquiry__copy small {
    display: none;
  }

  .header-inquiry__copy strong {
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .035em;
  }

  .menu-toggle {
    display: none;
  }

  .fv-three.lp-section {
    width: 100%;
    height: auto;
    min-height: 0;
    display: block;
    margin: var(--fv-header-h) 0 0;
    overflow: visible;
  }

  .fv-three > .fv-three-sky,
  .fv-three > .fv-three-heading,
  .fv-three > .fv-three-properties,
  .fv-three > .fv-three-cta--mobile {
    display: none;
  }

  .sp-fv-v2 {
    position: relative;
    isolation: isolate;
    display: block;
    overflow: hidden;
    padding: 24px 12px 20px;
    color: #062f5d;
    background:
      linear-gradient(180deg,rgba(255,255,255,.03),rgba(246,252,255,.15)),
      url("assets/images/mobile-fv-airy-leaves-bg-v1.png") center top / cover no-repeat;
  }

  .sp-fv-v2::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg,transparent 0 47%,rgba(255,255,255,.42) 62%,rgba(244,251,255,.8) 100%);
    pointer-events: none;
  }

  .sp-fv-v2__intro {
    position: relative;
    z-index: 1;
    min-height: 195px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .sp-fv-v2__area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 11px;
    font-family: var(--serif);
    font-size: clamp(17px,4.7vw,20px);
    font-weight: 600;
    letter-spacing: .12em;
  }

  .sp-fv-v2__area > span {
    width: 36px;
    height: 1px;
    background: currentColor;
  }

  .sp-fv-v2__title {
    margin: 0;
    font-family: var(--serif);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: .08em;
  }

  .sp-fv-v2__title > span,
  .sp-fv-v2__title > strong {
    display: block;
  }

  .sp-fv-v2__title > span {
    font-size: clamp(34px,9.5vw,42px);
  }

  .sp-fv-v2__title > strong {
    color: #062f5d;
    font-size: clamp(38px,10.5vw,46px);
    font-weight: 600;
  }

  .sp-fv-v2__single-ok {
    position: absolute;
    top: 104px;
    right: 3px;
    margin: 0;
    color: #0299ad;
    font-family: "Segoe Print","Yu Gothic",cursive;
    font-size: clamp(13px,3.8vw,16px);
    font-weight: 600;
    line-height: 1.42;
    letter-spacing: .035em;
    text-align: left;
    transform: rotate(-5deg);
  }

  .sp-fv-v2__single-ok::after {
    content: "";
    width: 92px;
    height: 8px;
    display: block;
    margin: 2px 0 0 -2px;
    border-bottom: 2px solid currentColor;
    border-radius: 50%;
    transform: rotate(-3deg);
  }

  .sp-fv-v2__lead {
    margin: 12px 0 0;
    color: #173b60;
    font-family: var(--serif);
    font-size: clamp(14px,3.9vw,17px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .04em;
  }

  .sp-fv-v2__lead strong {
    color: #08aabd;
    font-size: 1.12em;
    font-weight: 700;
  }

  .sp-fv-v2__venues {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 13px;
  }

  .sp-fv-v2__venue {
    position: relative;
    display: block;
    overflow: hidden;
    color: #062f5d;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(8,92,137,.18);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(12,75,112,.13);
  }

  .sp-fv-v2__venue:focus-visible {
    outline: 3px solid rgba(0,174,207,.5);
    outline-offset: 3px;
  }

  .sp-fv-v2__ribbon {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 18px 8px 14px;
    color: #fff;
    background: linear-gradient(135deg,#062f5d,#084a7f);
    border-radius: 0 0 19px 0;
    font-family: var(--serif);
    line-height: 1.25;
    letter-spacing: .04em;
  }

  .sp-fv-v2__ribbon strong {
    font-size: clamp(14px,4vw,17px);
    font-weight: 600;
  }

  .sp-fv-v2__ribbon span {
    padding-left: 8px;
    border-left: 1px solid rgba(255,255,255,.46);
    font-size: clamp(10px,2.9vw,12px);
    font-weight: 650;
    white-space: nowrap;
  }

  .sp-fv-v2__venue--kozu .sp-fv-v2__ribbon {
    background: linear-gradient(135deg,#00a5bc,#0c8fa8);
  }

  .sp-fv-v2__pair {
    position: relative;
    height: 190px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    background: linear-gradient(180deg,#d9f1ff,#fff);
  }

  .sp-fv-v2__pair figure,
  .sp-fv-v2__single {
    min-width: 0;
    margin: 0;
    overflow: hidden;
  }

  .sp-fv-v2__pair figure + figure {
    border-left: 2px solid rgba(255,255,255,.86);
  }

  .sp-fv-v2__pair img,
  .sp-fv-v2__single img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .sp-fv-v2__pair img {
    object-position: center 54%;
  }

  .sp-fv-v2__pair-badge {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 14px;
    width: 84px;
    height: 84px;
    display: grid;
    place-content: center;
    padding: 9px;
    color: #fff;
    background: linear-gradient(145deg,#0b315c,#072549);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
    box-shadow: 0 5px 16px rgba(3,40,77,.30);
    font-family: var(--serif);
    font-size: 10px;
    line-height: 1.42;
    letter-spacing: .035em;
    text-align: center;
    transform: translateX(-50%);
  }

  .sp-fv-v2__pair-badge strong {
    display: block;
    font-size: 17px;
    font-weight: 650;
  }

  .sp-fv-v2__single {
    height: 190px;
    background: linear-gradient(180deg,#dff4ff,#fff);
  }

  .sp-fv-v2__single img {
    object-position: center 58%;
  }

  .sp-fv-v2__station {
    min-height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0;
    padding: 8px 10px 9px;
    color: #102f51;
    background: rgba(255,255,255,.96);
    border-top: 1px solid rgba(8,92,137,.10);
    font-family: var(--serif);
    font-size: clamp(14px,3.8vw,16px);
    font-weight: 550;
    line-height: 1.25;
    letter-spacing: .035em;
  }

  .sp-fv-v2__station svg {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    padding: 6px;
    color: #fff;
    background: #08345f;
    border-radius: 50%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .sp-fv-v2__venue--kozu .sp-fv-v2__station svg {
    background: #04a8bd;
  }

  .sp-fv-v2__station strong {
    color: #04a1b7;
    font-size: 1.28em;
    font-weight: 650;
  }

  .sp-sticky-cta {
    position: fixed;
    z-index: 110;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(62px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96);
    border-top: 1px solid rgba(5,62,99,.13);
    box-shadow: 0 -8px 24px rgba(4,43,79,.11);
    backdrop-filter: blur(12px);
  }

  .sp-sticky-cta__link {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 11px rgba(4,43,79,.14);
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .07em;
  }

  .sp-sticky-cta__link--request {
    background: linear-gradient(135deg,#062f5d,#08477d);
  }

  .sp-sticky-cta__link--booking {
    background: linear-gradient(135deg,#04a9bd,#008aa5);
  }

  .sp-sticky-cta__link svg {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .section-rail,
  .menu-backdrop {
    z-index: 130;
  }
}

@media (max-width: 374px) {
  .site-header .brand,
  .brand-logo {
    width: 102px;
    max-width: 102px;
  }

  .site-header .brand {
    flex-basis: 102px;
  }

  .header-inquiry__link {
    width: 66px;
    padding-inline: 5px;
  }

  .sp-fv-v2 {
    padding-inline: 9px;
  }

  .sp-fv-v2__single-ok {
    right: -1px;
    font-size: 12px;
  }

  .sp-fv-v2__ribbon {
    gap: 5px;
    padding-inline: 11px 13px;
  }
}

/* 2026-08-31: final narrow-screen FV tuning */
@media (max-width: 759px) {
  .sp-fv-v2__title {
    width: 100%;
  }

  .sp-fv-v2__title > strong {
    padding-right: clamp(66px, 18vw, 78px);
  }

  .sp-fv-v2__single-ok {
    top: 108px;
    right: 7px;
    color: #007b8e;
    font-size: clamp(12px, 3.4vw, 15px);
  }

  .sp-fv-v2__lead strong,
  .sp-fv-v2__station strong {
    color: #007f93;
  }

  .sp-fv-v2__venue--kozu .sp-fv-v2__ribbon {
    background: linear-gradient(135deg, #007f96, #006b82);
  }

  .sp-fv-v2__pair img {
    object-fit: contain;
    object-position: center bottom;
  }

  .sp-fv-v2__venue--kozu .sp-fv-v2__station svg {
    background: #007e92;
  }

  .sp-sticky-cta__link--booking {
    background: linear-gradient(135deg, #008399, #006d84);
  }

  .contract-benefit-v1 {
    position: relative;
    padding: 16px 9px 18px;
    background: #f7fbff;
  }

  .contract-benefit-v1__frame {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .contract-benefit-v1__note {
    width: min(100%, 520px);
    margin: 8px auto 0;
    padding-inline: 5px;
    font-size: 9px;
    line-height: 1.55;
    text-align: left;
  }
}

@media (max-width: 374px) {
  .sp-fv-v2__title > strong {
    padding-right: 72px;
    font-size: 36px;
  }

  .sp-fv-v2__single-ok {
    right: 3px;
  }
}

/* 2026-08-31: smartphone-wide layout audit.
   This pass deliberately changes only spacing, type sizing and wrapping.
   The FV artwork/content and the visual design system remain untouched. */
@media (max-width: 759px) {
  /* Header actions: reserve enough inline space for the existing labels. */
  .header-inquiry__link {
    width: 80px;
  }

  .header-inquiry__copy,
  .header-inquiry__copy strong {
    min-width: 0;
    white-space: nowrap;
  }

  /* A consistent mobile section rhythm without changing section order. */
  .venue-showcase-v1 {
    padding-top: 42px;
    padding-bottom: 44px;
  }

  .nagao-overview-v9 {
    padding-top: 42px;
    padding-bottom: 24px;
  }

  body .nagao-overview-v9 .nagao-property-intro-v10 {
    padding-bottom: 28px;
  }

  .nagao-lot-v11 {
    padding-block: 32px;
  }

  .nagao-lot-v11 .nagao-lot-v11__frame {
    padding-bottom: 20px;
  }

  .kozu-v13-reasons-shell {
    padding: 36px 14px 40px;
  }

  .kozu-v13-detail-shell {
    padding: 36px 12px 40px;
  }

  .specification-v9 {
    padding-block: 40px 36px;
  }

  .trust-v10 {
    padding-block: 40px 32px;
  }

  .pace-v11 {
    padding-block: 40px 36px;
  }

  .access-v12 {
    padding-block: 40px 38px;
  }

  .faq.faq-v13 {
    padding-block: 40px;
  }

  .final-inquiry {
    padding-block: 32px 34px;
  }

  .section-mobile-index {
    margin-bottom: 10px;
  }

  .faq-v13-copy h2 {
    margin-top: 0;
  }

  /* Keep Japanese phrases together where the browser can identify them. */
  .venue-showcase-v1__head h2,
  .venue-showcase-v1__head p,
  .specification-v9-intro h2,
  .specification-v9-panel-title h3,
  .trust-v10-copy h2,
  .trust-v10-lead,
  .pace-v11-intro h2,
  .pace-v11-lead,
  .pace-v11-choices a,
  .pace-v11-cta,
  .access-v12-intro h2,
  .access-v12-lead,
  .faq-v13-lead,
  .faq-v13-contact p,
  .faq-v13-question,
  .faq-v13-answer p,
  .final-inquiry__copy,
  .final-inquiry__action {
    line-break: strict;
    word-break: auto-phrase;
  }

  .venue-showcase-v1__head h2,
  .specification-v9-intro h2,
  .specification-v9-panel-title h3,
  .trust-v10-copy h2,
  .pace-v11-intro h2,
  .access-v12-intro h2,
  .faq-v13-copy h2 {
    text-wrap: balance;
  }

  /* The venue names may wrap, but must never clip out of their panels. */
  .venue-showcase-v1__copy {
    width: 72%;
    padding-inline: 12px;
  }

  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy {
    right: 0;
    width: 82%;
    padding-inline: 12px;
  }

  .venue-showcase-v1__copy strong,
  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy strong {
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .venue-showcase-v1__copy strong {
    font-size: clamp(25px, 7.2vw, 30px);
  }

  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy strong {
    font-size: clamp(18px, 5.2vw, 22px);
    line-height: 1.35;
  }

  /* Access card headings use the remaining column instead of colliding
     with the station information on narrow phones. */
  .access-v12-card-head {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 12px;
  }

  .access-v12-card-head > div {
    min-width: 0;
    gap: 8px;
  }

  .access-v12-property-pin {
    width: 24px;
    height: 38px;
  }

  .access-v12-card-head h3,
  .access-v12-card--kozu .access-v12-card-head h3 {
    min-width: 0;
    font-size: clamp(15px, 4.3vw, 18px);
    line-height: 1.35;
    letter-spacing: .015em;
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .access-v12-card-head > p {
    max-width: 82px;
    font-size: clamp(10px, 2.8vw, 11px);
    line-height: 1.45;
    white-space: normal;
  }

  /* Remove fixed-ratio whitespace around the supplied Kozu plan/photos. */
  .kozu-v13-floorplan img {
    height: auto;
    max-height: none;
  }

  .kozu-v13-detail-exterior,
  .kozu-v13-detail-interior {
    aspect-ratio: auto;
  }

  /* Let the browser choose the useful mobile break for this unchanged copy. */
  .nagao-lot-v11__appeal > p br {
    display: none;
  }

  .nagao-lot-v11__number span,
  .kozu-v13-detail-heading > p span {
    min-width: 1.15em;
    overflow: visible;
  }

  .nagao-lot-v11__heading,
  .kozu-v13-detail-heading {
    grid-template-columns: clamp(82px, 21vw, 90px) minmax(0, 1fr);
  }

  .nagao-lot-v11__specs dd {
    font-size: 11.5px;
    letter-spacing: 0;
  }

  .nagao-lot-v11__specs dd strong {
    font-size: clamp(22px, 6.25vw, 24px);
    letter-spacing: -.03em;
  }

  /* Small supporting copy stays legible without changing its hierarchy. */
  .nagao-stage-v9__facts dt > span:last-child,
  .nagao-stage-v9__facts dd,
  .nagao-property-intro-v10__features span,
  .kozu-v13-reasons-grid p,
  .access-v12-note,
  .final-inquiry__action small {
    font-size: max(10px, 2.65vw);
  }
}

/* Keep the phone typography continuous across the old 420/421px seam. */
@media (max-width: 480px) {
  .venue-showcase-v1__head h2 {
    font-size: clamp(25px, 7.5vw, 30px);
    line-height: 1.5;
  }

  .specification-v9-intro h2,
  .trust-v10-copy h2 {
    font-size: clamp(28px, 8vw, 30px);
  }

  .pace-v11-intro h2 {
    font-size: clamp(24px, 7.5vw, 29px);
    letter-spacing: .04em;
  }

  .pace-v11-title-prefix,
  .pace-v11-title-venue,
  .pace-v11-title-select,
  .pace-v11-title-available {
    display: inline;
  }

  .pace-v11-cta {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    padding-inline: 7px;
    font-size: clamp(16px, 4.8vw, 18px);
    letter-spacing: .08em;
    white-space: nowrap;
  }

  .pace-v11-cta > i {
    width: 44px;
    height: 44px;
  }

  .access-v12-intro h2 {
    font-size: clamp(34px, 9vw, 40px);
  }

  .faq-v13-copy h2 {
    font-size: clamp(34px, 10vw, 40px);
    letter-spacing: .075em;
  }

  .trust-v10-ring {
    width: 100%;
    max-width: 100px;
  }

  .trust-v10-ring strong {
    font-size: clamp(19px, 5.8vw, 24px);
  }

  .trust-v10-ring strong > small {
    font-size: clamp(8px, 2.15vw, 9px);
  }

  .trust-v10-stats > li:nth-child(3) .trust-v10-ring strong {
    font-size: clamp(15px, 4.2vw, 19px);
  }
}

@media (max-width: 374px) {
  .header-inquiry__link {
    width: 75px;
  }
}

@media (max-width: 340px) {
  .nagao-lot-v11__specs {
    grid-template-columns: 1fr;
  }

  .nagao-lot-v11__specs > div:nth-child(odd) {
    border-right: 0;
  }

  body .nagao-property-intro-v10__copy h3 {
    padding-left: 12px;
    font-size: 23px;
  }

  body .nagao-property-intro-v10__copy h3 > .nagao-property-intro-v10__heading-sp {
    white-space: normal;
  }
}

/* --------------------------------------------------------------------------
   2026-08-31 / reference-faithful smartphone FV v3
   The accepted 941 × 1672 mobile artwork is the sole visual source of truth.
   Desktop/tablet and every section after the FV keep their existing layout.
   -------------------------------------------------------------------------- */
@media (max-width: 759px) {
  .sp-fv-v3 {
    --sp-fv-v3-navy: #062f61;
    --sp-fv-v3-aqua: #00aac7;
    position: relative;
    isolation: isolate;
    display: block;
    overflow: hidden;
    padding: 0 0 clamp(6px, 1.5vw, 12px);
    color: var(--sp-fv-v3-navy);
    background: #eefaff url("assets/images/mobile-fv-sky-bg-v2.webp") center top / cover no-repeat;
  }

  .sp-fv-v3 img,
  .sp-fv-v3 canvas,
  .sp-fv-v3 svg {
    display: block;
  }

  .sp-fv-v3__intro {
    position: relative;
    z-index: 4;
    width: 100%;
    aspect-ratio: 941 / 500;
  }

  .sp-fv-v3__wordmark {
    position: absolute;
    top: -12%;
    left: 50%;
    width: 84%;
    height: auto;
    opacity: .36;
    pointer-events: none;
    transform: translateX(-50%);
  }

  .sp-fv-v3__area,
  .sp-fv-v3__single-ok {
    position: absolute;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
  }

  .sp-fv-v3__area {
    top: 27.5%;
    width: 42.5%;
    color: #fff;
    font-family: var(--sans);
    font-size: clamp(11px, 3.55vw, 24px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: .055em;
    text-align: center;
    white-space: nowrap;
  }

  .sp-fv-v3__area img,
  .sp-fv-v3__single-ok img {
    width: 100%;
    height: auto;
  }

  .sp-fv-v3__area span,
  .sp-fv-v3__single-ok span {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
  }

  .sp-fv-v3__area span {
    margin-top: -.02em;
  }

  .sp-fv-v3__title {
    position: absolute;
    z-index: 3;
    top: 45.5%;
    left: 50%;
    width: 100%;
    margin: 0;
    color: var(--sp-fv-v3-navy);
    font-family: var(--sans);
    font-weight: 800;
    line-height: 1;
    letter-spacing: .065em;
    text-align: center;
    white-space: nowrap;
    transform: translateX(-50%);
  }

  .sp-fv-v3__title > span {
    display: block;
    font-size: clamp(21px, 6.8vw, 48px);
  }

  .sp-fv-v3__title > strong {
    position: relative;
    display: table;
    margin: .27em auto 0;
    color: var(--sp-fv-v3-aqua);
    font-size: clamp(27px, 8.35vw, 59px);
    font-weight: 800;
    letter-spacing: .12em;
  }

  .sp-fv-v3__title > strong img {
    position: absolute;
    top: -74%;
    right: -23%;
    width: clamp(32px, 10.3vw, 72px);
    max-width: none;
    height: auto;
    pointer-events: none;
  }

  .sp-fv-v3__single-ok {
    top: 83.4%;
    width: 52.5%;
    color: var(--sp-fv-v3-navy);
    font-family: var(--sans);
    font-size: clamp(10px, 3.35vw, 22px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: .045em;
    text-align: center;
    white-space: nowrap;
  }

  .sp-fv-v3__homes {
    position: relative;
    z-index: 3;
    margin: clamp(3px, 1.65vw, 10px) 4.2vw 0;
  }

  .sp-fv-v3__home,
  .sp-fv-v3__home-grid {
    min-width: 0;
    margin: 0;
  }

  .sp-fv-v3__home {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: clamp(11px, 3.45vw, 24px);
    background: rgba(228, 246, 255, .8);
    box-shadow: 0 7px 18px rgba(10, 72, 112, .13);
  }

  .sp-fv-v3__home--main {
    aspect-ratio: 1.7;
  }

  .sp-fv-v3__home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.2vw;
    margin-top: 1.75vw;
  }

  .sp-fv-v3__home--sub {
    aspect-ratio: 1.15;
  }

  .sp-fv-v3__photo {
    --fv-photo-x: .5;
    --fv-photo-y: .52;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    background: #dff4ff;
  }

  .sp-fv-v3__home--nagao-one .sp-fv-v3__photo {
    --fv-photo-y: .53;
  }

  .sp-fv-v3__home--kozu .sp-fv-v3__photo {
    --fv-photo-x: .52;
    --fv-photo-y: .54;
  }

  .sp-fv-v3__photo > .fv-daynight-day,
  .sp-fv-v3__photo > .fv-daynight-night {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: calc(var(--fv-photo-x) * 100%) calc(var(--fv-photo-y) * 100%);
  }

  .sp-fv-v3__photo > .fv-daynight-day {
    z-index: 0;
  }

  .sp-fv-v3__photo > .fv-daynight-night {
    z-index: 1;
  }

  .sp-fv-v3__photo > .fv-daynight-canvas {
    z-index: 2;
    border-radius: inherit;
  }

  .sp-fv-v3 .sp-fv-v3__daynight-toggle,
  .sp-fv-v3 .sp-fv-v3__daynight-toggle:hover,
  .sp-fv-v3 .sp-fv-v3__photo.is-night-fixed .sp-fv-v3__daynight-toggle {
    position: absolute;
    z-index: 5;
    top: 0;
    right: auto;
    left: 2.25%;
    width: 18.6%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 50%;
    color: inherit;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    text-shadow: none;
    transform: none;
  }

  .sp-fv-v3__home--sub .sp-fv-v3__daynight-toggle,
  .sp-fv-v3__home--sub .sp-fv-v3__daynight-toggle:hover,
  .sp-fv-v3__home--sub .sp-fv-v3__photo.is-night-fixed .sp-fv-v3__daynight-toggle {
    left: 2.8%;
    width: 26%;
  }

  .sp-fv-v3__daynight-toggle > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: filter .22s ease, transform .22s ease;
  }

  .sp-fv-v3__daynight-toggle:hover > img {
    filter: brightness(1.08);
    transform: scale(1.025);
  }

  .sp-fv-v3__daynight-toggle:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 6px rgba(0, 174, 205, .72);
  }

  .sp-fv-v3__visit-points {
    position: relative;
    z-index: 4;
    width: 86%;
    min-height: clamp(44px, 11.4vw, 74px);
    margin: clamp(8px, 2.7vw, 18px) auto 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
    align-items: center;
    border: 1px solid rgba(255,255,255,.98);
    border-radius: clamp(10px, 3.2vw, 22px);
    background: rgba(255,255,255,.96);
    box-shadow: 0 7px 20px rgba(9, 74, 112, .12);
  }

  .sp-fv-v3__visit-point {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(5px, 1.65vw, 12px);
    color: var(--sp-fv-v3-navy);
  }

  .sp-fv-v3__visit-point > svg {
    width: clamp(25px, 7.1vw, 48px);
    height: auto;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--sp-fv-v3-aqua);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .sp-fv-v3__visit-point p {
    min-width: 0;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(9px, 2.85vw, 19px);
    font-weight: 600;
    line-height: 1.36;
    letter-spacing: .025em;
    white-space: nowrap;
  }

  .sp-fv-v3__visit-point p > span {
    display: block;
  }

  .sp-fv-v3__visit-point strong {
    margin-inline: .04em;
    color: var(--sp-fv-v3-aqua);
    font-family: var(--display-number);
    font-size: 2em;
    font-weight: 500;
    line-height: .5;
  }

  .sp-fv-v3__visit-divider {
    width: 1px;
    height: 58%;
    background: rgba(0, 170, 199, .34);
  }

  .sp-fv-v3__booking {
    position: relative;
    z-index: 4;
    width: 70%;
    min-height: clamp(36px, 9.6vw, 62px);
    margin: clamp(7px, 2.2vw, 15px) auto 0;
    display: grid;
    grid-template-columns: clamp(26px, 7vw, 46px) minmax(0, 1fr) clamp(26px, 7vw, 46px);
    align-items: center;
    padding: 0 clamp(6px, 1.7vw, 12px);
    color: #fff;
    border-radius: 999px;
    background: linear-gradient(110deg, #075184 0%, #062f61 68%, #042552 100%);
    box-shadow: 0 8px 20px rgba(4, 43, 79, .2);
    font-family: var(--sans);
    font-size: clamp(12px, 3.8vw, 25px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: .065em;
    text-align: center;
    white-space: nowrap;
    transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
  }

  .sp-fv-v3__booking:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(4, 43, 79, .24);
  }

  .sp-fv-v3__booking:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(0, 174, 205, .72);
  }

  .sp-fv-v3__booking svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .sp-fv-v3__booking-icon {
    justify-self: center;
    width: clamp(21px, 5.7vw, 38px);
    height: clamp(21px, 5.7vw, 38px);
  }

  .sp-fv-v3__booking-arrow {
    justify-self: center;
    width: clamp(18px, 4.8vw, 32px);
    height: clamp(18px, 4.8vw, 32px);
  }
}

@media (max-width: 340px) {
  .sp-fv-v3__single-ok {
    font-size: 10px;
  }

  .sp-fv-v3__visit-points {
    width: 90%;
  }

  .sp-fv-v3__booking {
    width: 76%;
  }
}

/* 2026-08-31: client-requested smartphone-only layout corrections.
   Desktop remains governed by the existing rules above 759px. */
@media (max-width: 759px) {
  /* FV: separate the label, title, accent and single-property capsule. */
  .sp-fv-v3__title {
    top: 48.5%;
  }

  .sp-fv-v3__title > strong img {
    right: -34%;
  }

  .sp-fv-v3__single-ok {
    top: 76%;
    pointer-events: none;
  }

  /* Overview facts: keep every label and value on the same centre axis. */
  .nagao-stage-v9__facts dt,
  .nagao-stage-v9__facts dd {
    width: 100%;
    text-align: center;
  }

  .nagao-stage-v9__message {
    width: calc(100% - 24px);
    font-size: clamp(11px, 3.45vw, 15px);
    line-height: 1.9;
    letter-spacing: .035em;
  }

  .nagao-stage-v9__message-line {
    display: block;
    white-space: nowrap;
  }

  .nagao-stage-v9__message-line > span {
    display: inline;
    white-space: nowrap;
  }

  /* The two interior photographs use straight, non-diagonal edges on phones. */
  body .nagao-property-intro-v10__home figure {
    margin-top: 0;
    clip-path: none;
  }

  /* Remove the fixed empty height from the five overview fact tiles. */
  body .nagao-property-intro-v10__features li {
    min-height: 0;
    padding: 12px 8px 14px;
  }

  /* Lot 1 title: first phrase on line one, "快適な邸" on line two. */
  body #nagao-lot-v8-one-title {
    font-size: clamp(14px, 4.5vw, 21px);
    line-height: 1.55;
    letter-spacing: 0;
  }

  body #nagao-lot-v8-one-title > span {
    display: inline;
    white-space: nowrap;
  }

  body #nagao-lot-v8-one-title > span:last-child {
    display: block;
  }

  /* The two short lifestyle headings stay on one line. */
  body .nagao-lot-v11__appeal h3,
  body .kozu-v13-detail-copy > h3 {
    font-size: clamp(14.5px, 4.5vw, 19px);
    letter-spacing: .015em;
    white-space: nowrap;
  }

  body .nagao-lot-v11__appeal h3 br,
  body .kozu-v13-detail-copy > h3 br {
    display: none;
  }

  /* These two requested sentences are omitted on the smartphone version only. */
  body .specification-v9-lead,
  body .faq-v13-contact {
    display: none;
  }

  /* Trust and venue-selection leads: retain their two semantic outer lines. */
  .trust-v10-lead,
  .pace-v11-lead {
    font-size: clamp(10px, 3.15vw, 14px);
    line-height: 1.9;
    letter-spacing: .03em;
  }

  .trust-v10-lead > span,
  .pace-v11-lead > span {
    display: block;
    white-space: nowrap;
  }

  .trust-v10-lead-mobile,
  .pace-v11-lead-mobile {
    display: inline;
  }

  /* Access lead: first sentence plus a combined second line. */
  body .access-v12-intro > .access-v12-lead {
    font-size: clamp(10.5px, 3.2vw, 13px);
    line-height: 1.85;
    letter-spacing: .03em;
    text-align: center;
  }

  .access-v12-lead > span:first-child {
    display: block;
    white-space: nowrap;
  }

  .access-v12-lead > span:nth-child(n + 2) {
    display: inline;
    white-space: nowrap;
  }
}

/* 2026-08-31: mobile detail-order, header and balance corrections. */
.detail-media-mobile,
.detail-spec-mobile,
.faq-v13-mobile-break {
  display: none;
}

/* The client requested the standard-specification icons to be removed on
   every viewport. Collapse the former icon column as well. */
body .specification-v9-item-copy {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body .specification-v9-item-copy > p {
  grid-column: 1;
}

@media (max-width: 759px) {
  /* Header: keep the official logo, replace the two inquiry chips with the
     already accessible page menu, and leave the bottom sticky actions intact. */
  .site-header .header-inquiry {
    display: none;
  }

  .site-header .brand {
    width: clamp(180px, 56vw, 230px);
    max-width: clamp(180px, 56vw, 230px);
    flex: 0 1 clamp(180px, 56vw, 230px);
  }

  .site-header .brand-logo {
    width: 100%;
    max-width: none;
  }

  .site-header .header-tools {
    flex: 0 0 auto;
  }

  .site-header .menu-toggle {
    width: 44px;
    height: 44px;
    display: flex;
    gap: 5px;
  }

  .site-header .menu-lines {
    width: 20px;
  }

  .site-header .menu-lines i {
    width: 20px;
  }

  .site-header .menu-label {
    font-size: 6px;
  }

  /* FV artwork alignment: leave safe space between both frame dots and copy,
     then anchor the accent to the upper-right of 開催中！. */
  .sp-fv-v3__single-ok {
    font-size: clamp(9px, 3vw, 20px);
    letter-spacing: .035em;
  }

  .sp-fv-v3__title > strong img {
    top: -30%;
    right: -20%;
  }

  /* Centre both venue-panel copy blocks on the same panel axis. */
  .venue-showcase-v1__copy,
  .venue-showcase-v1__panel--kozu .venue-showcase-v1__copy {
    right: auto;
    left: 0;
    width: 100%;
    padding-inline: 12px;
    text-align: center;
  }

  /* Join the selector and each venue hero without the inherited white band. */
  .venue-showcase-v1 {
    padding-bottom: 0;
  }

  .nagao-overview-v9 {
    padding-top: 0;
  }

  /* Remove the outer intro card while retaining the inner home cards. */
  .after-fv-background .nagao-overview-v9 .nagao-property-intro-v10 {
    width: 100%;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    overflow: visible;
  }

  .kozu-v13-hero > .section-mobile-index {
    position: absolute;
    z-index: 3;
    top: 8px;
    left: 0;
    margin: 0;
    padding-inline: 14px;
  }

  .kozu-v13-hero-shell {
    padding-top: 28px;
  }

  /* Centre the three quick-fact labels on the same axis as their icons/copy. */
  .nagao-stage-v9__facts dt > span:last-child {
    width: 100%;
    grid-row: auto;
    grid-column: auto;
    align-self: center;
    text-align: center;
  }

  /* Reuse the evenly balanced two-line desktop phrasing on phones. */
  body .nagao-property-intro-v10__copy h3 {
    padding-left: 0;
    font-size: clamp(16px, 5.2vw, 27px);
    line-height: 1.6;
    letter-spacing: .025em;
    text-align: center;
  }

  body .nagao-property-intro-v10__copy h3::before {
    display: none;
  }

  body .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead {
    padding-left: 0;
    text-align: center;
  }

  body .nagao-property-intro-v10__copy .nagao-property-intro-v10__lead::before {
    display: none;
  }

  body .nagao-property-intro-v10__copy h3 > .nagao-property-intro-v10__heading-pc {
    display: block !important;
    white-space: nowrap;
  }

  body .nagao-property-intro-v10__copy h3 > .nagao-property-intro-v10__heading-sp {
    display: none !important;
  }

  /* Both house introductions are centred; lot 1 keeps the requested two lines. */
  body .nagao-property-intro-v10__home-copy,
  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home p {
    text-align: center;
  }

  body .nagao-property-intro-v10__home-copy > span,
  body .nagao-property-intro-v10__home-copy > i {
    margin-inline: auto;
  }

  body .nagao-property-intro-v10__home-copy p {
    max-width: none;
  }

  body .nagao-property-intro-v10__homes .nagao-property-intro-v10__home--one p {
    font-size: clamp(9.5px, 3vw, 11.5px);
    letter-spacing: 0;
  }

  body .nagao-property-intro-v10__home--one p > span {
    display: block;
    white-space: nowrap;
  }

  /* Tighten the five overview facts without changing their two-column pattern. */
  body .nagao-property-intro-v10__features {
    gap: 0 8px;
    margin-top: 20px;
  }

  body .nagao-property-intro-v10__features li {
    min-height: 0;
    padding: 8px 4px 10px;
  }

  body .nagao-property-intro-v10__features li:nth-child(n + 3) {
    padding-top: 8px;
  }

  body .nagao-property-intro-v10__features li > i {
    width: 58px;
    height: 58px;
  }

  body .nagao-property-intro-v10__features strong {
    margin-top: 5px;
    line-height: 1.3;
  }

  body .nagao-property-intro-v10__features span {
    margin-top: 2px;
    line-height: 1.45;
  }

  body .nagao-property-intro-v10__features > li:nth-child(4) > span {
    white-space: nowrap;
  }

  body .nagao-property-intro-v10__features > li:nth-child(4) > span > br:last-of-type {
    display: none;
  }

  /* Mobile detail order: heading → exterior/interior → floor plan → copy.
     Desktop keeps the original gallery and floor-plan nodes unchanged. */
  .detail-media-mobile {
    display: grid;
    gap: 14px;
    margin-top: 18px;
  }

  .detail-media-mobile .nagao-lot-v11__gallery,
  .detail-media-mobile .kozu-v13-detail-gallery {
    width: 100%;
    margin-inline: 0;
  }

  .detail-media-mobile .nagao-lot-v11__plan,
  .detail-media-mobile .kozu-v13-floorplan {
    margin: 0;
    padding: 14px 6px;
    border: 1px solid rgba(65, 156, 198, .18);
    border-radius: 16px;
    background: rgba(248, 253, 255, .96);
  }

  .nagao-lot-v11__top > .nagao-lot-v11__gallery,
  .nagao-lot-v11__details > .nagao-lot-v11__plan,
  .kozu-v13-detail-top > .kozu-v13-detail-gallery,
  .kozu-v13-plan-row > .kozu-v13-floorplan {
    display: none;
  }

  body .nagao-lot-v11__price,
  body .kozu-v13-detail-price {
    display: none;
  }

  .detail-spec-desktop {
    display: none !important;
  }

  .detail-spec-mobile {
    display: block;
  }

  body .nagao-lot-v11__specs > .detail-spec-switch {
    grid-template-columns: clamp(32px, 10vw, 38px) minmax(0, 1fr);
    align-content: center;
    border-bottom: 1px dotted rgba(6, 55, 101, .22);
    text-align: left;
  }

  body .nagao-lot-v11__specs > .detail-spec-switch > dt,
  body .nagao-lot-v11__specs > .detail-spec-switch > dd {
    grid-column: 2;
  }

  body .nagao-lot-v11__specs > .detail-spec-switch > dt {
    grid-row: 1;
  }

  body .nagao-lot-v11__specs > .detail-spec-switch > dd {
    grid-row: 2;
    white-space: nowrap;
  }

  .detail-spec-mobile__price strong {
    color: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
  }

  .detail-spec-mobile__price em {
    margin-left: 4px;
    color: #063465;
    font-family: var(--serif);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
  }

  body .kozu-v13-spec-list > .detail-spec-switch {
    grid-template-columns: 44px minmax(0, 1fr);
    border-bottom: 1px dotted rgba(29, 107, 148, .28);
    text-align: left;
  }

  .kozu-v13-spec-list > .detail-spec-switch > dt.detail-spec-mobile {
    display: contents;
  }

  .kozu-v13-spec-list > .detail-spec-switch > dt.detail-spec-mobile span {
    text-align: left;
  }

  .kozu-v13-spec-list .detail-spec-mobile__price small {
    display: block;
    margin-top: 4px;
    color: #60758b;
    font-family: var(--sans);
    font-size: 9px;
    white-space: nowrap;
  }

  /* The selection section keeps its choices but omits the requested interior. */
  .pace-v11-photo {
    display: none;
  }

  .pace-v11-actions {
    margin-top: 26px;
  }

  /* Centre the two requested section introductions on phones only. */
  .trust-v10-copy,
  .pace-v11-intro {
    text-align: center;
  }

  .trust-v10-photo {
    border-radius: 0;
  }

  .pace-v11-choices li:nth-child(2) a {
    grid-template-columns: 16px minmax(0, 1fr) 18px;
    gap: 8px;
    padding-inline: 12px;
  }

  .pace-v11-choices li:nth-child(2) a > span {
    font-size: inherit;
    letter-spacing: inherit;
    white-space: nowrap;
  }

  /* Keep all four viewing choices at one consistent, single-line size. */
  .pace-v11-choices a {
    font-size: clamp(12px, 3.74vw, 14px);
  }

  /* Reduce the repeated section spacing visible on narrow screens. */
  .specification-v9 {
    padding-top: 24px;
  }

  .specification-v9-intro h2 {
    margin-top: 0;
  }

  .nagao-stage-v9 {
    padding-bottom: 24px;
  }

  body .nagao-overview-v9 .nagao-property-intro-v10 {
    margin-top: 12px;
    padding-top: 32px;
  }

  .kozu-v13-reasons-shell {
    padding-top: 24px;
  }

  .kozu-v13-reasons-lead header {
    padding: 0 10px 14px;
  }

  .kozu-v13-reasons-lead header > p {
    margin-bottom: 8px;
  }

  .kozu-v13-reasons-rule,
  .kozu-v13-reasons-lead header > div {
    margin-top: 12px;
  }

  .kozu-v13-reasons-grid h3 {
    min-height: 0;
  }

  .kozu-v13-reasons-grid p {
    margin-top: 8px;
    padding-top: 8px;
  }

  /* Preserve the two intended lines in the 7-lot heading. */
  body .kozu-v13-detail-heading h2 {
    font-size: clamp(18px, 5.4vw, 22px);
    letter-spacing: .01em;
  }

  body .kozu-v13-detail-heading h2 span {
    white-space: nowrap !important;
  }

  /* Match the 7-lot LDK badge to Nagao and place its note below the photo. */
  .detail-media-mobile .kozu-v13-detail-interior figcaption {
    right: 10px;
    bottom: 10px;
    width: 62px;
    height: 62px;
    min-width: 62px;
    min-height: 62px;
    padding: 0;
    border-radius: 50%;
    display: grid;
    place-content: center;
    font-family: var(--serif);
    line-height: 1.25;
  }

  .detail-media-mobile .kozu-v13-detail-interior figcaption span,
  .detail-media-mobile .kozu-v13-detail-interior figcaption strong {
    display: block;
    margin: 0;
    font-family: var(--serif);
    font-size: 11px;
    font-weight: 500;
  }

  .detail-media-mobile .kozu-v13-detail-interior figcaption strong {
    font-size: 14px;
  }

  .kozu-v13-detail-interior-note {
    margin: -6px 4px 0;
    color: rgba(7, 49, 94, .58);
    font-size: 9px;
    line-height: 1.6;
    text-align: right;
  }

  /* FAQ lead breaks before 事前に; all four question lines stay unbroken. */
  .faq-v13-mobile-break {
    display: block;
  }

  .faq-v13-item > summary {
    min-height: 72px;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    gap: 8px;
    padding: 10px 11px;
  }

  .faq-v13-item > summary > .faq-v13-q {
    width: 34px;
    height: 34px;
    font-size: 19px;
  }

  .faq-v13-item > summary > .faq-v13-question {
    font-size: clamp(10px, 3.2vw, 13px);
    letter-spacing: 0;
    white-space: nowrap;
  }

  .faq-v13-question--split > span,
  .faq-v13-question--split-narrow > span {
    display: inline !important;
  }
}

/* 2026-09-01 — final mobile alignment pass. */
.venue-showcase-v1__mobile-break {
  display: none;
}

@media (max-width: 759px) {
  /* Use the same centred, two-line heading treatment as the other sections. */
  .kozu-v13-reasons-lead header {
    display: block;
    padding: 0 10px 18px;
    text-align: center;
  }

  .kozu-v13-reasons-lead header > p,
  body .kozu-v13-reasons-lead h2 {
    margin: 0;
    color: #063465;
    font-family: "Noto Serif JP", "Yu Mincho", serif;
    font-size: clamp(25px, 7.5vw, 30px);
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: .05em;
    text-align: center;
    white-space: nowrap;
  }

  .kozu-v13-reasons-rule {
    display: none;
  }

  .kozu-v13-reasons-lead header > div {
    margin: 13px 0 0;
    font-size: clamp(10.5px, 3vw, 12px);
    line-height: 1.95;
    letter-spacing: .05em;
    text-align: center;
  }

  /* Let each 01–05 card end with its content instead of a fixed blank area. */
  .kozu-v13-reasons-grid {
    align-items: start;
  }

  .kozu-v13-reasons-grid li,
  .kozu-v13-reasons-grid li:nth-child(4),
  .kozu-v13-reasons-grid li:nth-child(5) {
    min-height: 0;
    padding-bottom: 14px;
  }

  /* Keep the plan summary at exactly two readable lines on phones. */
  body .kozu-v13-detail-summary {
    font-size: clamp(9px, 2.75vw, 11px);
    line-height: 1.9;
    letter-spacing: 0;
  }

  .kozu-v13-detail-summary > span {
    display: block;
    white-space: nowrap;
  }

  /* Match Nagao: one four-cell land/floor/plan/price panel on phones. */
  .kozu-v13-info-strip {
    display: none;
  }

  body .kozu-v13-spec-list {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
    border: 0;
  }

  body .kozu-v13-spec-list > div,
  body .kozu-v13-spec-list > div:nth-child(odd),
  body .kozu-v13-spec-list > div:nth-child(even),
  body .kozu-v13-spec-list > .detail-spec-switch {
    min-height: 92px;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 8px;
    row-gap: 2px;
    align-content: center;
    padding: 14px 8px;
    border-right: 0;
    border-bottom: 0;
    text-align: left;
  }

  body .kozu-v13-spec-list > div:nth-child(-n + 2) {
    border-bottom: 1px dotted rgba(29, 107, 148, .28);
  }

  body .kozu-v13-spec-list > div:nth-child(odd) {
    border-right: 1px dotted rgba(29, 107, 148, .28);
  }

  .kozu-v13-spec-list dt img {
    width: 36px;
    height: 36px;
  }

  .kozu-v13-spec-list dt span {
    font-size: 9px;
    letter-spacing: .04em;
  }

  body .kozu-v13-spec-list dd {
    margin-top: 2px;
    font-size: clamp(11px, 3.15vw, 13px);
    line-height: 1.45;
    letter-spacing: 0;
  }

  .kozu-v13-spec-list .detail-spec-mobile__price small {
    margin-top: 2px;
    font-size: 8px;
  }

  /* Reserve one common heading line so all three trust captions align. */
  .trust-v10-ring strong {
    min-height: clamp(22px, 6.67vw, 28px);
  }

  /* Use identical leading space and icon columns for all viewing choices. */
  .pace-v11-choices a,
  .pace-v11-choices li:nth-child(2) a {
    grid-template-columns: 16px minmax(0, 1fr) 18px;
    gap: 8px;
    padding-inline: 12px;
  }

  .pace-v11-choices a > i {
    width: 16px;
    height: 16px;
  }

  .pace-v11-choices a > b {
    width: 18px;
    height: 18px;
  }

  .pace-v11-choices a > b::before,
  .pace-v11-choices a > b::after {
    top: 8px;
    left: 1px;
    width: 16px;
  }

  .pace-v11-choices a > span,
  .pace-v11-choices li:nth-child(2) a > span {
    min-width: 0;
    white-space: nowrap;
  }

  /* The requested break is phone-only; desktop retains the original line. */
  .venue-showcase-v1__mobile-break {
    display: block;
  }

  .venue-showcase-v1__head p {
    white-space: nowrap;
  }
}

@media (max-width: 340px) {
  body .kozu-v13-spec-list {
    grid-template-columns: 1fr;
  }

  body .kozu-v13-spec-list > div,
  body .kozu-v13-spec-list > div:nth-child(odd),
  body .kozu-v13-spec-list > div:nth-child(even) {
    min-height: 82px;
    border-right: 0;
    border-bottom: 1px dotted rgba(29, 107, 148, .28);
  }

  body .kozu-v13-spec-list > div:last-child {
    border-bottom: 0;
  }

  .pace-v11-choices a,
  .pace-v11-choices li:nth-child(2) a {
    font-size: 11px;
    letter-spacing: .02em;
  }
}

/* Keep the Japanese state label legible after the later mobile header rules. */
@media (max-width: 759px) {
  .site-header .menu-label {
    font-size: 7px;
    letter-spacing: 0;
  }
}

/* 2026-09-01: keep the company footer informative without making it overly tall. */
@media (min-width: 760px) {
  .site-footer {
    grid-template-columns: minmax(200px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: 10px 24px;
    padding-block: 22px;
  }

  .footer-brand {
    grid-column: 1;
    grid-row: 1;
    min-height: 52px;
    padding: 8px 12px;
  }

  .footer-brand__logo {
    width: clamp(210px, 20vw, 285px);
  }

  .footer-company-info {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "address label"
      "address details";
    align-items: start;
    column-gap: 24px;
    row-gap: 2px;
  }

  .footer-company-info__name {
    grid-area: name;
    font-size: 16px;
  }

  .site-footer .footer-company-info__address {
    grid-area: address;
    margin: 2px 0 0;
    line-height: 1.55;
  }

  .site-footer .footer-company-info__label {
    grid-area: label;
    margin: 0;
    line-height: 1.5;
  }

  .footer-company-info__details {
    grid-area: details;
    gap: 3px;
    margin: 2px 0 0;
  }

  .footer-links {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: 16px;
  }
}

@media (min-width: 1100px) {
  .site-footer {
    grid-template-columns: auto minmax(390px, 1fr) auto;
  }

  .footer-links {
    grid-column: 3;
    grid-row: 1;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
  }
}

@media (max-width: 759px) {
  .section-rail {
    z-index: 131;
  }

  .site-footer {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 10px;
    padding: 20px;
  }

  .footer-brand {
    grid-column: 1;
    grid-row: auto;
    width: min(100%, 240px);
    min-height: 0;
    padding: 8px 10px;
  }

  .footer-brand__logo {
    width: min(100%, 220px);
  }

  .footer-company-info {
    grid-column: 1;
    grid-row: auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "address address"
      "label details";
    column-gap: 12px;
    row-gap: 4px;
  }

  .footer-company-info__name {
    grid-area: name;
    font-size: 16px;
  }

  .site-footer .footer-company-info__address {
    grid-area: address;
    margin: 0;
    line-height: 1.55;
  }

  .site-footer .footer-company-info__label {
    grid-area: label;
    margin: 4px 0 0;
    line-height: 1.5;
  }

  .footer-company-info__details {
    grid-area: details;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 4px 0 0;
  }

  .footer-links {
    grid-column: 1;
    grid-row: auto;
    gap: 8px 14px;
  }
}

/* 2026-09-01: final copy breaks, venue framing and cross-property navigation. */
.property-cross-nav {
  position: relative;
  z-index: 2;
  padding: clamp(26px, 3.4vw, 46px) var(--section-x) clamp(30px, 4vw, 54px);
  background: linear-gradient(180deg, rgba(240, 250, 253, .3), rgba(255, 255, 255, .96));
}

.property-cross-nav__link {
  width: min(880px, 100%);
  min-height: 88px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  align-items: center;
  gap: 22px;
  margin: 0 auto;
  padding: 14px 16px 14px 32px;
  color: #073765;
  background: rgba(255, 255, 255, .98);
  border: 1px solid rgba(8, 169, 199, .34);
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(7, 55, 101, .11);
  transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.property-cross-nav__link > span {
  min-width: 0;
  display: block;
}

.property-cross-nav__link small,
.property-cross-nav__link strong {
  display: block;
}

.property-cross-nav__link small {
  margin-bottom: 4px;
  color: #08a9c7;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
}

.property-cross-nav__link strong {
  font-family: var(--serif);
  font-size: clamp(17px, 1.55vw, 23px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .055em;
}

.property-cross-nav__link > svg {
  width: 56px;
  height: 56px;
  padding: 15px;
  color: #fff;
  background: #08a9c7;
  border-radius: 50%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.property-cross-nav__link:hover {
  color: #052b56;
  border-color: rgba(8, 169, 199, .62);
  box-shadow: 0 18px 40px rgba(7, 55, 101, .16);
  transform: translateY(-2px);
}

.property-cross-nav__link:focus-visible {
  outline: 3px solid rgba(8, 169, 199, .48);
  outline-offset: 4px;
}

@media (min-width: 760px) {
  body #nagao-lot-v8-one-title {
    white-space: nowrap;
  }

  body #nagao-lot-v8-one-title > span {
    display: inline;
    white-space: inherit;
  }

  body #nagao-lot-v8-one-title > span:first-child {
    display: block;
  }

  body .nagao-lot-v12 .nagao-lot-v11__appeal > p br {
    display: inline;
  }
}

@media (min-width: 961px) and (max-width: 1350px) {
  .pace-v11-intro {
    margin-top: 42px;
  }
}

@media (min-width: 1351px) {
  .pace-v11-photo {
    position: absolute;
  }

  .pace-v11-intro {
    top: 64px;
  }

  .pace-v11-actions {
    top: 390px;
  }
}

@media (max-width: 759px) {
  .sp-fv-v3__title > strong img {
    top: -55%;
    right: -18%;
  }

  .property-cross-nav {
    padding: 20px 14px 28px;
  }

  .property-cross-nav__link {
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px;
    padding: 12px 12px 12px 20px;
    border-radius: 28px;
  }

  .property-cross-nav__link small {
    margin-bottom: 2px;
    font-size: 9px;
  }

  .property-cross-nav__link strong {
    font-size: clamp(13px, 3.75vw, 15px);
    line-height: 1.55;
    letter-spacing: .035em;
  }

  .property-cross-nav__link > svg {
    width: 44px;
    height: 44px;
    padding: 12px;
  }
}

/* 2026-09-01: role-based, one-shot scroll motion for the housing LP. */
:root {
  --scroll-motion-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Fail open until the observer is ready. Content remains usable if setup fails. */
.js:not(.motion-ready) .reveal {
  opacity: 1 !important;
  translate: none !important;
  scale: none !important;
  rotate: none !important;
  clip-path: none !important;
  transition: none !important;
}

.js.motion-ready .reveal {
  --reveal-x: 0px;
  --reveal-y: 22px;
  --reveal-scale: 1;
  --reveal-rotate: 0deg;
  --reveal-clip: inset(0);
  --reveal-duration: 720ms;
  --reveal-delay: 0ms;
  opacity: 0;
  translate: var(--reveal-x) var(--reveal-y);
  scale: var(--reveal-scale);
  rotate: var(--reveal-rotate);
  clip-path: var(--reveal-clip);
  transition:
    opacity var(--reveal-duration) var(--scroll-motion-ease) var(--reveal-delay),
    translate var(--reveal-duration) var(--scroll-motion-ease) var(--reveal-delay),
    scale var(--reveal-duration) var(--scroll-motion-ease) var(--reveal-delay),
    rotate var(--reveal-duration) var(--scroll-motion-ease) var(--reveal-delay),
    clip-path var(--reveal-duration) var(--scroll-motion-ease) var(--reveal-delay);
}

.js.motion-ready .reveal[data-reveal="copy"],
.js.motion-ready .reveal[data-reveal="copy-left"] {
  --reveal-x: -26px;
  --reveal-y: 0px;
  --reveal-duration: 760ms;
}

.js.motion-ready .reveal[data-reveal="copy-right"] {
  --reveal-x: 26px;
  --reveal-y: 0px;
  --reveal-duration: 760ms;
}

.js.motion-ready .reveal[data-reveal="media-left"] {
  --reveal-x: -46px;
  --reveal-y: 0px;
  --reveal-scale: 1.025;
  --reveal-clip: inset(0 13% 0 0);
  --reveal-duration: 920ms;
}

.js.motion-ready .reveal[data-reveal="media-right"] {
  --reveal-x: 46px;
  --reveal-y: 0px;
  --reveal-scale: 1.025;
  --reveal-clip: inset(0 0 0 13%);
  --reveal-duration: 920ms;
}

.js.motion-ready .reveal[data-reveal="card-left"] {
  --reveal-x: -30px;
  --reveal-y: 10px;
  --reveal-scale: .985;
  --reveal-duration: 700ms;
}

.js.motion-ready .reveal[data-reveal="card-right"] {
  --reveal-x: 30px;
  --reveal-y: 10px;
  --reveal-scale: .985;
  --reveal-duration: 700ms;
}

.js.motion-ready .reveal[data-reveal="surface"] {
  --reveal-y: 24px;
  --reveal-scale: .987;
  --reveal-clip: inset(3% 0 0);
  --reveal-duration: 780ms;
}

.js.motion-ready .reveal[data-reveal="scale"] {
  --reveal-y: 12px;
  --reveal-scale: .955;
  --reveal-duration: 780ms;
}

.js.motion-ready .reveal[data-reveal="cta"] {
  --reveal-y: 16px;
  --reveal-scale: .985;
  --reveal-duration: 660ms;
}

.js.motion-ready .reveal[data-reveal="soft"] {
  --reveal-y: 18px;
  --reveal-duration: 680ms;
}

.js.motion-ready .reveal.is-visible,
.js.motion-ready .reveal:focus-within {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  rotate: 0deg;
  clip-path: inset(0);
}

.js.motion-ready .reveal:focus-within,
.js.motion-ready .reveal:focus-within [data-reveal-child] {
  transition: none !important;
}

/* Facts, quality cards, questions and CTAs settle into place in sequence. */
.js.motion-ready .reveal[data-reveal-stagger] [data-reveal-child] {
  opacity: 0;
  translate: 0 16px;
  scale: .985;
  transition:
    opacity 620ms var(--scroll-motion-ease) var(--reveal-child-delay, 110ms),
    translate 620ms var(--scroll-motion-ease) var(--reveal-child-delay, 110ms),
    scale 620ms var(--scroll-motion-ease) var(--reveal-child-delay, 110ms);
}

.js.motion-ready .reveal[data-reveal-stagger].is-visible [data-reveal-child],
.js.motion-ready .reveal[data-reveal-stagger]:focus-within [data-reveal-child] {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

/* Aqua rules grow toward the copy instead of fading with the whole block. */
.js.motion-ready .reveal :is(
  .faq-v13-rule,
  .kozu-v13-reasons-rule,
  .kozu-v13-hero-note > span,
  .specification-v9-panel-title > span
) {
  opacity: .25;
  scale: 0 1;
  transform-origin: left center;
  transition:
    opacity 560ms var(--scroll-motion-ease) 180ms,
    scale 560ms var(--scroll-motion-ease) 180ms;
}

.js.motion-ready .reveal .kozu-v13-hero-note > span:first-child,
.js.motion-ready .reveal .specification-v9-panel-title > span:first-child {
  transform-origin: right center;
}

.js.motion-ready .reveal.is-visible :is(
  .faq-v13-rule,
  .kozu-v13-reasons-rule,
  .kozu-v13-hero-note > span,
  .specification-v9-panel-title > span
),
.js.motion-ready .reveal:focus-within :is(
  .faq-v13-rule,
  .kozu-v13-reasons-rule,
  .kozu-v13-hero-note > span,
  .specification-v9-panel-title > span
) {
  opacity: 1;
  scale: 1 1;
}

/* Key lot, price and trust figures arrive after their surrounding copy. */
.js.motion-ready .reveal :is(
  .contract-benefit-v1__value > strong,
  .contract-benefit-v1__loan-value > strong,
  .nagao-lot-v11__number > strong,
  .nagao-lot-v11__price > strong,
  .kozu-v13-detail-heading strong,
  .kozu-v13-detail-price > strong,
  .trust-v10-ring strong,
  .pace-v11-title-venue > strong
) {
  opacity: .08;
  translate: 0 .18em;
  scale: .96;
  transition:
    opacity 660ms var(--scroll-motion-ease) 170ms,
    translate 660ms var(--scroll-motion-ease) 170ms,
    scale 660ms var(--scroll-motion-ease) 170ms;
}

.js.motion-ready .reveal.is-visible :is(
  .contract-benefit-v1__value > strong,
  .contract-benefit-v1__loan-value > strong,
  .nagao-lot-v11__number > strong,
  .nagao-lot-v11__price > strong,
  .kozu-v13-detail-heading strong,
  .kozu-v13-detail-price > strong,
  .trust-v10-ring strong,
  .pace-v11-title-venue > strong
),
.js.motion-ready .reveal:focus-within :is(
  .contract-benefit-v1__value > strong,
  .contract-benefit-v1__loan-value > strong,
  .nagao-lot-v11__number > strong,
  .nagao-lot-v11__price > strong,
  .kozu-v13-detail-heading strong,
  .kozu-v13-detail-price > strong,
  .trust-v10-ring strong,
  .pace-v11-title-venue > strong
) {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

@media (min-width: 760px) and (max-width: 1100px) {
  .js.motion-ready .reveal[data-reveal="copy"],
  .js.motion-ready .reveal[data-reveal="copy-left"] {
    --reveal-x: -20px;
  }

  .js.motion-ready .reveal[data-reveal="copy-right"] {
    --reveal-x: 20px;
  }

  .js.motion-ready .reveal[data-reveal="media-left"],
  .js.motion-ready .reveal[data-reveal="card-left"] {
    --reveal-x: -26px;
  }

  .js.motion-ready .reveal[data-reveal="media-right"],
  .js.motion-ready .reveal[data-reveal="card-right"] {
    --reveal-x: 26px;
  }
}

@media (max-width: 759px) {
  .js.motion-ready .reveal {
    --reveal-x: 0px;
    --reveal-y: 13px;
    --reveal-scale: .994;
    --reveal-clip: inset(3% 0 0);
    --reveal-duration: 560ms;
    --reveal-delay: 0ms;
  }

  .js.motion-ready .reveal[data-reveal="copy"],
  .js.motion-ready .reveal[data-reveal="copy-left"],
  .js.motion-ready .reveal[data-reveal="copy-right"] {
    --reveal-x: 0px;
    --reveal-y: 13px;
    --reveal-scale: 1;
    --reveal-clip: inset(0);
    --reveal-duration: 560ms;
  }

  .js.motion-ready .reveal[data-reveal="media-left"],
  .js.motion-ready .reveal[data-reveal="media-right"] {
    --reveal-x: 0px;
    --reveal-y: 9px;
    --reveal-scale: 1.012;
    --reveal-clip: inset(7% 0 0);
    --reveal-duration: 680ms;
  }

  .js.motion-ready .reveal[data-reveal="card-left"],
  .js.motion-ready .reveal[data-reveal="card-right"],
  .js.motion-ready .reveal[data-reveal="surface"],
  .js.motion-ready .reveal[data-reveal="scale"],
  .js.motion-ready .reveal[data-reveal="cta"],
  .js.motion-ready .reveal[data-reveal="soft"] {
    --reveal-x: 0px;
    --reveal-y: 12px;
    --reveal-scale: .994;
    --reveal-clip: inset(2% 0 0);
    --reveal-duration: 560ms;
  }

  .js.motion-ready .reveal[data-reveal-stagger] [data-reveal-child] {
    translate: 0 10px;
    scale: .994;
    transition-duration: 500ms;
    transition-delay: var(--reveal-child-delay-mobile, 70ms);
  }

  .js.motion-ready .reveal :is(
    .faq-v13-rule,
    .kozu-v13-reasons-rule,
    .kozu-v13-hero-note > span,
    .specification-v9-panel-title > span
  ) {
    transition-duration: 460ms;
    transition-delay: 120ms;
  }

  .js.motion-ready .reveal :is(
    .contract-benefit-v1__value > strong,
    .contract-benefit-v1__loan-value > strong,
    .nagao-lot-v11__number > strong,
    .nagao-lot-v11__price > strong,
    .kozu-v13-detail-heading strong,
    .kozu-v13-detail-price > strong,
    .trust-v10-ring strong,
    .pace-v11-title-venue > strong
  ) {
    transition-duration: 520ms;
    transition-delay: 110ms;
  }
}

/* Final accessibility reset: motion preference always wins over later rules. */
@media (prefers-reduced-motion: reduce) {
  .js.motion-ready .reveal,
  .js.motion-ready .reveal [data-reveal-child],
  .js.motion-ready .reveal :is(
    .faq-v13-rule,
    .kozu-v13-reasons-rule,
    .kozu-v13-hero-note > span,
    .specification-v9-panel-title > span,
    .contract-benefit-v1__value > strong,
    .contract-benefit-v1__loan-value > strong,
    .nagao-lot-v11__number > strong,
    .nagao-lot-v11__price > strong,
    .kozu-v13-detail-heading strong,
    .kozu-v13-detail-price > strong,
    .trust-v10-ring strong,
    .pace-v11-title-venue > strong
  ) {
    opacity: 1 !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
    animation: none !important;
  }
}

/* 2026-09-02: unobtrusive furnishing note for every displayed interior photo. */
.interior-photo-note {
  position: absolute;
  z-index: 4;
  bottom: clamp(8px, .8vw, 14px);
  left: clamp(8px, .8vw, 14px);
  max-width: calc(100% - 24px);
  display: block;
  margin: 0;
  padding: 4px 9px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 999px;
  color: rgba(7, 47, 94, .78);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 2px 8px rgba(6, 46, 86, .08);
  font-family: var(--sans);
  font-size: clamp(8px, .65vw, 10px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .02em;
  white-space: nowrap;
  pointer-events: none;
}

.interior-photo-note.interior-photo-note--below {
  position: static;
  max-width: none;
  margin: -6px 4px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: rgba(7, 49, 94, .62);
  background: transparent;
  box-shadow: none;
  font-size: 9px;
  line-height: 1.6;
  text-align: right;
  white-space: normal;
}

@media (max-width: 759px) {
  .nagao-property-intro-v10__home .interior-photo-note {
    bottom: 7px;
    left: 7px;
    max-width: calc(100% - 14px);
    padding: 3px 7px;
    font-size: 8px;
  }
}

/* 2026-09-02: keep the standard-specification text/photo order stable in
   iPhone Safari. Avoid percentage-height images inside fixed grid rows. */
@media (max-width: 759px) {
  .specification-v9 {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .specification-v9-grid {
    display: block;
  }

  .specification-v9-item {
    display: flex;
    flex-direction: column;
    gap: 13px;
  }

  .specification-v9-item-copy {
    flex: 0 0 auto;
  }

  .specification-v9-item > img {
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 3;
    flex: 0 0 auto;
    object-fit: cover;
  }
}

/* 2026-09-03: separate the air-conditioner contract gift from purchase
   information, and add the ninth standard-specification item. */
.contract-benefit-v1__frame {
  grid-template-columns: 21.6% 78.4%;
}

.contract-benefit-v1__gift {
  grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr);
  padding-inline: clamp(38px, 5.5vw, 104px);
}

.benefit-info-v1 {
  width: min(calc(100% - clamp(20px, 1.5vw, 28px)), 1880px);
  margin: 0 auto clamp(18px, 2vw, 34px);
  padding: clamp(22px, 2vw, 36px) clamp(22px, 3.4vw, 64px) clamp(26px, 2.3vw, 42px);
  border: 1px solid rgba(8, 125, 165, .24);
  border-radius: 22px;
  color: #072f5e;
  background:
    radial-gradient(circle at 12% 12%, rgba(19, 169, 201, .1), transparent 28%),
    linear-gradient(115deg, #f8fdff 0%, #fff 48%, #f1faff 100%);
  box-shadow: 0 12px 34px rgba(5, 53, 91, .06);
}

.benefit-info-v1__heading {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.6vw, 28px);
  text-align: center;
}

.benefit-info-v1__heading > span {
  height: 1px;
  flex: 1;
  background: rgba(8, 125, 165, .38);
}

.benefit-info-v1__heading small,
.benefit-info-v1__heading h2 {
  display: block;
  margin: 0;
  font-family: var(--serif);
}

.benefit-info-v1__heading small {
  color: #079fbe;
  font-size: clamp(12px, .95vw, 17px);
  font-weight: 700;
  letter-spacing: .12em;
}

.benefit-info-v1__heading h2 {
  margin-top: 4px;
  color: #072f5e;
  font-size: clamp(22px, 1.85vw, 34px);
  font-weight: 600;
  letter-spacing: .09em;
}

.benefit-info-v1__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 28px);
  margin: clamp(20px, 1.8vw, 32px) 0 0;
  padding: 0;
  list-style: none;
}

.benefit-info-v1__list li {
  min-width: 0;
  min-height: clamp(150px, 10.5vw, 188px);
  display: grid;
  grid-template-columns: clamp(66px, 5.5vw, 96px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(17px, 1.7vw, 30px);
  padding: clamp(17px, 1.5vw, 27px) clamp(20px, 2.3vw, 44px);
  border: 1px solid rgba(8, 125, 165, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
}

.benefit-info-v1__list li > i {
  width: clamp(66px, 5.5vw, 96px);
  height: clamp(66px, 5.5vw, 96px);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #078fb9;
  background: #e8f7fb;
  font-style: normal;
}

.benefit-info-v1__list svg {
  width: 58%;
  height: 58%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.benefit-info-v1__list li > div > small,
.benefit-info-v1__list li > div > strong {
  display: block;
  font-family: var(--serif);
}

.benefit-info-v1__list li > div > small {
  color: #079fbe;
  font-size: clamp(12px, .86vw, 15px);
  font-weight: 700;
  letter-spacing: .08em;
}

.benefit-info-v1__list li > div > strong {
  margin-top: 2px;
  color: #072f5e;
  font-size: clamp(19px, 1.55vw, 28px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .06em;
}

.benefit-info-v1__list p {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 5px 0 0;
  color: #072f5e;
  font-family: var(--serif);
  line-height: 1;
}

.benefit-info-v1__list p > span {
  font-size: clamp(11px, .8vw, 14px);
  font-weight: 600;
}

.benefit-info-v1__list p > b {
  color: #079fbe;
  font-family: var(--display-number), "Times New Roman", var(--serif);
  font-size: clamp(43px, 3.7vw, 68px);
  font-weight: 400;
  letter-spacing: -.035em;
}

.benefit-info-v1__list p > em {
  font-size: clamp(16px, 1.25vw, 23px);
  font-style: normal;
  font-weight: 700;
}

.benefit-info-v1__note {
  margin: clamp(13px, 1.1vw, 19px) 0 0;
  color: rgba(7, 49, 94, .68);
  font-family: var(--sans);
  font-size: clamp(9px, .7vw, 12px);
  line-height: 1.65;
  text-align: right;
}

@media (min-width: 960px) and (max-width: 1240px) {
  .contract-benefit-v1__frame {
    grid-template-columns: 24% 76%;
  }

  .contract-benefit-v1__gift {
    padding-inline: 34px;
  }
}

@media (max-width: 959px) {
  .contract-benefit-v1__gift {
    grid-column: 1 / -1;
  }
}

@media (max-width: 759px) {
  .contract-benefit-v1__frame {
    position: relative !important;
    width: min(100%, 520px) !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 1px solid #087da5 !important;
    border-radius: 17px !important;
  }

  .contract-benefit-v1__gift {
    grid-column: auto;
    grid-template-columns: minmax(118px, .9fr) minmax(160px, 1.1fr);
    padding: 22px 16px 25px;
  }

  .benefit-info-v1 {
    width: min(calc(100% - 18px), 520px);
    margin-top: 0;
    padding: 19px 12px 14px;
    border-radius: 17px;
  }

  .benefit-info-v1__heading {
    gap: 9px;
  }

  .benefit-info-v1__heading small {
    font-size: 10px;
  }

  .benefit-info-v1__heading h2 {
    font-size: clamp(18px, 5.5vw, 23px);
    letter-spacing: .06em;
  }

  .benefit-info-v1__list {
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 16px;
  }

  .benefit-info-v1__list li {
    min-height: 112px;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 13px;
    padding: 13px 16px;
    border-radius: 13px;
  }

  .benefit-info-v1__list li > i {
    width: 58px;
    height: 58px;
  }

  .benefit-info-v1__list li > div > small {
    font-size: 10px;
  }

  .benefit-info-v1__list li > div > strong {
    font-size: clamp(17px, 4.8vw, 21px);
  }

  .benefit-info-v1__list p {
    flex-wrap: wrap;
    gap: 3px;
  }

  .benefit-info-v1__list p > span {
    width: 100%;
    font-size: 10px;
  }

  .benefit-info-v1__list p > b {
    font-size: clamp(39px, 12vw, 50px);
  }

  .benefit-info-v1__list p > em {
    font-size: 16px;
  }

  .contract-benefit-v1__note {
    margin-top: 8px;
  }

  .benefit-info-v1__note {
    margin-top: 10px;
    padding-inline: 2px;
    font-size: 9px;
    text-align: left;
  }
}

@media (max-width: 380px) {
  .contract-benefit-v1__gift {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1351px) {
  .specification-v9 {
    height: 1128px;
    min-height: 1128px;
  }

  .specification-v9-panel {
    height: 697px;
  }

  .specification-v9-grid {
    height: 603px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .specification-v9-item,
  .specification-v9-item:nth-child(4n) {
    border-right: 1px solid rgba(20, 159, 190, .2);
  }

  .specification-v9-item:nth-child(3n) {
    border-right: 0;
  }

  .specification-v9-item:nth-child(n + 5) {
    border-bottom: 1px solid rgba(20, 159, 190, .2);
  }

  .specification-v9-item:nth-child(n + 4) {
    padding-top: 10px;
  }

  .specification-v9-item:nth-child(n + 7) {
    border-bottom: 0;
  }
}

@media (min-width: 760px) and (max-width: 1350px) {
  .specification-v9-item:nth-child(8) {
    border-bottom: 1px solid rgba(20, 159, 190, .2);
  }

  .specification-v9-item:last-child {
    width: 50%;
    grid-column: 1 / -1;
    justify-self: center;
    border-right: 0;
    border-bottom: 0;
  }
}

@media (max-width: 759px) {
  .specification-v9-item,
  .specification-v9-item:nth-child(2n) {
    border-right: 0;
  }

  .specification-v9-item:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgba(20, 159, 190, .2);
  }

  .specification-v9-item:last-child {
    border-bottom: 0;
  }
}

@media (min-width: 1400px) {
  .faq.faq-v13 {
    height: clamp(948px, 64vw, 1080px);
    min-height: 948px;
  }
}

/* ========================================================================== */
/* Contract offer v2 — supplied 2026-09-03 benefit campaign reference        */
/* ========================================================================== */

.contract-offer-v2 {
  --offer-navy: #052c54;
  --offer-navy-deep: #031f3d;
  --offer-blue: #087bc1;
  --offer-cyan: #0999d3;
  --offer-gold: #c79b3f;
  --offer-gold-light: #ead084;
  --offer-ice: #edf7fd;
  --offer-rule: rgba(11, 79, 126, .28);
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  color: var(--offer-navy);
  background: #fff;
  font-family: var(--serif);
}

.contract-offer-v2,
.contract-offer-v2 * {
  box-sizing: border-box;
}

.contract-offer-v2__desktop-reference {
  display: none;
  width: 100%;
  margin: 0;
}

.contract-offer-v2__mobile-reference {
  display: none;
}

.contract-offer-v2__desktop-reference img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 960px) {
  .contract-offer-v2__desktop-reference {
    display: block;
  }

  .contract-offer-v2 > .contract-benefit-v1.contract-offer-v2__hero,
  .contract-offer-v2 > .benefit-info-v1.contract-offer-v2__benefits {
    display: none;
  }
}

.contract-offer-v2 > .contract-benefit-v1.contract-offer-v2__hero {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 44% 45%, rgba(218, 239, 252, .78) 0 18%, rgba(255, 255, 255, 0) 37%),
    linear-gradient(103deg, #fff 0%, #fff 68%, #eef7fd 100%);
  box-shadow: none;
}

.contract-offer-v2__hero-grid {
  --offer-award-span: 30.5%;
  position: relative;
  display: grid;
  grid-template-columns: 30.5% 28% 41.5%;
  min-height: clamp(460px, 32.6vw, 610px);
}

.contract-offer-v2__award {
  position: relative;
  z-index: 4;
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: clamp(66px, 5vw, 92px) clamp(52px, 5vw, 90px) clamp(58px, 4.8vw, 88px) clamp(28px, 4vw, 74px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at 25% 20%, rgba(21, 85, 138, .6), transparent 38%),
    linear-gradient(145deg, var(--offer-navy) 0%, var(--offer-navy-deep) 100%);
  clip-path: polygon(0 0, 100% 0, 72% 50%, 100% 100%, 0 100%);
  filter:
    drop-shadow(3px 0 0 var(--offer-gold-light))
    drop-shadow(5px 0 0 var(--offer-navy-deep))
    drop-shadow(2px 0 0 var(--offer-gold));
}

.contract-offer-v2__award::before,
.contract-offer-v2__award::after {
  display: none;
  position: absolute;
  z-index: 1;
  width: 1px;
  height: 56.5%;
  right: 0;
  content: "";
  background: linear-gradient(var(--offer-gold-light), var(--offer-gold));
  box-shadow: 5px 0 0 var(--offer-gold);
  opacity: .9;
  transform-origin: center;
}

.contract-offer-v2__chevron-lines {
  position: absolute;
  z-index: 7;
  inset: 0;
  pointer-events: none;
}

.contract-offer-v2__chevron-lines::before,
.contract-offer-v2__chevron-lines::after {
  position: absolute;
  left: var(--offer-award-span);
  width: 1px;
  height: 56.5%;
  content: "";
  background: linear-gradient(var(--offer-gold-light), var(--offer-gold));
  box-shadow: 6px 0 0 var(--offer-gold);
}

.contract-offer-v2__chevron-lines::before {
  top: 0;
  transform: rotate(27.6deg);
  transform-origin: top center;
}

.contract-offer-v2__chevron-lines::after {
  bottom: 0;
  transform: rotate(-27.6deg);
  transform-origin: bottom center;
}

.contract-offer-v2__award::before {
  top: 0;
  transform: rotate(27.6deg);
  transform-origin: top center;
}

.contract-offer-v2__award::after {
  bottom: 0;
  transform: rotate(-27.6deg);
  transform-origin: bottom center;
}

.contract-offer-v2__limited {
  position: relative;
  width: min(100%, 280px);
  margin: 0 0 clamp(18px, 1.5vw, 26px);
  padding: 9px 30px 10px;
  color: var(--offer-navy-deep);
  font-size: clamp(20px, 1.65vw, 31px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.15;
  background: linear-gradient(90deg, #b9892e 0%, #f4dfa0 26%, #d8ad51 62%, #b47f23 100%);
  clip-path: polygon(0 0, 100% 0, 92% 50%, 100% 100%, 0 100%, 8% 50%);
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .18));
}

.contract-offer-v2__limited::before,
.contract-offer-v2__limited::after {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 1px;
  content: "";
  background: var(--offer-gold-light);
}

.contract-offer-v2__limited::before {
  right: calc(100% + 10px);
}

.contract-offer-v2__limited::after {
  left: calc(100% + 10px);
}

.contract-offer-v2__recipient {
  margin: 0 0 7px;
  font-size: clamp(23px, 2vw, 37px);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.25;
}

.contract-offer-v2__award-title {
  margin: 0;
  color: transparent;
  font-size: clamp(64px, 6.3vw, 112px);
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  background: linear-gradient(180deg, #fff2b7 0%, #e8c263 30%, #b57b1c 72%, #f3db83 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 4px 1px rgba(0, 0, 0, .42));
  transform: translateX(.07em);
}

.contract-offer-v2__laurel {
  width: min(100%, 300px);
  height: auto;
  margin-top: 12px;
  color: var(--offer-gold-light);
  overflow: visible;
}

.contract-offer-v2__limited-art,
.contract-offer-v2__award-art {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.contract-offer-v2__limited-art {
  width: min(67%, 300px);
  margin: 0 auto clamp(18px, 1.5vw, 25px);
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .25));
}

.contract-offer-v2__award-art {
  width: min(76%, 355px);
  margin: 0 auto;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .28));
}

.contract-offer-v2__product {
  position: relative;
  z-index: 3;
  display: grid;
  min-width: 0;
  height: 100%;
  margin: 0;
  place-items: center;
}

.contract-offer-v2__halo {
  position: absolute;
  width: min(31vw, 470px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .98) 0 34%, rgba(228, 244, 255, .9) 68%, rgba(208, 234, 250, .45) 100%);
  box-shadow: 0 12px 48px rgba(33, 109, 166, .1);
}

.contract-offer-v2__product img {
  position: relative;
  z-index: 1;
  width: min(37vw, 570px);
  max-width: none;
  height: auto;
  margin-left: clamp(-84px, -4.8vw, -52px);
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(18, 73, 111, .12));
}

.contract-offer-v2__gift-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  padding: clamp(50px, 4.2vw, 82px) clamp(35px, 4.7vw, 88px) clamp(64px, 5vw, 92px) clamp(22px, 2.4vw, 46px);
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  text-align: center;
}

.contract-offer-v2__value {
  display: flex;
  position: relative;
  min-height: 142px;
  margin: 0 0 clamp(25px, 2.2vw, 40px);
  padding: 10px 0 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--offer-navy-deep);
  border-block: 1px solid var(--offer-gold);
  line-height: 1;
}

.contract-offer-v2__value::before {
  position: absolute;
  top: -6px;
  left: 50%;
  width: 18px;
  height: 11px;
  content: "";
  background:
    radial-gradient(circle at 50% 50%, var(--offer-gold) 0 2px, transparent 2.5px),
    linear-gradient(45deg, transparent 44%, var(--offer-gold) 45% 55%, transparent 56%);
  transform: translateX(-50%);
}

.contract-offer-v2__value > span {
  font-size: clamp(27px, 2.1vw, 40px);
  font-weight: 700;
}

.contract-offer-v2__value > strong {
  color: var(--offer-blue);
  font-family: var(--display-number);
  font-size: clamp(88px, 8.2vw, 146px);
  font-weight: 500;
  letter-spacing: -.045em;
}

.contract-offer-v2__value > em {
  margin-top: .28em;
  font-size: clamp(24px, 2vw, 38px);
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.contract-offer-v2__gift-name {
  display: flex;
  margin: 0;
  flex-direction: column;
  gap: 10px;
  color: var(--offer-navy-deep);
  line-height: 1.15;
}

.contract-offer-v2__gift-name > span {
  font-size: clamp(33px, 3vw, 54px);
  font-weight: 700;
  letter-spacing: .07em;
}

.contract-offer-v2__gift-name > strong {
  color: var(--offer-blue);
  font-size: clamp(40px, 3.55vw, 64px);
  font-weight: 700;
  letter-spacing: .06em;
}

.contract-offer-v2__hero-note {
  position: absolute;
  z-index: 5;
  right: clamp(22px, 3.9vw, 72px);
  bottom: clamp(17px, 1.5vw, 28px);
  width: min(58%, 870px);
  margin: 0;
  color: rgba(5, 44, 84, .82);
  font-family: var(--sans);
  font-size: clamp(10px, .82vw, 14px);
  font-weight: 500;
  letter-spacing: .035em;
  line-height: 1.65;
  text-align: right;
}

.contract-offer-v2__mobile-note-break {
  display: none;
}

.contract-offer-v2 > .benefit-info-v1.contract-offer-v2__benefits {
  position: relative;
  width: calc(100% - clamp(24px, 2.5vw, 42px));
  max-width: none;
  min-height: 0;
  margin: clamp(20px, 1.45vw, 28px) auto clamp(18px, 1.2vw, 24px);
  padding: clamp(13px, 1.05vw, 20px) clamp(30px, 3vw, 58px) clamp(13px, 1vw, 20px);
  overflow: hidden;
  border: 0;
  border-radius: 13px;
  color: var(--offer-navy);
  background:
    linear-gradient(rgba(255, 255, 255, .58), rgba(255, 255, 255, .58)),
    url("assets/images/contract-offer-ice-texture-v1.webp") center / cover no-repeat,
    #f7fbfe;
  box-shadow: inset 0 0 48px rgba(13, 114, 181, .06);
  opacity: 1;
  transform: none;
}

.contract-offer-v2__benefits-heading {
  display: grid;
  width: min(100%, 980px);
  margin: 0 auto clamp(11px, .85vw, 16px);
  grid-template-columns: minmax(50px, 1fr) auto minmax(50px, 1fr);
  align-items: center;
  gap: clamp(15px, 2vw, 34px);
  text-align: center;
}

.contract-offer-v2__benefits-heading > span {
  position: relative;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--offer-gold));
}

.contract-offer-v2__benefits-heading > span:last-child {
  background: linear-gradient(90deg, var(--offer-gold), transparent);
}

.contract-offer-v2__benefits-heading > span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
  background: var(--offer-gold);
  transform: translate(50%, -50%);
}

.contract-offer-v2__benefits-heading > span:last-child::after {
  right: auto;
  left: 0;
  transform: translate(-50%, -50%);
}

.contract-offer-v2__benefits-heading small {
  display: block;
  margin-bottom: 5px;
  color: var(--offer-navy);
  font-size: clamp(13px, 1.1vw, 18px);
  font-weight: 600;
  letter-spacing: .18em;
}

.contract-offer-v2__benefits-heading h2 {
  margin: 0;
  color: var(--offer-navy-deep);
  font-size: clamp(29px, 2.65vw, 45px);
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.2;
}

.contract-offer-v2__benefits-heading h2 > span {
  display: inline;
  color: inherit;
  font: inherit;
}

.contract-offer-v2__benefits-heading h2 b {
  color: var(--offer-blue);
  font-family: var(--display-number);
  font-size: 1.35em;
  font-weight: 500;
}

.contract-offer-v2__cards-wrap {
  position: relative;
  width: 100%;
}

.contract-offer-v2__cards {
  display: grid;
  width: 100%;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(64px, 5.5vw, 92px);
  list-style: none;
}

.contract-offer-v2__card {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  min-height: clamp(180px, 12.35vw, 200px);
  padding: clamp(13px, 1vw, 18px) clamp(24px, 2vw, 38px) clamp(13px, 1vw, 18px) clamp(17px, 1.55vw, 28px);
  grid-template-columns: clamp(118px, 9vw, 146px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
  border: 1px solid rgba(10, 86, 139, .28);
  border-radius: 9px;
  background:
    linear-gradient(135deg, var(--offer-navy) 0 28px, transparent 29px) top left / 58px 58px no-repeat,
    linear-gradient(104deg, rgba(237, 247, 253, .95) 0 28%, #fff 28% 100%);
  box-shadow: 0 10px 24px rgba(5, 45, 80, .07);
}

.contract-offer-v2__card::before {
  display: none;
  content: none;
}

.contract-offer-v2__card--brokerage {
  background:
    linear-gradient(135deg, var(--offer-navy) 0 28px, transparent 29px) top left / 58px 58px no-repeat,
    linear-gradient(315deg, var(--offer-blue) 0 28px, transparent 29px) bottom right / 58px 58px no-repeat,
    linear-gradient(104deg, rgba(237, 247, 253, .95) 0 28%, #fff 28% 100%);
}

.contract-offer-v2__medallion {
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  padding: 6px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--offer-gold);
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 11px rgba(255, 255, 255, .68),
    0 8px 22px rgba(18, 76, 117, .13);
}

.contract-offer-v2__medallion img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.contract-offer-v2__card-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}

.contract-offer-v2__card-copy > small {
  margin-bottom: 6px;
  color: var(--offer-blue);
  font-size: clamp(13px, 1.17vw, 20px);
  font-weight: 700;
  letter-spacing: .1em;
}

.contract-offer-v2__card-copy > strong {
  color: var(--offer-navy-deep);
  font-size: clamp(27px, 2.25vw, 39px);
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.15;
}

.contract-offer-v2__card-copy > p {
  display: flex;
  min-width: 0;
  margin: 6px 0 0;
  align-items: baseline;
  gap: 5px;
  color: var(--offer-navy-deep);
  line-height: 1;
}

.contract-offer-v2__card-copy > p > span {
  margin-right: 6px;
  font-size: clamp(11px, 1vw, 17px);
  font-weight: 600;
  white-space: nowrap;
}

.contract-offer-v2__card-copy > p > b {
  color: var(--offer-blue);
  font-family: var(--display-number);
  font-size: clamp(48px, 4.1vw, 70px);
  font-weight: 500;
  letter-spacing: -.03em;
}

.contract-offer-v2__card-copy > p > em {
  font-size: clamp(15px, 1.35vw, 23px);
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.contract-offer-v2__and {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(45px, 3.6vw, 60px);
  aspect-ratio: 1;
  place-items: center;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(19px, 1.55vw, 27px);
  font-weight: 600;
  background: linear-gradient(135deg, #eedb9b, #bd8c2c 55%, #e6c66f);
  box-shadow: 0 6px 13px rgba(94, 66, 13, .17);
  transform: translate(-50%, -50%) rotate(45deg);
}

.contract-offer-v2__and::before,
.contract-offer-v2__and::after {
  display: none;
  content: none;
}

.contract-offer-v2__and {
  line-height: 1;
}

.contract-offer-v2__and > span {
  display: block;
  transform: rotate(-45deg);
}

.contract-offer-v2__benefits-note {
  margin: clamp(11px, .9vw, 17px) 0 0;
  color: rgba(5, 44, 84, .82);
  font-family: var(--sans);
  font-size: clamp(10px, .82vw, 14px);
  font-weight: 500;
  letter-spacing: .035em;
  line-height: 1.65;
  text-align: right;
}

@media (min-width: 960px) and (max-width: 1239px) {
  .contract-offer-v2__hero-grid {
    --offer-award-span: 29%;
    grid-template-columns: 29% 30% 41%;
    min-height: 460px;
  }

  .contract-offer-v2__award {
    padding-left: 25px;
    padding-right: 90px;
  }

  .contract-offer-v2__limited {
    width: 230px;
    font-size: 22px;
  }

  .contract-offer-v2__product img {
    width: 43vw;
  }

  .contract-offer-v2__gift-copy {
    padding-inline: 20px 34px;
  }

  .contract-offer-v2__card {
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 18px;
  }

  .contract-offer-v2__card-copy > p {
    flex-wrap: wrap;
  }

  .contract-offer-v2__card-copy > p > span {
    flex-basis: 100%;
  }
}

@media (max-width: 959px) {
  .contract-offer-v2 > .contract-benefit-v1.contract-offer-v2__hero {
    padding: 0 !important;
  }

  .contract-offer-v2__hero-grid {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    grid-template-rows: auto minmax(250px, auto);
    min-height: 0;
  }

  .contract-offer-v2__award {
    width: 100%;
    height: 280px;
    padding: 34px max(20px, 8vw) 29px;
    grid-column: 1 / -1;
    clip-path: none;
    filter: none;
    background:
      radial-gradient(circle at 25% 18%, rgba(21, 85, 138, .6), transparent 38%),
      linear-gradient(145deg, var(--offer-navy) 0%, var(--offer-navy-deep) 100%);
  }

  .contract-offer-v2__award::before,
  .contract-offer-v2__award::after {
    display: block;
    top: auto;
    right: auto;
    bottom: 13px;
    width: 34%;
    height: 1px;
    box-shadow: none;
    background: linear-gradient(90deg, transparent, var(--offer-gold));
    transform: none;
  }

  .contract-offer-v2__chevron-lines {
    display: none;
  }

  .contract-offer-v2__award::before {
    left: 5%;
  }

  .contract-offer-v2__award::after {
    right: 5%;
    background: linear-gradient(90deg, var(--offer-gold), transparent);
  }

  .contract-offer-v2__limited {
    width: 250px;
    font-size: 23px;
  }

  .contract-offer-v2__recipient {
    font-size: 27px;
  }

  .contract-offer-v2__award-title {
    font-size: 76px;
  }

  .contract-offer-v2__limited-art {
    width: 250px;
    margin-bottom: 16px;
  }

  .contract-offer-v2__award-art {
    width: 286px;
  }

  .contract-offer-v2__laurel {
    width: 250px;
    margin-top: 4px;
  }

  .contract-offer-v2__product {
    min-height: 260px;
    overflow: hidden;
    background: radial-gradient(circle, rgba(222, 242, 253, .8), transparent 67%);
  }

  .contract-offer-v2__halo {
    width: min(52vw, 390px);
  }

  .contract-offer-v2__product img {
    width: min(57vw, 460px);
    margin-left: -7vw;
  }

  .contract-offer-v2__gift-copy {
    min-height: 260px;
    padding: 28px 24px 34px 0;
  }

  .contract-offer-v2__value {
    min-height: 102px;
    margin-bottom: 21px;
  }

  .contract-offer-v2__value > strong {
    font-size: clamp(74px, 13vw, 108px);
  }

  .contract-offer-v2__value > span,
  .contract-offer-v2__value > em {
    font-size: clamp(20px, 3.7vw, 30px);
  }

  .contract-offer-v2__gift-name > span {
    font-size: clamp(26px, 4.6vw, 36px);
  }

  .contract-offer-v2__gift-name > strong {
    font-size: clamp(31px, 5.4vw, 43px);
  }

  .contract-offer-v2__hero-note {
    position: static;
    width: 100%;
    padding: 0 22px 16px;
    font-size: 10px;
    text-align: right;
  }

  .contract-offer-v2 > .benefit-info-v1.contract-offer-v2__benefits {
    width: calc(100% - 22px);
    margin-top: 14px;
    padding: 25px 19px 21px;
  }

  .contract-offer-v2__cards {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .contract-offer-v2__card {
    min-height: 176px;
    padding: 17px 28px 17px 22px;
    grid-template-columns: 128px minmax(0, 1fr);
  }

  .contract-offer-v2__and::before,
  .contract-offer-v2__and::after {
    display: none;
  }
}

@media (max-width: 759px) {
  .contract-offer-v2__hero-grid {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    grid-template-rows: auto minmax(190px, auto);
  }

  .contract-offer-v2__award {
    height: 235px;
    padding: 26px 18px 22px;
  }

  .contract-offer-v2__limited {
    width: 205px;
    margin-bottom: 12px;
    padding: 7px 26px 8px;
    font-size: 19px;
  }

  .contract-offer-v2__limited::before,
  .contract-offer-v2__limited::after {
    width: 23px;
  }

  .contract-offer-v2__recipient {
    margin-bottom: 3px;
    font-size: 22px;
  }

  .contract-offer-v2__award-title {
    font-size: 62px;
  }

  .contract-offer-v2__limited-art {
    width: 190px;
    margin-bottom: 8px;
  }

  .contract-offer-v2__award-art {
    width: 220px;
  }

  .contract-offer-v2__laurel {
    width: 208px;
    margin-top: 2px;
  }

  .contract-offer-v2__product {
    min-height: 205px;
  }

  .contract-offer-v2__halo {
    width: 52vw;
  }

  .contract-offer-v2__product img {
    width: 62vw;
    margin-left: -12vw;
  }

  .contract-offer-v2__gift-copy {
    min-height: 205px;
    padding: 20px 12px 22px 0;
  }

  .contract-offer-v2__value {
    min-height: 76px;
    margin-bottom: 13px;
    padding: 5px 0 8px;
    gap: 3px;
  }

  .contract-offer-v2__value > strong {
    font-size: clamp(57px, 17vw, 82px);
  }

  .contract-offer-v2__value > span {
    font-size: clamp(16px, 4.6vw, 22px);
  }

  .contract-offer-v2__value > em {
    font-size: clamp(15px, 4vw, 20px);
  }

  .contract-offer-v2__gift-name {
    gap: 6px;
  }

  .contract-offer-v2__gift-name > span {
    font-size: clamp(18px, 5vw, 24px);
    letter-spacing: .03em;
  }

  .contract-offer-v2__gift-name > strong {
    font-size: clamp(23px, 6.2vw, 30px);
    letter-spacing: .025em;
  }

  .contract-offer-v2__hero-note {
    padding: 2px 12px 12px;
    font-size: 9px;
    line-height: 1.55;
    text-align: left;
  }

  .contract-offer-v2 > .benefit-info-v1.contract-offer-v2__benefits {
    width: calc(100% - 18px);
    margin: 11px auto 18px;
    padding: 20px 12px 18px;
    border-radius: 10px;
  }

  .contract-offer-v2__benefits-heading {
    margin-bottom: 17px;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    gap: 10px;
  }

  .contract-offer-v2__benefits-heading small {
    margin-bottom: 2px;
    font-size: 10px;
    letter-spacing: .12em;
  }

  .contract-offer-v2__benefits-heading h2 {
    font-size: clamp(21px, 6vw, 27px);
    letter-spacing: .04em;
  }

  .contract-offer-v2__cards {
    gap: 42px;
  }

  .contract-offer-v2__card {
    min-height: 132px;
    padding: 13px 14px 13px 11px;
    grid-template-columns: clamp(80px, 24vw, 104px) minmax(0, 1fr);
    gap: clamp(10px, 3.2vw, 15px);
    border-radius: 8px;
    background:
      linear-gradient(135deg, var(--offer-navy) 0 18px, transparent 19px) top left / 40px 40px no-repeat,
      linear-gradient(104deg, rgba(237, 247, 253, .95) 0 29%, #fff 29% 100%);
  }

  .contract-offer-v2__card::before {
    inset: 7px -6px -7px 7px;
  }

  .contract-offer-v2__card--brokerage {
    background:
      linear-gradient(135deg, var(--offer-navy) 0 18px, transparent 19px) top left / 40px 40px no-repeat,
      linear-gradient(315deg, var(--offer-blue) 0 18px, transparent 19px) bottom right / 40px 40px no-repeat,
      linear-gradient(104deg, rgba(237, 247, 253, .95) 0 29%, #fff 29% 100%);
  }

  .contract-offer-v2__medallion {
    padding: 4px;
    box-shadow:
      0 0 0 6px rgba(255, 255, 255, .68),
      0 6px 14px rgba(18, 76, 117, .12);
  }

  .contract-offer-v2__card-copy > small {
    margin-bottom: 3px;
    font-size: clamp(10px, 3vw, 13px);
  }

  .contract-offer-v2__card-copy > strong {
    font-size: clamp(20px, 5.8vw, 25px);
    letter-spacing: .035em;
  }

  .contract-offer-v2__card-copy > p {
    margin-top: 4px;
    flex-wrap: wrap;
    gap: 3px;
  }

  .contract-offer-v2__card-copy > p > span {
    flex-basis: 100%;
    margin-right: 0;
    font-size: 10px;
  }

  .contract-offer-v2__card-copy > p > b {
    font-size: clamp(42px, 12.5vw, 54px);
  }

  .contract-offer-v2__card-copy > p > em {
    font-size: 15px;
  }

  .contract-offer-v2__and {
    width: 34px;
    font-size: 17px;
  }

  .contract-offer-v2__benefits-note {
    margin-top: 17px;
    font-size: 9px;
    line-height: 1.55;
    text-align: left;
  }
}

@media (max-width: 759px) {
  .contract-offer-v2__mobile-reference {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  .contract-offer-v2__mobile-reference-combined {
    display: block;
    width: 100%;
    height: auto;
  }

  .contract-offer-v2 > .contract-benefit-v1.contract-offer-v2__hero,
  .contract-offer-v2 > .benefit-info-v1.contract-offer-v2__benefits {
    display: none;
  }

  .contract-offer-v2__mobile-note-break {
    display: block;
  }

  .contract-offer-v2__hero-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .contract-offer-v2__award {
    height: 220px;
    background:
      linear-gradient(rgba(3, 31, 61, .2), rgba(3, 31, 61, .36)),
      url("assets/images/contract-offer-mobile-navy-texture-v1.webp") center / cover no-repeat,
      var(--offer-navy-deep);
  }

  .contract-offer-v2__product {
    min-height: 190px;
  }

  .contract-offer-v2__halo {
    width: 74vw;
  }

  .contract-offer-v2__product img {
    width: 82vw;
    margin-left: 0;
  }

  .contract-offer-v2__gift-copy {
    min-height: 194px;
    padding: 6px 25px 24px;
  }

  .contract-offer-v2__value > strong {
    font-size: 72px;
  }

  .contract-offer-v2__card {
    grid-template-columns: 77px minmax(0, 1fr);
  }

  .contract-offer-v2__benefits-heading h2 > span {
    display: block;
  }
}

@media (min-width: 760px) and (max-width: 959px) {
  .contract-offer-v2__halo {
    width: min(40vw, 360px);
  }

  .contract-offer-v2__product img {
    width: min(38vw, 350px);
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contract-offer-v2 *,
  .contract-offer-v2 *::before,
  .contract-offer-v2 *::after {
    scroll-behavior: auto !important;
  }
}

/* 2026-09-04 client revisions: mobile offer note, price notes and 3SLDK badge. */
.contract-offer-v2__mobile-reference-aircon-note {
  display: none;
}

.nagao-lot-v11__price {
  grid-template-columns: auto max-content minmax(0, 1fr) !important;
}

.property-price-unit {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: clamp(5px, .5vw, 8px);
  white-space: nowrap;
}

.property-price-unit > .property-price-note {
  display: inline-block;
  align-self: baseline;
  margin: 0;
  color: #60758b;
  font-family: var(--sans);
  font-size: clamp(8px, .72vw, 10px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: nowrap;
}

.property-status-badge__text {
  display: flex;
  width: 100%;
  min-height: 42px;
  padding: 7px 14px;
  border: 1.5px solid #17b9d8;
  border-radius: 999px;
  color: #062f61;
  background: linear-gradient(90deg, #f8fdff, #eef9fd 48%, #f8fdff);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .8), 0 2px 5px rgba(22, 123, 164, .12);
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--serif);
  font-size: clamp(12px, 1.05vw, 16px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .035em;
  white-space: nowrap;
}

.property-status-badge__text i {
  color: #13b8d6;
  font-family: var(--sans);
  font-size: 1.2em;
  font-style: normal;
  font-weight: 400;
}

@media (max-width: 759px) {
  .contract-offer-v2__mobile-reference {
    position: relative;
  }

  .contract-offer-v2__mobile-reference-aircon-note {
    position: absolute;
    z-index: 1;
    top: 46.5%;
    right: 5.64%;
    display: block;
    width: 88.72%;
    margin: 0;
    color: #284868;
    font-family: var(--serif);
    font-size: clamp(8px, 2.564vw, 19.5px);
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: .03em;
    text-align: right;
    pointer-events: none;
  }

  .nagao-lot-v11__specs .detail-spec-mobile__price small {
    display: block;
    margin-top: 3px;
    color: #60758b;
    font-family: var(--sans);
    font-size: clamp(7.5px, 2.15vw, 9px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .property-status-badge__text {
    min-height: 34px;
    padding: 6px 10px;
    gap: 5px;
    font-size: clamp(9px, 2.7vw, 10.5px);
  }
}
