/* The home page is an overview; depth lives on the linked detail pages. */
/* The requested identity stays at the entrance; the cutout and copy never share a face area. */
body.compact-home.renewal-home .brand-header { height: 80px; }
body.compact-home.renewal-home .brand-header .wordmark { display: flex; flex-direction: column; gap: 3px; line-height: 1.1; }
body.compact-home.renewal-home .wordmark-subtitle { font: 400 13px/1.4 var(--body-font); letter-spacing: .035em; color: #b9b5a8; }
body.compact-home.renewal-home .signature-hero .hero-photograph { height: 648px; min-height: 648px; max-height: none; }
body.compact-home.renewal-home .signature-hero .hero-photograph::after,
body.compact-home.renewal-home .signature-hero .hero-caption::before { content: none; }
body.compact-home.renewal-home .signature-hero .hero-shot-person {
  inset: 16px 0 auto auto; width: 390px; max-width: 100%; height: 260px;
  clip-path: none; mask-image: linear-gradient(to bottom,#000 85%,transparent);
}
body.compact-home.renewal-home .signature-hero .hero-shot-person img { object-fit: contain; object-position: right center; }
body.compact-home.renewal-home .signature-hero .hero-caption { bottom: 48px; }
body.compact-home.renewal-home .signature-label { margin: 0 0 16px; font: 400 14px/1.5 var(--body-font); letter-spacing: .06em; color: #b9b5a8; }
body.compact-home.renewal-home .signature-hero h1 { font-size: clamp(1.75rem,8.2vw,2.6rem); line-height: 1.55; letter-spacing: -.025em; margin: 0 0 24px; background: transparent; }
body.compact-home.renewal-home .signature-identity { margin-bottom: 24px; }
body.compact-home.renewal-home .signature-role { font-size: 15px; line-height: 1.8; color: #ece8de; margin: 0 0 8px; }
body.compact-home.renewal-home .signature-role span { display: inline-block; }
body.compact-home.renewal-home .signature-venue { font-size: 13px; line-height: 1.8; color: #b9b5a8; margin: 0; }
body.compact-home.renewal-home .brand-section { padding-block: 64px; }
body.compact-home.renewal-home .section-label { margin-bottom: 24px; }
body.compact-home.renewal-home .section-label :is(h2,p) { margin: 0; }
body.compact-home.renewal-home .section-en { font: 400 clamp(3rem,4.5vw,3.5rem)/1.1 var(--latin-font); }
body.compact-home.renewal-home .about-layout { grid-template-columns: 1fr; gap: 32px; }
body.compact-home.renewal-home .about-identity { grid-template-columns: 128px minmax(0,1fr); gap: 24px; }
body.compact-home.renewal-home .portrait-block,
body.compact-home.renewal-home .portrait-block img { width: 128px; height: 128px; }
body.compact-home.renewal-home .about-title h3 { font: 500 28.8px/1.4 var(--heading-font); margin: 0 0 8px; }
body.compact-home.renewal-home .about-title p { font-size: 15px; }
body.compact-home.renewal-home .about-title .identity-en { font-size: 12px; }
body.compact-home.renewal-home .about-summary { margin: 24px 0; max-width: 40ic; font-size: 16px; line-height: 1.9; }
body.compact-home.renewal-home .venue-teaser { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding-top: 24px; border-top: 1px solid var(--rule); align-items: start; }
body.compact-home.renewal-home .venue-teaser img { width: 96px; height: 96px; object-fit: cover; border-radius: 2px; }
body.compact-home.renewal-home .venue-teaser h3 { font: 500 24px/1.2 var(--latin-font); margin: 0 0 8px; }
body.compact-home.renewal-home .venue-teaser p { font-size: 13px; color: #5b625c; line-height: 1.7; margin: 0 0 4px; }
body.compact-home.renewal-home .venue-teaser .text-link { font-size: 14px; gap: 12px; }
body.compact-home.renewal-home .products-section-new {
  --foreground: #ece8de; --muted: #b9b5a8; --accent: #c07a86;
  color: #ece8de; background: var(--dark); border: 0;
}
body.compact-home.renewal-home .teaser-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
body.compact-home.renewal-home .teaser-card {
  --foreground: #1e2622; --muted: #5b625c; --accent: #7a2e3a;
  display: flex; flex-direction: column; padding: 24px;
  background: var(--card); color: #1e2622; border-radius: 8px;
}
body.compact-home.renewal-home .teaser-logo { height: 64px; margin: 0 0 16px; display: flex; align-items: center; }
body.compact-home.renewal-home .teaser-logo img { width: 172px; max-width: 100%; height: 56px; object-fit: contain; object-position: left center; }
body.compact-home.renewal-home .teaser-logo .vinq-wordmark { font: 500 36px/1 var(--latin-font); letter-spacing: .08em; }
body.compact-home.renewal-home .teaser-label { font-size: 13px; color: #7a2e3a; margin: 0 0 8px; }
body.compact-home.renewal-home .teaser-label:has(.teaser-state) { display:flex; justify-content:space-between; align-items:center; gap:8px; }
body.compact-home.renewal-home .teaser-state { flex-shrink:0; font-size:13px; border:1px solid #7a2e3a; border-radius:2px; padding:1px 6px; }
body.compact-home.renewal-home .teaser-card h3 { font: 500 24px/1.5 var(--heading-font); margin: 0 0 16px; letter-spacing: 0; }
body.compact-home.renewal-home .teaser-card .text-link { color: #1e2622 !important; margin-top: auto; width: 100%; }
body.compact-home.renewal-home .product-entry-links { display: grid; gap: 8px; margin-top: 24px; }
body.compact-home.renewal-home .product-entry-links .outline-cta { width: 100%; color: #ece8de !important; }
body.compact-home.renewal-home .product-entry-links .outline-cta:hover { background: var(--dark-2); }
body.compact-home.renewal-home .product-entry-links .text-link { width: fit-content; color: #ece8de !important; }
body.compact-home.renewal-home .availability { color: #b9b5a8; margin-top: 16px; font-size: 13px; }
body.compact-home.renewal-home .journal-section {
  --foreground: #1e2622; --muted: #5b625c; --accent: #7a2e3a;
  background: var(--paper); color: #1e2622;
}
body.compact-home.renewal-home .journal-entries { display: grid; gap: 0; }
body.compact-home.renewal-home .nav-row { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--rule); color: #1e2622; }
body.compact-home.renewal-home .nav-row:first-child { border-top: 1px solid var(--rule); }
body.compact-home.renewal-home .nav-row h3 { font: 500 17px/1.7 var(--body-font); margin: 0 0 4px; }
body.compact-home.renewal-home .nav-row p { font-size: 13px; line-height: 1.8; color: #5b625c; margin: 0; }
body.compact-home.renewal-home .nav-row > span { align-self: center; font-size: 22px; transition: transform .25s; }
body.compact-home.renewal-home .nav-row:hover > span { transform: translateX(4px); }
body.compact-home.renewal-home .nav-row:hover { border-color: #7a2e3a; }
body.compact-home.renewal-home .contact-section-new { padding-block: 72px; }
body.compact-home.renewal-home .contact-section-new #contact-title { margin-bottom: 24px; }
body.compact-home.renewal-home .contact-section-new .section-label { margin-bottom: 24px; }
@media (max-width:767px) {
  body.compact-home.renewal-home .signature-hero { --mobile-photo-height:clamp(352px,102.4vw,432px); }
  body.compact-home.renewal-home .signature-hero .hero-photograph {
    height:calc(392px + var(--mobile-photo-height));
    min-height:calc(392px + var(--mobile-photo-height));
  }
  body.compact-home.renewal-home .signature-hero .hero-shot-person { height:var(--mobile-photo-height); }
}
@media (min-width:768px) {
  body.compact-home.renewal-home .signature-hero .hero-photograph { height: 744px; min-height: 744px; }
  body.compact-home.renewal-home .signature-hero .hero-shot-person { top: 24px; width: 504px; height: 336px; }
  body.compact-home.renewal-home .signature-hero h1 { font-size: 42px; }
  body.compact-home.renewal-home .signature-role { font-size: 16px; }
  body.compact-home.renewal-home .signature-venue { font-size: 14px; }
  body.compact-home.renewal-home .brand-section { padding-block: 80px; }
  body.compact-home.renewal-home .about-summary { font-size: 17px; }
  body.compact-home.renewal-home .contact-section-new { padding-block: 96px; }
}
@media (min-width:1024px) {
  body.compact-home.renewal-home .brand-header { height: 88px; }
  body.compact-home.renewal-home .signature-hero .hero-photograph { height: min(78svh,720px); min-height: 600px; }
  body.compact-home.renewal-home .signature-hero .hero-shot-person { inset: auto 0 0 auto; width: 72%; height: 66.667%; mask-image: linear-gradient(to bottom,#000 90%,transparent); }
  body.compact-home.renewal-home .signature-hero .hero-shot-person img { object-position: right bottom; }
  body.compact-home.renewal-home .signature-hero .hero-caption { bottom: 112px; }
  body.compact-home.renewal-home .signature-hero h1 { font-size: clamp(44px,4vw,56px); max-width: 640px; line-height: 1.45; }
  body.compact-home.renewal-home .signature-label { font-size: 15px; margin-bottom: 24px; }
  body.compact-home.renewal-home .brand-section { padding-block: 96px; }
  body.compact-home.renewal-home .about-layout { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 64px; }
  body.compact-home.renewal-home .about-title h3 { font-size: 32px; }
  body.compact-home.renewal-home .venue-teaser { grid-template-columns: 144px minmax(0,1fr); padding: 0; border: 0; align-self: center; }
  body.compact-home.renewal-home .venue-teaser img { width: 144px; height: 144px; }
  body.compact-home.renewal-home .venue-teaser h3 { font-size: 28px; }
  body.compact-home.renewal-home .teaser-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  body.compact-home.renewal-home .teaser-card { min-height: 276px; }
  body.compact-home.renewal-home .product-entry-links { grid-template-columns: 280px minmax(0,1fr); align-items: center; gap: 32px; }
  body.compact-home.renewal-home .journal-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 64px; }
  body.compact-home.renewal-home .journal-layout .section-label { margin: 0; }
  body.compact-home.renewal-home .contact-section-new { padding-block: 112px; }
}
@media (max-width:374px) {
  body.compact-home.renewal-home .about-identity { grid-template-columns: 112px minmax(0,1fr); gap: 16px; }
  body.compact-home.renewal-home .portrait-block,body.compact-home.renewal-home .portrait-block img { width: 112px; height: 112px; }
}
