@font-face {
  font-family:"SHO Bodoni Moda"; src:url("assets/fonts/sho-bodoni-moda-italic-latin.woff2") format("woff2");
  font-style:italic; font-weight:400; font-display:swap;
}
/* User-selected light gray background and Mincho type. Presentation only, four pages. */
@font-face {
  font-family:"SHO Allura"; src:url("assets/fonts/sho-allura-latin.woff2") format("woff2");
  font-style:normal; font-weight:400; font-display:swap;
}
@font-face {
  font-family:"SHO Great Vibes"; src:url("assets/fonts/sho-great-vibes-latin.woff2") format("woff2");
  font-style:normal; font-weight:400; font-display:swap;
}
body.polished-home.renewal-home {
  --mincho-font:"SHO Noto Serif JP","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  --signature-font:"SHO Great Vibes","SHO Allura","Brush Script MT","Segoe Script",cursive;
  --body-font:var(--mincho-font); --heading-font:var(--mincho-font); --latin-font:var(--mincho-font);
  --sans:var(--mincho-font); --serif:var(--mincho-font); --jp-serif:var(--mincho-font);
  --ink-text:#242624; --secondary-text:#535650;
  --foreground:var(--ink-text); --muted:var(--secondary-text); --accent:#7a2e3a;
  --background:#f4f4f1; --paper:#f7f7f4; --paper-2:#e7e7e3; --card:#fcfcfa;
  --dark:#ededea; --dark-2:#e4e4df; --rule:rgba(82,85,78,.24);
  --ink:var(--ink-text); --ivory:var(--paper); --line:var(--rule); --forest:#343933;
  background:var(--paper); color:var(--ink-text); font-synthesis:none;
}
body.polished-home.renewal-home,
body.polished-home.renewal-home * { font-family:var(--mincho-font) !important; }
/* Let text inherit the current surface so legacy cream text cannot remain on gray. */
body.polished-home.renewal-home :is(h1,h2,h3,h4,p,a,span,strong,b,dt,dd,figcaption,small,label,li,button) { color:inherit !important; }
body.polished-home.renewal-home :is(.brand-header,.brand-menu,.menu-top,.brand-footer,
 .brand-section,.detail-section,.detail-masthead,.profile-hero,.venue-hero,.detail-dark,
 .teaser-card,.product-box,.wine-project,.method-panel,.venue-note,.brand-card) {
  --foreground:var(--ink-text); --muted:var(--secondary-text); --accent:#7a2e3a;
  color:var(--ink-text);
}
body.polished-home.renewal-home :is(.brand-header,.brand-menu,.menu-top) { background:#f4f4f1; }
body.polished-home.renewal-home :is(.brand-footer,.products-section-new,.field-section,.philosophy-section) { background:var(--dark); }
body.polished-home.renewal-home :is(.contact-section-new,.profile-contact) { background:#e5e5e1; }
body.polished-home.renewal-home :is(.about-section-new,.journal-section,.profile-background,.brand-links,.venue-intro) { background:var(--paper); }
/* One restrained backdrop, without image downloads, filters or animation. */
body.polished-home.renewal-home :is(.signature-hero .hero-photograph,.detail-masthead,.profile-hero,.venue-hero) {
  background:radial-gradient(ellipse at 18% 12%,#fdfdfb 0%,#fdfdfb00 68%),linear-gradient(120deg,#f2f2ef 0%,#e7e7e3 62%,#d7d7d3 100%);
}
body.polished-home.renewal-home .hero-caption { color:var(--ink-text); }
body.polished-home.renewal-home :is(.section-label,.section-en,.desktop-nav) { color:var(--ink-text) !important; }
body.compact-home.renewal-home .signature-hero .hero-shot-person { mask-image:linear-gradient(to bottom,#000 68%,transparent 100%); }
body.compact-home.renewal-home .signature-identity { margin-bottom:0; }
body.compact-home.renewal-home .signature-role { margin-bottom:0; }
body.polished-home.renewal-home :is(.wordmark-subtitle,.signature-label,.signature-venue,
 .section-jp,.identity-en,.about-title p,.venue-teaser p,.nav-row p,.availability,
 .product-kicker,.teaser-label,.demo-eyebrow,.demo-store,.demo-disclosure,.method-number,
 .profile-role,.profile-venue,.profile-intro > p:not(.profile-statement),.background-grid p,.brand-status,
 .venue-intro p,.field-copy > p,.method-intro > p,.method-panel > p:not(.method-number),
 .product-copy > p:not(.product-kicker),.wine-project p,.menu-foot,.menu-links a span,
 .footer-purpose,.footer-bottom,.venue-note span) { color:var(--secondary-text) !important; }
body.polished-home.renewal-home :is(.nav-toggle,.nav-close) { color:var(--ink-text); border-color:#777972; }
body.polished-home.renewal-home .brand-header .wordmark { font-size:20px; letter-spacing:.08em; }
body.polished-home.renewal-home .wordmark-subtitle { letter-spacing:.025em; }
body.polished-home.renewal-home .profile-venue { font-size:13px; line-height:1.7; margin:4px 0 0; }
body.polished-home.renewal-home :is(.text-link,.outline-cta,.combined-link,.gold-cta,.inline-link) { color:var(--ink-text) !important; }
body.compact-home.renewal-home .product-entry-links :is(.outline-cta,.text-link),
body.compact-home.renewal-home .teaser-card .text-link { color:var(--ink-text) !important; }
body.polished-home.renewal-home :is(.outline-cta,.combined-link,.gold-cta) { background:transparent; border-color:#666960; }
body.polished-home.renewal-home :is(.outline-cta,.combined-link,.gold-cta):hover,
body.compact-home.renewal-home .product-entry-links .outline-cta:hover,
body.detail-page.renewal-home .detail-dark :is(.outline-cta,.combined-link):hover { background:var(--paper-2); }
body.polished-home.renewal-home :is(.button-primary,.button-light,.detail-primary) {
  background:var(--ink-text); border-color:var(--ink-text); color:#fcfcfa !important;
}
body.polished-home.renewal-home :is(.button-primary,.button-light,.detail-primary):hover { background:#3c403a; border-color:#3c403a; }
body.detail-page.renewal-home .detail-primary,
body.detail-page.renewal-home .detail-primary:hover { color:#fcfcfa !important; }
body.polished-home.renewal-home :is(.teaser-card,.product-box,.wine-project,.method-panel,.brand-card,.background-grid article) { background:var(--card); }
body.polished-home.renewal-home .product-logo { background:var(--card); }
body.polished-home.renewal-home :is(.product-demo,.venue-note,.journal-support) { background:var(--paper-2); border-color:var(--rule); }
body.polished-home.renewal-home :is(.method-controls button,.demo-controls button) { background:transparent; border-color:#72766c; }
body.polished-home.renewal-home :is(.method-controls button,.demo-controls button):hover { background:var(--paper-2); color:var(--ink-text) !important; }
body.polished-home.renewal-home .method-controls button[aria-selected="true"],
body.polished-home.renewal-home .product-demo .demo-controls button[aria-pressed="true"] {
  background:var(--ink-text); border-color:var(--ink-text); color:#fcfcfa !important;
}
body.polished-home.renewal-home .hero-concept .concept-scene :is(path,circle) { stroke:var(--ink-text); }
body.polished-home.renewal-home .hero-concept .concept-scene :is(.insight-ring,.system-frame) { fill:var(--dark); }
body.polished-home.renewal-home .hero-concept .concept-scene .system-node { fill:var(--ink-text); }
body.polished-home.renewal-home .hero-concept .concept-arrow { stroke:#7a2e3a; }
body.polished-home.renewal-home .follow-line i { background:var(--paper-2); }
body.polished-home.renewal-home .follow-line i.is-active { background:var(--ink-text); border-color:var(--ink-text); }
@media (max-width:767px) {
  /* Lift the headline and role together while retaining the portrait and Hero height. */
  body.compact-home.renewal-home .signature-hero .hero-caption { bottom:72px; }
  /* The repeated Hero label is removed; the approved portrait dimensions stay unchanged. */
  body.compact-home.renewal-home .signature-hero .hero-photograph {
    height:calc(256px + var(--mobile-photo-height)); min-height:calc(256px + var(--mobile-photo-height));
  }
}
@media (min-width:768px) and (max-width:1023px) {
  body.compact-home.renewal-home .signature-hero .hero-photograph { height:624px; min-height:624px; }
}
@media (min-width:1024px) {
  body.polished-home.renewal-home .brand-header .wordmark { font-size:24px; }
  body.compact-home.renewal-home .signature-hero .hero-caption { top:50%; bottom:auto; transform:translateY(-50%); }
}

/* Header signature: the adopted script name alone, without a subtitle or decorative rule. */
body.polished-home.renewal-home .brand-header { border-bottom:1px solid rgba(82,85,78,.16); }
body.polished-home.renewal-home .brand-header-inner { gap:16px; }
body.polished-home.renewal-home .brand-header .wordmark {
  display:inline-flex; align-items:center; flex:0 0 auto;
  line-height:1.1; letter-spacing:.12em; padding-block:4px;
}
body.polished-home.renewal-home .wordmark {
  font-family:var(--signature-font) !important; font-size:36px;
  font-weight:400; letter-spacing:.018em;
}
body.polished-home.renewal-home .brand-menu .wordmark {
  display:inline-flex; align-items:center; min-height:44px; padding-block:0; line-height:1.2;
}
body.polished-home.renewal-home .brand-header .wordmark > span:first-child {
  font-family:var(--signature-font) !important;
  font-size:36px; font-weight:400; line-height:1.05; letter-spacing:.018em;
}
body.polished-home.renewal-home .brand-header .nav-toggle {
  width:44px; height:44px; flex:0 0 44px; border:1px solid #b9bdb4;
  border-radius:2px; background:#f7f7f4;
  transition:color .25s,background-color .25s,border-color .25s;
}
body.polished-home.renewal-home .brand-header .nav-toggle:hover {
  background:#eaece6; border-color:#7a2e3a;
}
body.polished-home.renewal-home .brand-header :is(.wordmark,.nav-toggle):focus-visible {
  outline:2px solid #7a2e3a; outline-offset:4px;
}
@media (prefers-reduced-motion:reduce) {
  body.polished-home.renewal-home .brand-header .nav-toggle { transition:none; }
}
@media (min-width:1024px) {
  body.polished-home.renewal-home .brand-header .wordmark > span:first-child { font-size:42px; }
}

/* TOP keeps the venue overview brief; the personal biography lives on its detail page. */
body.compact-home.renewal-home .venue-summary-section { padding-block:48px; }
body.compact-home.renewal-home .venue-summary-layout { display:grid; gap:24px; }
body.compact-home.renewal-home .venue-summary-label {
  margin:0 0 12px; font-size:14px; line-height:1.7; letter-spacing:.08em;
  color:var(--secondary-text) !important;
}
body.compact-home.renewal-home .venue-summary-heading h2 {
  margin:0 0 12px; font-size:clamp(1.75rem,3.6vw,2.5rem); line-height:1.3; letter-spacing:0;
}
body.compact-home.renewal-home .venue-summary-description { margin:0; font-size:16px; line-height:1.9; }
body.compact-home.renewal-home .venue-summary-photo { margin:0; }
/* A native horizontal rail leaves neighboring photographs visible. */
body.compact-home.renewal-home .venue-slideshow { min-width:0; --venue-card-width:86%; --venue-card-gap:16px; }
body.compact-home.renewal-home .venue-slide-viewport {
  position:relative; display:flex; gap:var(--venue-card-gap); width:100%; max-width:100%;
  margin:0; padding:0; list-style:none; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none;
  scroll-behavior:auto; touch-action:auto;
}
body.compact-home.renewal-home .venue-slide-viewport::-webkit-scrollbar { display:none; }
body.compact-home.renewal-home .venue-slide-viewport:focus-visible { outline:2px solid #7a2e3a; outline-offset:4px; }
body.compact-home.renewal-home .venue-slide {
  position:relative; flex:0 0 var(--venue-card-width); min-width:0; aspect-ratio:16 / 9;
  scroll-snap-align:start; overflow:hidden; border-radius:8px; background:#16201c;
}
body.compact-home.renewal-home .venue-slide img { display:block; width:100%; height:100%; object-fit:contain; }
body.compact-home.renewal-home .venue-slide-status {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
@media (min-width:768px) {
  body.compact-home.renewal-home .venue-slideshow { --venue-card-width:62%; --venue-card-gap:24px; }
}
@media (min-width:1024px) {
  body.compact-home.renewal-home .venue-slideshow { --venue-card-width:34%; }
}
body.compact-home.renewal-home .venue-summary-link { width:100%; min-height:44px; font-size:15px; }
@media (min-width:768px) {
  body.compact-home.renewal-home .venue-summary-section { padding-block:64px; }
}
@media (min-width:1024px) {
  body.compact-home.renewal-home .venue-summary-section { padding-block:80px; }
  body.compact-home.renewal-home .venue-summary-layout { grid-template-columns:minmax(0,1fr) auto; column-gap:48px; }
  body.compact-home.renewal-home .venue-summary-heading { grid-column:1; grid-row:1; align-self:end; }
  body.compact-home.renewal-home .venue-summary-photo { grid-column:1 / -1; grid-row:2; }
  body.compact-home.renewal-home .venue-summary-link { grid-column:2; grid-row:1; align-self:end; width:fit-content; min-width:240px; }
}

/* User-adopted English section headings: same face, size and rule on TOP only. */
body.compact-home.renewal-home {
  --section-heading-font:"SHO Bodoni Moda",serif;
  --section-heading-size:clamp(1.25rem,2vw,1.625rem);
}
body.compact-home.renewal-home :is(#about-title,#products-title,#journal-title,
 .contact-section-new > .wrap > .section-label > .section-en) {
  font-family:var(--section-heading-font) !important;
  font-size:var(--section-heading-size) !important; font-style:italic !important;
  font-weight:400 !important; line-height:1.3 !important; letter-spacing:0 !important;
  color:var(--ink-text) !important; display:inline-block; width:fit-content;
  margin:0 !important; padding:0 0 12px; border-bottom:1px solid var(--rule);
}
/* Match the requested Japanese sublabels on all four section-heading groups. */
body.compact-home.renewal-home .section-label > .section-jp {
  font-size:14px; font-style:normal; font-weight:400; line-height:1.7;
  letter-spacing:.02em; margin:0; color:var(--secondary-text) !important;
}

body.compact-home.renewal-home .venue-summary-label-group { margin-bottom:0; }

/* Match the four core-page menu links to TOP's English headings. */
body.polished-home.renewal-home .menu-links { margin-top:24px; }
body.polished-home.renewal-home .menu-links > a {
  display:grid; grid-template-columns:24px minmax(0,1fr); gap:16px;
  align-items:start; min-height:88px; padding:14px 0; letter-spacing:0;
}
body.polished-home.renewal-home .menu-links .menu-link-number {
  width:auto; font-size:12px; font-weight:400; font-style:normal; line-height:1.7;
  letter-spacing:.06em; padding-top:7px;
}
body.polished-home.renewal-home .menu-links .menu-link-copy {
  display:grid; gap:4px; min-width:0; width:auto; padding:0; letter-spacing:0;
}
body.polished-home.renewal-home .brand-menu .menu-links .menu-link-en {
  font-family:"SHO Bodoni Moda",serif !important;
  font-size:clamp(1.25rem,2vw,1.625rem); font-weight:400; font-style:italic; line-height:1.3;
  color:var(--ink-text) !important; letter-spacing:0;
}
body.polished-home.renewal-home .menu-links .menu-link-jp {
  font-size:14px; font-weight:400; font-style:normal; line-height:1.7; letter-spacing:.02em;
  color:var(--secondary-text) !important;
}
body.polished-home.renewal-home .desktop-nav > a {
  font-family:"SHO Bodoni Moda",serif !important; font-size:18px;
  font-style:italic; font-weight:400; letter-spacing:0;
}
body.compact-home.renewal-home .contact-section-new #contact-title {
  font-size:clamp(1.25rem,2.4vw,1.75rem); font-weight:400; line-height:1.8;
}
body.compact-home.renewal-home .contact-section-new .button-light { font-size:16px; }

/* Append after compact.css/mist-mincho.css. Only the TOP product rail is affected. */
body.compact-home.renewal-home .product-slideshow {
  min-width:0; --product-card-width:86%; --product-card-gap:16px;
}
body.compact-home.renewal-home .teaser-grid.product-slide-viewport {
  position:relative; display:flex; gap:var(--product-card-gap); width:100%; max-width:100%;
  margin:0; padding:4px 0 8px; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none;
  scroll-behavior:auto; touch-action:auto; align-items:stretch;
}
body.compact-home.renewal-home .product-slide-viewport::-webkit-scrollbar { display:none; }
body.compact-home.renewal-home .product-slide-viewport:focus-visible {
  outline:2px solid #7a2e3a; outline-offset:4px;
}
body.compact-home.renewal-home .product-slide-viewport > .teaser-card {
  box-sizing:border-box; flex:0 0 var(--product-card-width); min-width:0;
  scroll-snap-align:start; min-height:276px;
}
body.compact-home.renewal-home .product-slide-status {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
@media (min-width:768px) {
  body.compact-home.renewal-home .product-slideshow { --product-card-width:62%; }
}
@media (min-width:1024px) {
  body.compact-home.renewal-home .product-slideshow {
    --product-card-width:calc((100% - 48px) / 3); --product-card-gap:24px;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.compact-home.renewal-home .product-slide-viewport { scroll-behavior:auto; }
}

/* Append after mist-mincho.css; this modifier is present only on the four core pages. */
body.polished-home.renewal-home .brand-footer.brand-footer-editorial {
  --footer-background:#202321;
  --footer-text:#f4f4f1;
  --footer-muted:#c5c6be;
  --footer-rule:rgba(244,244,241,.30);
  --foreground:var(--footer-text);
  --muted:var(--footer-muted);
  padding:56px 24px 32px;
  border:0;
  background:var(--footer-background);
  color:var(--footer-text);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-inner {
  width:100%; max-width:360px; margin-inline:auto;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-identity {
  text-align:center;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:64px; max-width:100%; padding:4px 0;
  font-family:var(--signature-font) !important;
  font-size:44px; font-weight:400; font-style:normal;
  line-height:1.2; letter-spacing:.018em;
  color:var(--footer-text) !important; text-decoration:none;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-role {
  margin:4px 0 0; font-size:14px; line-height:1.9;
  letter-spacing:.015em; color:var(--footer-muted) !important;
  text-wrap:balance;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social {
  display:flex; justify-content:center; gap:12px; margin:24px 0 28px;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social a {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border:1px solid var(--footer-rule); border-radius:50%;
  font-size:14px; line-height:1; color:var(--footer-text) !important;
  text-decoration:none;
  transition:background-color .25s,border-color .25s;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-nav {
  border-top:1px solid var(--footer-rule);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; min-width:0; min-height:52px;
  padding:12px 4px; margin:0; border-bottom:1px solid var(--footer-rule);
  font-family:"SHO Bodoni Moda",serif !important;
  font-size:24px; font-weight:400; font-style:italic;
  line-height:1.2; letter-spacing:0;
  color:var(--footer-text) !important; text-decoration:none;
  transition:background-color .25s,padding-inline .25s;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-products {
  margin:0; padding:0; border:0;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-products summary {
  list-style:none; cursor:pointer;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-products summary::-webkit-details-marker {
  display:none;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-chevron {
  flex:0 0 8px; width:8px; height:8px; margin-right:4px;
  border-right:1px solid currentColor; border-bottom:1px solid currentColor;
  transform:rotate(45deg); transition:transform .25s;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-products[open] .footer-editorial-chevron {
  transform:rotate(225deg);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-product-links {
  display:grid; gap:0; padding:8px 16px;
  border-bottom:1px solid var(--footer-rule); background:rgba(244,244,241,.035);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-product-links a {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:44px; padding:8px 0; font-size:15px; line-height:1.6;
  color:var(--footer-muted) !important; text-decoration:none;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-product-links a span {
  color:inherit !important;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-legal {
  display:grid; justify-items:center; gap:16px; margin-top:24px;
  text-align:center; color:var(--footer-muted);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-legal a {
  display:inline-flex; align-items:center; min-height:44px;
  font-size:14px; line-height:1.7; color:var(--footer-muted) !important;
  text-decoration:none;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-legal p {
  margin:0; font-size:13px; line-height:1.8; letter-spacing:.035em;
  color:var(--footer-muted) !important;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row:hover,
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-products[open] > summary {
  padding-inline:12px; background:rgba(244,244,241,.06);
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social a:hover {
  border-color:var(--footer-text); background:rgba(244,244,241,.08);
}
body.polished-home.renewal-home .brand-footer-editorial :is(.footer-editorial-product-links a,.footer-editorial-legal a):hover {
  color:var(--footer-text) !important; text-decoration:underline; text-underline-offset:4px;
}
body.polished-home.renewal-home .brand-footer-editorial :is(a,summary):focus-visible {
  outline:2px solid var(--footer-text); outline-offset:4px; border-radius:2px;
}
@media (max-width:359px) {
  body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature { font-size:40px; }
  body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row { font-size:22px; }
}
@media (min-width:768px) {
  body.polished-home.renewal-home .brand-footer.brand-footer-editorial { padding-block:72px 40px; }
  body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature { font-size:52px; min-height:72px; }
  body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social { margin-block:24px 32px; }
  body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row { min-height:56px; }
}
@media (prefers-reduced-motion:reduce) {
  body.polished-home.renewal-home .brand-footer-editorial :is(a,summary,.footer-editorial-chevron) { transition:none; }
}

/* Quieter typography across the polished pages; retain all existing tap targets. */
body.polished-home.renewal-home { font-size:15px; }
body.polished-home.renewal-home .wordmark { font-size:28px; }
body.polished-home.renewal-home .brand-header .wordmark { min-height:44px; }
body.polished-home.renewal-home .brand-header .wordmark > span:first-child { font-size:28px; }
body.polished-home.renewal-home .section-label > .section-jp,
body.polished-home.renewal-home .menu-links .menu-link-jp,
body.polished-home.renewal-home .menu-foot { font-size:13px; }
body.polished-home.renewal-home .desktop-nav > a { font-size:16px; }
body.compact-home.renewal-home .signature-hero h1 { font-size:clamp(1.5rem,6.4vw,2rem); }
body.compact-home.renewal-home .signature-role { font-size:14px; }
body.compact-home.renewal-home .teaser-card h3 { font-size:20px; }
body.compact-home.renewal-home .nav-row h3 { font-size:15px; }
body.compact-home.renewal-home :is(.text-link,.outline-cta) { font-size:14px; }
body.compact-home.renewal-home .contact-section-new #contact-title { font-size:clamp(1.125rem,1.8vw,1.375rem); }
body.compact-home.renewal-home .contact-section-new .button-light { font-size:15px; }
body.polished-home.detail-page.renewal-home main :is(p,li) { font-size:15px; }
body.polished-home.detail-page.renewal-home main h2 { font-size:clamp(1.5rem,2.8vw,2rem); }
body.polished-home.detail-page.renewal-home main h3 { font-size:18px; }
body.polished-home.profile-detail.renewal-home .profile-name h1 { font-size:clamp(26px,2.5vw,32px); }
body.polished-home.profile-detail.renewal-home .profile-intro .profile-statement { font-size:clamp(20px,2.2vw,26px); }
body.polished-home.product-detail.renewal-home .products-intro h1 { font-size:clamp(24px,2.7vw,34px); }
body.polished-home.venue-detail.renewal-home .venue-hero h1 { font-size:clamp(32px,4vw,52px); }
body.polished-home.venue-detail.renewal-home .venue-hero div > p:last-child { font-size:20px; }
body.polished-home.detail-page.renewal-home main :is(.kicker,.product-kicker,.brand-status,.availability,.method-number,.demo-disclosure,.demo-eyebrow) { font-size:13px; }
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature { font-size:34px; min-height:52px; }
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-role,
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social a,
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-legal a { font-size:13px; }
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row { font-size:20px; }
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-product-links a { font-size:14px; }
@media (max-width:359px) {
 body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature { font-size:32px; }
 body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-row { font-size:18px; }
}
@media (min-width:768px) {
 body.compact-home.renewal-home .signature-hero h1 { font-size:clamp(28px,4vw,36px); }
 body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-signature { font-size:40px; min-height:60px; }
}
@media (min-width:1024px) {
 body.polished-home.renewal-home .brand-header .wordmark > span:first-child { font-size:32px; }
 body.compact-home.renewal-home .signature-hero h1 { font-size:clamp(36px,3.2vw,44px); }
}

/* Load after mist-mincho.css. Main-area styling only; core header/menu/footer stay shared. */
body.polished-home.renewal-home.secondary-page {
  font-size:15px; line-height:1.9; background:var(--paper); color:var(--ink-text);
}
body.secondary-page :is(.vinq-main,.contact-main) { min-width:0; }
body.secondary-page :is(.vinq-main,.contact-main) :is(p,li) {
  font-size:15px; line-height:1.9; text-wrap:pretty;
}
body.secondary-page :is(.vinq-main,.contact-main) :is(h1,h2) {
  font-family:var(--mincho-font) !important; font-weight:500; font-style:normal;
  letter-spacing:.015em; line-height:1.65; text-wrap:balance; color:var(--ink-text) !important;
}
body.secondary-page :is(.vinq-main,.contact-main) :is(a,button):focus-visible {
  outline:2px solid #7a2e3a; outline-offset:4px;
}
body.secondary-page :is(.vinq-main,.contact-main) :is(.kicker,.section-label) {
  display:inline-block; width:fit-content; margin:0 0 20px; padding:0 0 10px;
  border-bottom:1px solid var(--rule); color:var(--ink-text) !important;
  font-family:"SHO Bodoni Moda",serif !important; font-style:italic; font-weight:400;
  font-size:20px; line-height:1.3; letter-spacing:0;
}

/* VINQ: existing description and image; no app embed, iframe or runtime calls. */
body.secondary-page.vinq-page .vinq-main { background:var(--paper); }
body.secondary-page.vinq-page .vinq-hero {
  display:grid; grid-template-columns:minmax(0,1fr); gap:24px;
  width:min(100% - 48px,1160px); max-width:1160px; margin-inline:auto;
  padding:48px 0; background:transparent; color:var(--ink-text);
}
body.secondary-page.vinq-page .vinq-hero > div { min-width:0; }
body.secondary-page.vinq-page .vinq-hero .vinq-word {
  display:grid; gap:4px; margin:0 0 20px; color:var(--ink-text);
}
body.secondary-page.vinq-page .vinq-word b {
  font-family:var(--mincho-font) !important; font-size:36px; font-weight:500;
  line-height:1.2; letter-spacing:.04em;
}
body.secondary-page.vinq-page .vinq-word small {
  font-size:13px; font-weight:400; line-height:1.7; letter-spacing:.035em;
  color:var(--secondary-text) !important;
}
body.secondary-page.vinq-page .vinq-hero h1 { font-size:24px; margin:0 0 20px; }
body.secondary-page.vinq-page .vinq-hero > div > p:not(.kicker) {
  max-width:40em; margin:0 0 24px; color:var(--secondary-text) !important;
}
body.secondary-page.vinq-page .vinq-hero > img {
  display:block; width:100%; height:auto; aspect-ratio:3 / 2;
  object-fit:contain; border-radius:8px; background:var(--dark);
}
body.secondary-page.vinq-page .vinq-hero .gold-cta {
  display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:52px;
  margin:0; padding:12px 20px; border:1px solid var(--ink-text); border-radius:2px;
  background:var(--ink-text); color:#fcfcfa !important; font-size:15px; line-height:1.7;
  text-decoration:none; transition:background-color .25s,border-color .25s;
}
body.secondary-page.vinq-page .vinq-hero .gold-cta:hover {
  background:#3c403a; border-color:#3c403a;
}
body.secondary-page.vinq-page .profile-details {
  width:min(100% - 48px,1160px); max-width:1160px; margin-inline:auto; padding:32px 0 56px;
  border-top:1px solid var(--rule); background:transparent; color:var(--ink-text);
}
body.secondary-page.vinq-page .profile-details h2 { max-width:32em; margin:0 0 16px; font-size:22px; }
body.secondary-page.vinq-page .profile-details > p {
  max-width:40em; margin:0 0 24px; color:var(--secondary-text) !important;
}
body.secondary-page.vinq-page .profile-details .outline-cta {
  display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:52px;
  padding:12px 20px; border:1px solid #666960; border-radius:2px;
  background:transparent; color:var(--ink-text) !important; font-size:15px; line-height:1.7;
  text-decoration:none; transition:background-color .25s;
}
body.secondary-page.vinq-page .profile-details .outline-cta:hover { background:var(--paper-2); }

/* Contact: only visual layout. Action, fields, validation, disabled and preview guards stay intact. */
body.secondary-page.contact-page .contact-main {
  width:min(100% - 48px,760px); max-width:760px; margin-inline:auto; padding:48px 0 56px;
  background:transparent; color:var(--ink-text);
}
body.secondary-page.contact-page .contact-main h1 { margin:0 0 20px; font-size:24px; }
body.secondary-page.contact-page .contact-main > p:not(.section-label) {
  margin:0 0 16px; color:var(--secondary-text) !important;
}
body.secondary-page.contact-page .contact-main .availability { font-size:13px; line-height:1.8; }
body.secondary-page.contact-page .contact-form {
  display:grid; gap:24px; margin-top:32px; padding:24px 20px;
  border:1px solid var(--rule); border-radius:8px; background:var(--card); color:var(--ink-text);
}
body.secondary-page.contact-page .contact-form label {
  display:flex; flex-direction:column; gap:8px; margin:0;
  font-size:15px; font-weight:400; line-height:1.7;
}
body.secondary-page.contact-page .contact-form :is(input,select,textarea) {
  box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0;
  min-height:52px; margin:0; padding:12px 14px; border:1px solid #787c73; border-radius:2px;
  font-family:var(--mincho-font) !important; font-size:16px; line-height:1.6;
  background:var(--paper); color:var(--ink-text);
}
body.secondary-page.contact-page .contact-form textarea { min-height:180px; resize:vertical; }
body.secondary-page.contact-page .contact-form :is(input,select,textarea):focus-visible {
  outline:2px solid #7a2e3a; outline-offset:3px;
}
body.secondary-page.contact-page .contact-form :is(input,select,textarea):disabled {
  opacity:1; background:var(--dark); color:var(--secondary-text); cursor:not-allowed;
}
body.secondary-page.contact-page .contact-form .availability { margin:0; color:var(--secondary-text) !important; }
body.secondary-page.contact-page .contact-form .availability a {
  color:var(--ink-text) !important; min-height:44px; text-decoration:underline; text-underline-offset:4px;
}
body.secondary-page.contact-page .contact-form .button-primary {
  justify-self:stretch; display:inline-flex; align-items:center; justify-content:center;
  gap:20px; width:100%; min-height:52px; margin:0; padding:12px 20px;
  border:1px solid var(--ink-text); border-radius:2px; background:var(--ink-text);
  color:#fcfcfa !important; font-size:15px; line-height:1.7;
}
body.secondary-page.contact-page .contact-form .button-primary:disabled {
  opacity:1; background:var(--dark); color:var(--secondary-text) !important;
  border-color:#787c73; cursor:not-allowed;
}
body.secondary-page.contact-page .contact-form .button-primary:disabled span { color:inherit !important; }
body.secondary-page.contact-page .form-message {
  margin:0; padding:16px; border:1px solid var(--rule); border-radius:2px;
  background:var(--paper-2); color:var(--ink-text); font-size:14px;
}
body.secondary-page.contact-page .form-message[hidden] { display:none !important; }

@media (min-width:768px) {
  body.secondary-page :is(.vinq-main,.contact-main) :is(.kicker,.section-label) { font-size:26px; }
  body.secondary-page.vinq-page .vinq-hero {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; padding-block:72px;
  }
  body.secondary-page.vinq-page .vinq-hero h1 { font-size:26px; }
  body.secondary-page.vinq-page .vinq-hero .gold-cta { width:fit-content; min-width:220px; }
  body.secondary-page.vinq-page .profile-details { padding-block:40px 80px; }
  body.secondary-page.vinq-page .profile-details .outline-cta { width:fit-content; min-width:260px; }
  body.secondary-page.contact-page .contact-main { padding-block:72px 80px; }
  body.secondary-page.contact-page .contact-main h1 { font-size:26px; }
  body.secondary-page.contact-page .contact-form { padding:32px; }
  body.secondary-page.contact-page .contact-form .button-primary { justify-self:start; width:fit-content; min-width:240px; }
}
@media (prefers-reduced-motion:reduce) {
  body.secondary-page :is(.vinq-main,.contact-main) :is(a,button) { transition:none; }
}

/* Media index presentation only. Load after media.css, editorial.css and mist-mincho.css.
   Attach media-index-theme only to /media/index.html; articles and category pages stay unchanged. */
body.media-index-theme.renewal-home main {
  color:var(--ink-text); font-size:15px; line-height:1.9;
}
body.media-index-theme.renewal-home main :is(h1,h2,h3) {
  font-family:var(--mincho-font) !important; font-weight:400;
  letter-spacing:0; color:var(--ink-text) !important; text-wrap:pretty;
}
body.media-index-theme.renewal-home :is(.breadcrumbs,.media-intro,.archive-body) {
  width:min(100% - 48px,1160px); max-width:none; margin-inline:auto;
  padding-inline:0; min-width:0;
}
body.media-index-theme.renewal-home .breadcrumbs {
  padding-block:20px 0; gap:8px; font-size:13px; line-height:1.8;
  color:var(--secondary-text);
}
body.media-index-theme.renewal-home .breadcrumbs a {
  display:inline-flex; align-items:center; min-height:32px;
  text-underline-offset:4px;
}
body.media-index-theme.renewal-home .media-intro {
  display:grid; grid-template-columns:minmax(0,1fr); gap:32px;
  padding-block:32px 48px; align-items:center;
}
body.media-index-theme.renewal-home .media-intro > div { min-width:0; }
body.media-index-theme.renewal-home .media-intro .eyebrow {
  width:fit-content; padding-bottom:10px; margin:0 0 18px;
  border-bottom:1px solid var(--rule); font-family:"SHO Bodoni Moda",serif !important;
  font-size:20px; line-height:1.3; font-style:italic; font-weight:400;
  letter-spacing:0; color:var(--ink-text) !important;
}
body.media-index-theme.renewal-home .media-intro h1 {
  font-size:26px; line-height:1.6; margin:0 0 20px;
  font-feature-settings:"palt"; text-wrap:balance;
}
body.media-index-theme.renewal-home .intro-line {
  font-size:16px; line-height:1.9; font-weight:400; margin:0 0 12px;
}
body.media-index-theme.renewal-home .intro-description {
  max-width:40ic; font-size:15px; line-height:1.9; margin:0;
  color:var(--secondary-text) !important; text-wrap:pretty;
}
body.media-index-theme.renewal-home .author-line {
  font-size:14px; font-weight:400; line-height:1.8; margin:24px 0 0;
}
body.media-index-theme.renewal-home .author-line span {
  margin-top:4px; font-size:13px; line-height:1.8;
  color:var(--secondary-text) !important;
}
body.media-index-theme.renewal-home .intro-art {
  width:100%; max-width:480px; margin:0; padding:0;
  border:1px solid var(--rule); border-radius:8px; background:var(--card);
}
body.media-index-theme.renewal-home .intro-art img {
  display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:contain;
}
body.media-index-theme.renewal-home .archive-body { padding-block:0 56px; }
body.media-index-theme.renewal-home .category-nav {
  gap:8px; padding:20px 0; border-color:var(--rule);
}
body.media-index-theme.renewal-home .category-nav a {
  min-height:44px; padding:8px 12px; border:1px solid var(--rule);
  border-radius:2px; background:var(--card); color:var(--ink-text) !important;
  font-size:13px; font-weight:400; line-height:1.6; gap:8px;
  transition:background-color .25s,border-color .25s;
}
body.media-index-theme.renewal-home .category-nav a span { font-size:13px; opacity:1; }
body.media-index-theme.renewal-home .category-nav a[aria-current="page"] {
  background:var(--ink-text); color:var(--card) !important; border-color:var(--ink-text);
}
body.media-index-theme.renewal-home .category-nav a:hover { background:var(--dark); border-color:#7a2e3a; }
body.media-index-theme.renewal-home .category-nav a[aria-current="page"]:hover { background:#3c403a; }
body.media-index-theme.renewal-home .archive-heading {
  display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 16px;
  margin:32px 0 20px;
}
body.media-index-theme.renewal-home .archive-heading h2 { font-size:18px; line-height:1.6; margin:0; }
body.media-index-theme.renewal-home .archive-heading p {
  font-size:13px; line-height:1.8; margin:0; color:var(--secondary-text) !important;
}
body.media-index-theme.renewal-home .note-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
body.media-index-theme.renewal-home .note-card {
  min-width:0; overflow:hidden; border:1px solid var(--rule);
  border-radius:8px; background:var(--card); box-shadow:none;
  transition:border-color .25s;
}
body.media-index-theme.renewal-home .note-card:hover { border-color:#7a2e3a; }
body.media-index-theme.renewal-home .note-card-image { background:var(--paper-2); }
body.media-index-theme.renewal-home .note-card-image img {
  display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:contain;
  transform:none; transition:none;
}
body.media-index-theme.renewal-home .note-card-copy { padding:24px; min-width:0; }
body.media-index-theme.renewal-home .category-label {
  font-size:13px; line-height:1.8; font-weight:400; letter-spacing:.03em;
  color:#7a2e3a !important; margin:0 0 12px;
}
body.media-index-theme.renewal-home .note-card h2 { font-size:17px; line-height:1.8; margin:0 0 16px; }
body.media-index-theme.renewal-home .note-card-copy > p:not(.category-label) {
  font-size:14px; line-height:1.9; margin:0 0 24px;
  color:var(--secondary-text) !important; text-wrap:pretty;
}
body.media-index-theme.renewal-home .read-link {
  min-height:44px; font-size:14px; line-height:1.6; font-weight:400;
  padding:8px 0; border-bottom:1px solid var(--rule);
  color:var(--ink-text) !important;
}
body.media-index-theme.renewal-home .read-link > span {
  width:auto; height:auto; border:0; border-radius:0; background:none;
  font-size:18px; transition:transform .25s;
}
body.media-index-theme.renewal-home .note-card:hover .read-link > span { transform:translateX(3px); }
body.media-index-theme.renewal-home .editorial-note {
  padding:32px 24px; margin-top:40px; background:var(--dark);
  border:1px solid var(--rule); border-radius:8px; box-shadow:none;
  color:var(--ink-text);
}
body.media-index-theme.renewal-home .editorial-note .eyebrow {
  font-size:13px; line-height:1.8; font-weight:400; letter-spacing:.04em;
  color:var(--secondary-text) !important; margin:0 0 12px;
}
body.media-index-theme.renewal-home .editorial-note h2 { font-size:20px; line-height:1.7; margin:0 0 16px; }
body.media-index-theme.renewal-home .editorial-note p:not(.eyebrow) {
  max-width:40ic; font-size:15px; line-height:1.9; margin:0 0 20px;
}
body.media-index-theme.renewal-home .editorial-note .text-link {
  font-size:14px; font-weight:400; line-height:1.8; min-height:44px;
  border-bottom:1px solid var(--rule); gap:16px;
}
body.media-index-theme.renewal-home main a:focus-visible {
  outline:2px solid #7a2e3a; outline-offset:4px;
}
@media (min-width:768px) {
  body.media-index-theme.renewal-home .media-intro {
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px;
    padding-block:48px 64px;
  }
  body.media-index-theme.renewal-home .media-intro .eyebrow { font-size:24px; }
  body.media-index-theme.renewal-home .media-intro h1 { font-size:32px; }
  body.media-index-theme.renewal-home .intro-art { justify-self:end; }
  body.media-index-theme.renewal-home .archive-body { padding-bottom:72px; }
  body.media-index-theme.renewal-home .note-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  body.media-index-theme.renewal-home .note-card h2 { font-size:18px; }
  body.media-index-theme.renewal-home .editorial-note { padding:40px; margin-top:48px; }
}
@media (min-width:1024px) {
  body.media-index-theme.renewal-home .media-intro { gap:64px; }
  body.media-index-theme.renewal-home .media-intro .eyebrow { font-size:26px; }
  body.media-index-theme.renewal-home .note-card-copy { padding:32px; }
}
@media (prefers-reduced-motion:reduce) {
  body.media-index-theme.renewal-home main :is(a,.note-card,.read-link > span) { transition:none; }
  body.media-index-theme.renewal-home .note-card:hover .read-link > span { transform:none; }
}

body.polished-home.detail-page.renewal-home :is(.product-copy > p:not(.product-kicker),.method-panel > p:not(.method-number)) { font-size:15px; }
body.polished-home.renewal-home.secondary-page .brand-header { height:80px; }
body.media-index-theme.renewal-home .category-nav a[aria-current="page"] :is(span,strong) { color:#fcfcfa !important; }
@media (min-width:1024px) { body.polished-home.renewal-home.secondary-page .brand-header { height:88px; } }

/* PC-only TOP balance: copy and the face occupy separate columns. */
@media (min-width:768px) {
  body.compact-home.renewal-home .signature-hero .hero-photograph {
    height:clamp(480px,51vw,640px); min-height:0; max-height:640px;
  }
  body.compact-home.renewal-home .signature-hero .hero-shot-person {
    inset:0 max(24px,calc((100% - 1160px) / 2)) 0 auto;
    width:56%; max-width:720px; height:100%;
    mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);
  }
  body.compact-home.renewal-home .signature-hero .hero-shot-person img {
    object-fit:contain; object-position:right bottom;
  }
  body.compact-home.renewal-home .signature-hero .hero-caption {
    left:max(24px,calc((100% - 1160px) / 2)); right:auto; top:50%; bottom:auto;
    width:44%; max-width:520px; margin:0; transform:translateY(-50%);
  }
  body.compact-home.renewal-home .signature-hero h1 {
    font-size:clamp(28px,3.2vw,44px); line-height:1.55; margin-bottom:24px;
  }
}

/* The Profile photograph is an alpha cutout, not a square portrait tile. */
body.profile-detail.renewal-home .profile-identity {
  grid-template-columns:minmax(0,1fr) 144px; gap:16px; align-items:center;
}
body.profile-detail.renewal-home .profile-identity > img.profile-cutout {
  grid-column:2; grid-row:1; display:block; width:144px; height:auto;
  aspect-ratio:2 / 3; object-fit:contain; object-position:center bottom;
  border-radius:0; background:transparent;
  mask-image:linear-gradient(to bottom,#000 88%,transparent 100%);
}
body.profile-detail.renewal-home .profile-name { grid-column:1; grid-row:1; min-width:0; }
body.profile-detail.renewal-home .profile-name .profile-role { font-size:13px; line-height:1.9; }
body.profile-detail.renewal-home .profile-person > .kicker { margin-bottom:8px; }
@media (min-width:768px) {
  body.profile-detail.renewal-home .profile-identity { grid-template-columns:minmax(0,1fr) 192px; }
  body.profile-detail.renewal-home .profile-identity > img.profile-cutout { width:192px; }
}
@media (max-width:359px) {
  body.profile-detail.renewal-home .profile-identity { grid-template-columns:minmax(0,1fr) 120px; gap:12px; }
  body.profile-detail.renewal-home .profile-identity > img.profile-cutout { width:120px; }
  body.profile-detail.renewal-home .profile-name h1 { font-size:24px; }
}

/* Unmodified official SNS assets; each link retains an accessible service name. */
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social a {
  position:relative; width:66px; height:66px; flex:0 0 66px; overflow:hidden;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social img {
  display:block; width:22px; height:auto; pointer-events:none;
}
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social .social-note { width:50px; }
body.polished-home.renewal-home .brand-footer-editorial .footer-editorial-social .social-instagram {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:112px; max-width:none; height:auto; mix-blend-mode:screen;
}

/* Append after mist-mincho.css. Same native photo rail as TOP, scoped to the detail gallery. */
body.venue-detail.renewal-home .venue-intro:has(> .venue-detail-slideshow) {
  grid-template-columns:minmax(0,1fr);
}
body.venue-detail.renewal-home .venue-gallery.venue-detail-slideshow {
  display:block; min-width:0; max-width:100%; align-self:start;
  --venue-card-width:86%; --venue-card-gap:16px;
}
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide-viewport {
  position:relative; display:flex; gap:var(--venue-card-gap); width:100%; max-width:100%;
  margin:0; padding:0; list-style:none; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none;
  scroll-behavior:auto; touch-action:auto;
}
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide-viewport::-webkit-scrollbar { display:none; }
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide-viewport:focus-visible {
  outline:2px solid #7a2e3a; outline-offset:4px;
}
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide {
  position:relative; flex:0 0 var(--venue-card-width); min-width:0; aspect-ratio:16 / 9;
  scroll-snap-align:start; overflow:hidden; border-radius:8px; background:#16201c;
}
/* Override the old grid's last-child image plate/padding for all four existing photos. */
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide img,
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide img:last-child {
  display:block; width:100%; height:100%; aspect-ratio:auto;
  object-fit:cover; object-position:center; padding:0; border-radius:0; background:transparent;
}
body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide-status {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
@media (min-width:768px) {
  body.venue-detail.renewal-home .venue-gallery.venue-detail-slideshow { --venue-card-width:62%; --venue-card-gap:24px; }
}
@media (min-width:1024px) {
  body.venue-detail.renewal-home .venue-gallery.venue-detail-slideshow { --venue-card-width:34%; }
}
@media (prefers-reduced-motion:reduce) {
  body.venue-detail.renewal-home .venue-detail-slideshow .venue-slide-viewport { scroll-behavior:auto; }
}

/* Owner-provided career history; typography and layout are scoped to Profile only. */
@font-face {
  font-family:"SHO Career Noto Serif JP"; src:url("assets/fonts/sho-career-noto-serif-jp.woff2") format("woff2");
  font-style:normal; font-weight:400; font-display:swap;
}
body.profile-detail.renewal-home .profile-career { margin-top:32px; }
body.profile-detail.renewal-home .profile-career-heading { margin:0 0 16px; font-size:18px; line-height:1.7; font-weight:400; }
body.profile-detail.renewal-home .profile-career-list,
body.profile-detail.renewal-home .profile-career-list * { font-family:"SHO Career Noto Serif JP",var(--mincho-font) !important; }
body.profile-detail.renewal-home .profile-career-list { margin:0; padding:0; border-top:1px solid var(--rule); }
body.profile-detail.renewal-home .profile-career-row {
  display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:16px 0; border-bottom:1px solid var(--rule);
}
body.profile-detail.renewal-home .profile-career-row :is(dt,dd) { min-width:0; margin:0; }
body.profile-detail.renewal-home .profile-career-link {
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  min-height:44px; width:fit-content; max-width:100%; padding:4px 0; text-decoration:none;
}
body.profile-detail.renewal-home .profile-career-name {
  font-size:17px; line-height:1.7; text-wrap:pretty;
  text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;
  text-decoration-color:var(--rule); transition:text-decoration-color .25s;
}
body.profile-detail.renewal-home .profile-career-arrow { display:inline-block; font-size:13px; text-decoration:none; }
body.profile-detail.renewal-home .profile-career-reading,
body.profile-detail.renewal-home .profile-career-period { font-size:13px; line-height:1.8; color:var(--secondary-text) !important; }
body.profile-detail.renewal-home .profile-career-row dd { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; }
body.profile-detail.renewal-home .profile-career-role { font-size:15px; line-height:1.9; }
body.profile-detail.renewal-home .profile-career-link:hover .profile-career-name { text-decoration-color:#7a2e3a; }
body.profile-detail.renewal-home .profile-career-link:focus-visible { outline:2px solid #7a2e3a; outline-offset:4px; }
@media (min-width:768px) {
  body.profile-detail.renewal-home .profile-career-row { grid-template-columns:minmax(0,1fr) minmax(240px,.7fr); gap:24px; align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  body.profile-detail.renewal-home .profile-career-name { transition:none; }
}

/* Profile: official social marks and softer shoulder edges. */
body.profile-detail.renewal-home .profile-social.profile-social-icons {
  gap:12px; margin:24px 0;
}
body.profile-detail.renewal-home .profile-social.profile-social-icons a {
  position:relative; display:grid; place-items:center; flex:0 0 66px;
  width:66px; height:66px; min-height:66px; margin:0; padding:0;
  border:1px solid var(--rule); border-radius:50%; overflow:hidden;
  color:var(--ink); background:transparent; text-decoration:none;
}
body.profile-detail.renewal-home .profile-social.profile-social-icons a:hover {
  border-color:var(--accent);
}
body.profile-detail.renewal-home .profile-social.profile-social-icons a:focus-visible {
  outline:2px solid var(--accent); outline-offset:4px;
}
body.profile-detail.renewal-home .profile-social.profile-social-icons img {
  display:block; width:22px; height:auto; pointer-events:none;
}
body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-note { width:50px; }
body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-x { filter:invert(1); }
body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-instagram {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:112px; max-width:none; height:auto; filter:invert(1); mix-blend-mode:multiply;
}
body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-wantedly { width:36px; }
body.profile-detail.renewal-home .profile-identity > img.profile-cutout {
  -webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent 97%),linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 82%,transparent 97%),linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
@media (min-width:1024px) {
  body.profile-detail.renewal-home .background-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:359px) {
  body.profile-detail.renewal-home .profile-social.profile-social-icons { gap:8px; }
  body.profile-detail.renewal-home .profile-social.profile-social-icons a { width:56px; height:56px; min-height:56px; flex-basis:56px; }
  body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-note { width:44px; }
  body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-x { width:18px; }
  body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-instagram { width:92px; }
  body.profile-detail.renewal-home .profile-social.profile-social-icons .profile-social-wantedly { width:30px; }
}

/* Keep the identity group compact, with clear space between text and shoulders. */
body.profile-detail.renewal-home .profile-identity {
  width:min(100%,332px); grid-template-columns:minmax(0,1fr) 156px;
  column-gap:16px; align-items:center;
}
body.profile-detail.renewal-home .profile-identity > img.profile-cutout {
  width:156px; margin-left:0;
}
body.profile-detail.renewal-home .profile-name .profile-role .profile-role-word { display:inline-block; white-space:nowrap; }
@media (min-width:768px) {
  body.profile-detail.renewal-home .profile-identity {
    width:min(100%,384px); grid-template-columns:minmax(0,1fr) 192px; column-gap:24px;
  }
  body.profile-detail.renewal-home .profile-identity > img.profile-cutout { width:192px; margin-left:0; }
}
@media (max-width:359px) {
  body.profile-detail.renewal-home .profile-identity {
    width:min(100%,272px); grid-template-columns:minmax(0,1fr) 120px; column-gap:16px;
  }
  body.profile-detail.renewal-home .profile-identity > img.profile-cutout { width:120px; margin-left:0; }
}
