/* Home-only design refinement. Retained pages and LPs use their existing styles. */
html:has(body.polished-home) { scroll-behavior: auto; }
@font-face {
  font-family: "SHO Noto Sans JP";
  src: url("assets/fonts/sho-noto-sans-jp.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SHO Noto Serif JP";
  src: url("assets/fonts/sho-noto-serif-jp.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
body.polished-home.renewal-home {
  --dark: #16201c;
  --dark-2: #1f2a25;
  --paper: #f4f0e8;
  --paper-2: #eae5da;
  --card: #fbf9f4;
  --foreground: #ece8de;
  --muted: #b9b5a8;
  --accent: #c07a86;
  --rule: rgba(128,128,120,.28);
  --body-font: "SHO Noto Sans JP", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  --heading-font: "SHO Noto Serif JP", "Noto Serif JP", "Yu Mincho", serif;
  --latin-font: "Cormorant Garamond", Georgia, serif;
  background: var(--dark);
  color: var(--foreground);
  font-size: 16px;
  line-height: 1.9;
}
body.polished-home.renewal-home .wrap { width: min(calc(100% - 48px),1160px); }
body.polished-home.renewal-home :is(p,dd,h1,h2,h3,a) { text-wrap: pretty; }
body.polished-home.renewal-home :is(h1,h2,h3,.about-lead,.hero-eyebrow) {
  font-feature-settings: "palt";
  text-wrap: balance;
}
body.polished-home.renewal-home :is(h2,h3) { color: var(--foreground); }
body.polished-home.renewal-home :is(.brand-section,.philosophy-section,.journal-section) {
  padding-block: 80px;
  border: 0;
  background: var(--dark);
}
body.polished-home.renewal-home :is(.about-section-new,.philosophy-section,.products-section-new,.case-section) {
  --foreground: #1e2622;
  --muted: #5b625c;
  --accent: #7a2e3a;
  --background: var(--paper);
  background: var(--paper);
  color: var(--foreground);
}
body.polished-home.renewal-home .products-section-new { border-top: 1px solid var(--rule); }
body.polished-home.renewal-home :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
body.polished-home.renewal-home .skip { background: var(--paper); color: #1e2622; }
body.polished-home.renewal-home :is(.brand-header,.menu-top) { height: 64px; }
body.polished-home.renewal-home .brand-header { background: var(--dark); border: 0; backdrop-filter: none; }
body.polished-home.renewal-home .wordmark { font-size: 24px; letter-spacing: .1em; color: #ece8de; }
body.polished-home.renewal-home .desktop-nav { font-size: 14px !important; color: #ece8de; gap: 24px; }
body.polished-home.renewal-home :is(.nav-toggle,.nav-close) { color: #ece8de; border-color: #b9b5a8; border-radius: 2px; }
body.polished-home.renewal-home :is(.brand-menu,.menu-top) { background: var(--dark); color: #ece8de; }
body.polished-home.renewal-home .brand-menu[open] { animation: none; }
body.polished-home.renewal-home .menu-links a { font-size: 24px; min-height: 64px; }
body.polished-home.renewal-home .menu-links a span { font-size: 12px; color: #b9b5a8; }
body.polished-home.renewal-home .menu-foot { font-size: 14px; color: #b9b5a8; }
body.polished-home.renewal-home .section-label { gap: 8px; margin-bottom: 32px; align-items: flex-start; }
body.polished-home.renewal-home .section-en { color: var(--foreground); font: 400 clamp(3rem,7vw,5rem)/1.1 var(--latin-font); padding: 0; border: 0; }
body.polished-home.renewal-home .section-jp { font-size: 13px; color: var(--muted); letter-spacing: .02em; }
body.polished-home.renewal-home :is(.field-heading,.philosophy-heading,#products-title,#journal-title) {
  font: 500 clamp(1.8rem,3.4vw,2.75rem)/1.5 var(--heading-font);
  letter-spacing: 0;
  margin: 0 0 24px;
}
body.polished-home.renewal-home .section-intro { max-width: 40ic; font-size: 16px; line-height: 1.9; color: var(--muted); }
/* Three CTA levels: filled, outlined, text underline. */
body.polished-home.renewal-home :is(.button-primary,.button-light,.outline-cta,.combined-link) {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 16px 24px;
  border: 1px solid var(--accent);
  border-radius: 2px;
  font: 500 15px/1.5 var(--body-font);
  color: var(--foreground) !important;
  text-decoration: none;
  transition: color .25s, background-color .25s, border-color .25s;
}
body.polished-home.renewal-home :is(.button-primary,.button-light) { background: var(--paper); color: #1e2622 !important; border-color: var(--paper); }
body.polished-home.renewal-home :is(.button-primary,.button-light):hover { background: var(--paper-2); border-color: var(--paper-2); }
body.polished-home.renewal-home :is(.outline-cta,.combined-link) { background: transparent; width: 100%; }
body.polished-home.renewal-home :is(.outline-cta,.combined-link):hover { background: var(--dark-2); }
body.polished-home.renewal-home :is(.about-section-new,.products-section-new,.case-section) .outline-cta,
body.polished-home.renewal-home .combined-link { color: #7a2e3a !important; }
body.polished-home.renewal-home :is(.about-section-new,.products-section-new,.case-section) .outline-cta:hover,
body.polished-home.renewal-home .combined-link:hover { background: var(--paper-2); }
body.polished-home.renewal-home .text-link {
  display: inline-flex; justify-content: space-between; align-items: center;
  min-height: 44px; max-width: 100%; gap: 16px;
  padding-block: 8px; font-size: 14px; line-height: 1.7;
  color: var(--foreground) !important; border-color: var(--muted);
  transition: border-color .25s;
}
body.polished-home.renewal-home .text-link:hover { border-color: var(--accent); }
body.polished-home.renewal-home :is(.text-link,.outline-cta,.combined-link) > span[aria-hidden] { flex-shrink: 0; }
/* The person's face and the two-line message occupy separate areas. */
body.polished-home.renewal-home .editorial-hero { margin: 0; padding: 0 !important; background: var(--dark); }
body.polished-home.renewal-home .hero-photograph { height: min(88svh,780px); min-height: 560px; max-height: 780px; background: var(--dark); }
body.polished-home.renewal-home .hero-shot { clip-path: none; }
body.polished-home.renewal-home .hero-shot-person {
  inset: 0 0 auto; height: 66%; z-index: 1;
  mask-image: linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
}
body.polished-home.renewal-home .hero-shot-person img { object-position: 65% 42%; }
body.polished-home.renewal-home .hero-shot-venue { inset: auto auto 0 0; width: 54%; height: 47%; z-index: 0; mask-image: linear-gradient(to bottom,transparent,#000 24%); }
body.polished-home.renewal-home .hero-shot-venue img { object-position: 30% 50%; }
body.polished-home.renewal-home .hero-shot-bottles { display: block; inset: auto 0 0 auto; width: 56%; height: 44%; mask-image: linear-gradient(to bottom,transparent,#000 24%); }
body.polished-home.renewal-home .hero-photograph::after {
  background: linear-gradient(to bottom,transparent 30%,#16201c4d 45%,#16201c 66%);
  z-index: 2;
}
body.polished-home.renewal-home :is(.hero-orbit,.hero-motion-toggle,.concept-toggle) { display: none !important; }
body.polished-home.renewal-home .hero-caption { bottom: 32px; left: 0; right: 0; }
body.polished-home.renewal-home .hero-caption h1 {
  font: 500 clamp(2.6rem,7vw,5.5rem)/1.3 var(--heading-font);
  letter-spacing: -.02em; margin: 0 0 24px; color: #ece8de;
  max-width: 672px; width: fit-content; background: var(--dark);
}
body.polished-home.renewal-home .hero-caption h1 span { display: block; color: #ece8de; white-space: nowrap; }
body.polished-home.renewal-home .hero-caption .button-primary { width: 200px; font-size: 15px; }
body.polished-home.renewal-home .hero-bridge { display: grid; grid-template-columns: 1fr; gap: 32px; padding-block: 72px; }
body.polished-home.renewal-home .hero-eyebrow { font: 500 24px/1.7 var(--heading-font); color: #ece8de; margin: 0 0 24px !important; letter-spacing: 0; }
body.polished-home.renewal-home .hero-description { color: #b9b5a8; font-size: 16px; line-height: 1.9; max-width: 38ic; margin: 0 0 24px !important; }
body.polished-home.renewal-home .hero-visual.hero-concept { margin: 0; padding: 0; background: transparent; border: 0; animation: none; }
body.polished-home.renewal-home .concept-diagram { display: grid; grid-template-columns: 1fr 16px 1fr 16px 1fr; align-items: center; }
body.polished-home.renewal-home .concept-scene { width: 88px; height: 104px; aspect-ratio: auto; justify-self: center; overflow: visible; max-width: 100%; }
body.polished-home.renewal-home .concept-scene :is(path,circle) { stroke: #ece8de; stroke-width: 2; animation: none !important; stroke-dasharray: none; opacity: 1; }
body.polished-home.renewal-home .concept-scene :is(.insight-ring,.system-frame) { fill: var(--dark); }
body.polished-home.renewal-home .concept-scene .system-node { fill: #ece8de; }
body.polished-home.renewal-home .concept-arrow { width: 16px; height: 24px; fill: none; stroke: #c07a86; stroke-width: 1.5; }
body.polished-home.renewal-home .concept-labels { font-size: 16px; line-height: 1.7; margin-top: 8px; color: #ece8de; letter-spacing: .02em; }
/* Profile / venue */
body.polished-home.renewal-home .about-layout { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
body.polished-home.renewal-home .about-identity { grid-template-columns: 200px minmax(0,1fr); gap: 8px; }
body.polished-home.renewal-home .portrait-block { width: 200px; height: 200px; margin: 0; }
body.polished-home.renewal-home .portrait-block img { width: 200px; height: 200px; object-fit: cover; object-position: center 28%; border-radius: 2px; }
body.polished-home.renewal-home .about-title h2 { font-size: 28.8px; line-height: 1.4; letter-spacing: 0; white-space: nowrap; margin-bottom: 12px; }
body.polished-home.renewal-home .about-title p { font-size: 13px; line-height: 1.8; color: var(--muted); letter-spacing: 0; }
body.polished-home.renewal-home .about-title .identity-en { font-size: 12px; letter-spacing: .08em; color: var(--accent); margin-bottom: 8px; }
body.polished-home.renewal-home .about-title p span { word-break: keep-all; }
body.polished-home.renewal-home .about-text { margin-top: 32px; }
body.polished-home.renewal-home .about-text .about-lead { font-size: clamp(1.8rem,3.4vw,2.75rem); line-height: 1.5; letter-spacing: 0; color: var(--foreground); margin-bottom: 24px; }
body.polished-home.renewal-home .about-text > p { font-size: 16px; line-height: 1.9; max-width: 40ic; color: var(--foreground); margin-bottom: 24px; }
body.polished-home.renewal-home .experience-ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-block: 16px; border-block: 1px solid var(--rule); margin: 0 0 24px; }
body.polished-home.renewal-home .experience-ledger > div { display: block; padding: 0; border: 0; }
body.polished-home.renewal-home .experience-ledger dt { font-size: 12px; color: var(--accent); margin-bottom: 8px; }
body.polished-home.renewal-home .experience-ledger dd { margin: 0; font-size: 15px; line-height: 1.8; }
body.polished-home.renewal-home .experience-ledger strong { font-size: 15px; font-weight: 500; color: var(--foreground); }
body.polished-home.renewal-home .experience-ledger dd span { font-size: 15px; color: var(--muted); margin-top: 8px; }
body.polished-home.renewal-home .about-atmosphere { margin: 0; }
body.polished-home.renewal-home .about-atmosphere img { aspect-ratio: 3/2; border-radius: 2px; }
body.polished-home.renewal-home :is(.about-atmosphere figcaption,.field-photo figcaption) { font-size: 13px; line-height: 1.7; color: var(--muted); margin-top: 8px; }
body.polished-home.renewal-home .field-layout { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
body.polished-home.renewal-home .field-copy p { font-size: 16px; line-height: 1.9; max-width: 40ic; margin-bottom: 24px; color: var(--foreground); }
body.polished-home.renewal-home .field-photo { margin: 0; }
body.polished-home.renewal-home .field-photo img { aspect-ratio: 1536/861; object-fit: contain; border-radius: 2px; }
body.polished-home.renewal-home .venue-note { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding: 16px; background: var(--dark-2); border: 1px solid #b9b5a8; border-radius: 8px; margin: 32px 0 24px; }
body.polished-home.renewal-home .venue-note img { width: 96px; height: 72px; object-fit: cover; border-radius: 2px; }
body.polished-home.renewal-home .venue-note strong { display: block; font: 500 20px/1.4 var(--latin-font); color: #ece8de; }
body.polished-home.renewal-home .venue-note span { display: block; font-size: 13px; line-height: 1.8; color: #b9b5a8; margin-top: 8px; }
/* Approach: stable tab panels, existing keyboard interactions retained. */
body.polished-home.renewal-home .philosophy-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
body.polished-home.renewal-home .method-intro > p { font-size: 16px; line-height: 1.9; color: var(--muted); }
body.polished-home.renewal-home .method-intro .method-principle { font-size: 16px; line-height: 1.9; color: var(--foreground); padding-top: 24px; border-color: var(--rule); }
body.polished-home.renewal-home .method-switcher { margin: 0; }
body.polished-home.renewal-home .method-switcher.is-enhanced .method-controls { padding: 0; gap: 8px; border: 0; border-radius: 0; background: transparent; }
body.polished-home.renewal-home .method-controls button { font-size: 15px; line-height: 1.5; color: #5b625c; border-radius: 2px; border-bottom: 2px solid transparent; min-height: 48px; }
body.polished-home.renewal-home .method-controls button:hover { background: var(--paper-2); color: #1e2622; }
body.polished-home.renewal-home .method-controls button[aria-selected="true"] { background: var(--dark); color: #ece8de; border-bottom-color: #c07a86; }
body.polished-home.renewal-home .method-panel { background: var(--card); border: 1px solid var(--rule); border-radius: 8px; padding: 24px; margin-top: 16px; }
body.polished-home.renewal-home .method-switcher.is-enhanced .method-panel { min-height: 512px; }
body.polished-home.renewal-home .method-panel .method-number { color: #7a2e3a; font-size: 12px; letter-spacing: .12em; }
body.polished-home.renewal-home .method-panel h3 { font-size: 28px; line-height: 1.5; letter-spacing: 0; color: #1e2622; margin-bottom: 24px; }
body.polished-home.renewal-home .method-panel > p:not(.method-number) { font-size: 16px; line-height: 1.9; color: #5b625c; margin-bottom: 24px; }
body.polished-home.renewal-home .method-panel .text-link { font-size: 14px; margin-top: auto; }
/* Three products share one visual system. */
body.polished-home.renewal-home .products-intro { display: block; margin-bottom: 40px; }
body.polished-home.renewal-home .product-stack { grid-template-columns: 1fr; gap: 32px; }
body.polished-home.renewal-home .product-box { display: flex; flex-direction: column; padding: 24px; background: var(--card); border: 1px solid var(--rule); border-radius: 8px; gap: 0; }
body.polished-home.renewal-home .product-logo { display: flex; align-items: center; width: 240px; max-width: 100%; height: 112px; padding: 16px 22px; background: var(--card); border-radius: 2px; margin: 0 0 24px; }
body.polished-home.renewal-home .product-logo img { width: 196px; height: 80px; object-fit: contain; max-height: 80px; }
body.polished-home.renewal-home :is(.product-box,.wine-project) .product-kicker { font-size: 13px; line-height: 1.7; color: #7a2e3a; letter-spacing: .02em; margin: 0 0 16px; }
body.polished-home.renewal-home :is(.product-box,.wine-project) h3 { font: 500 28.8px/1.5 var(--heading-font); letter-spacing: 0; margin-bottom: 24px; }
body.polished-home.renewal-home .product-box > p:not(.product-kicker) { font-size: 16px; color: #5b625c; line-height: 1.9; max-width: 40ic; margin-bottom: 24px; }
body.polished-home.renewal-home .product-box .product-origin { border-color: #7a2e3a; padding-left: 16px; }
body.polished-home.renewal-home .product-box .text-link { width: 100%; margin-top: 0; }
body.polished-home.renewal-home .product-demo { background: var(--paper-2); border: 1px solid var(--rule); padding: 24px 16px; border-radius: 8px; margin: 8px 0 24px; }
body.polished-home.renewal-home .product-demo .demo-eyebrow { font-size: 13px; color: #5b625c; margin-bottom: 24px; }
body.polished-home.renewal-home .demo-badge { font-size: 13px; color: #7a2e3a; border: 1px solid #7a2e3a; border-radius: 2px; background: var(--card); min-height: 32px; padding: 4px 8px; }
body.polished-home.renewal-home .demo-store { font-size: 13px; line-height: 1.7; color: #5b625c; }
body.polished-home.renewal-home .seat-display { gap: 8px; }
body.polished-home.renewal-home .product-demo .seat-status { gap: 8px; margin: 8px 0 16px; }
body.polished-home.renewal-home .seat-status strong { font-size: 56px; color: #1e2622; }
body.polished-home.renewal-home .seat-status span { font-size: 13px; color: #1e2622; }
body.polished-home.renewal-home .seat-icons i { border-color: #5b625c; background: #5b625c; }
body.polished-home.renewal-home .seat-icons i::after { border-color: #5b625c; }
body.polished-home.renewal-home .seat-icons i.is-open { border-color: #7a2e3a; background: var(--card); }
body.polished-home.renewal-home .demo-controls { gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
body.polished-home.renewal-home .demo-controls > span { grid-column: 1/-1; font-size: 13px; color: #5b625c; }
body.polished-home.renewal-home .demo-controls button { font-size: 14px; min-height: 44px; border: 1px solid #5b625c; color: #1e2622; border-radius: 2px; padding-inline: 4px; }
body.polished-home.renewal-home .demo-controls button:hover { background: var(--card); }
body.polished-home.renewal-home .product-demo .demo-controls button[aria-pressed="true"] { background: var(--dark); color: #ece8de; border-color: var(--dark); }
body.polished-home.renewal-home .product-demo .demo-disclosure { font-size: 13px; color: #5b625c; line-height: 1.8; margin-top: 16px; }
body.polished-home.renewal-home .product-demo .follow-status { font-size: 24px; line-height: 1.6; color: #1e2622; padding-right: 16px; margin: 8px 0 24px; }
body.polished-home.renewal-home .follow-line::before { background: #5b625c; }
body.polished-home.renewal-home .follow-line i { border-color: #5b625c; background: var(--paper-2); }
body.polished-home.renewal-home .follow-line i.is-active { border-color: #7a2e3a; background: #7a2e3a; }
body.polished-home.renewal-home .combined-link { margin: 32px 0 16px; min-height: 64px; }
body.polished-home.renewal-home .availability { font-size: 13px; line-height: 1.8; color: #5b625c; margin: 0; }
body.polished-home.renewal-home .wine-project { padding: 32px 24px; margin: 40px 0 32px; min-height: 280px; gap: 24px; border: 1px solid var(--rule); border-radius: 8px; background: var(--card); display: grid; grid-template-columns: 1fr; }
body.polished-home.renewal-home .wine-project p { color: #5b625c; font-size: 16px; line-height: 1.9; max-width: 40ic; }
body.polished-home.renewal-home .wine-project .text-link { justify-self: start; }
/* Journal / case study */
body.polished-home.renewal-home .journal-list { margin: 32px 0; }
body.polished-home.renewal-home .journal-list li { background: transparent; border-color: var(--rule); }
body.polished-home.renewal-home .journal-list a { gap: 16px; padding: 24px 0; }
body.polished-home.renewal-home .journal-list li:first-child a { padding-inline: 0; }
body.polished-home.renewal-home .journal-list a:hover { background: var(--dark-2); }
body.polished-home.renewal-home .journal-list .journal-meta { font-size: 13px; line-height: 1.7; color: #b9b5a8; margin: 0 0 8px; }
body.polished-home.renewal-home .journal-list h3 { font: 500 17px/1.8 var(--body-font); margin: 0; color: #ece8de; }
body.polished-home.renewal-home .journal-list .arrow { font-size: 24px; color: #ece8de; transition: transform .25s; }
body.polished-home.renewal-home .journal-list a:hover .arrow { transform: translateX(4px); }
body.polished-home.renewal-home .journal-support { padding: 24px; margin-top: 40px; background: var(--dark-2); border: 1px solid #c07a86; border-radius: 8px; }
body.polished-home.renewal-home .journal-support .support-kicker { color: #ece8de; font-size: 13px; }
body.polished-home.renewal-home .journal-support h3 { color: #ece8de; font-size: 28px; line-height: 1.5; letter-spacing: 0; margin-bottom: 24px; }
body.polished-home.renewal-home .journal-support p { color: #b9b5a8; font-size: 16px; line-height: 1.9; }
body.polished-home.renewal-home .journal-support .text-link { color: #ece8de !important; }
body.polished-home.renewal-home .creation-story { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: 1fr; gap: 32px; }
body.polished-home.renewal-home .creation-visual { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 24px 0 0; background: none; border: 0; overflow: visible; }
body.polished-home.renewal-home .creation-thumb { width: 100%; max-width: 240px; margin: 0; justify-self: center; }
body.polished-home.renewal-home .creation-thumb img { border: 1px solid var(--rule); border-radius: 2px; }
body.polished-home.renewal-home .creation-thumb span { color: #5b625c; font-size: 13px; line-height: 1.5; top: -24px; }
body.polished-home.renewal-home .creation-copy { padding: 0; max-width: none; }
body.polished-home.renewal-home .story-kicker { font-size: 13px; line-height: 1.7; color: #7a2e3a; margin-bottom: 24px; }
body.polished-home.renewal-home .creation-copy h3 { font-size: clamp(1.8rem,3.4vw,2.75rem); line-height: 1.5; letter-spacing: 0; margin-bottom: 24px; }
body.polished-home.renewal-home .creation-copy > p:not(.story-kicker) { font-size: 16px; line-height: 1.9; color: #5b625c; margin-bottom: 24px; }
/* The final contact action is deliberately the strongest CTA. */
body.polished-home.renewal-home .contact-section-new { padding-block: 96px; background: #101813; border: 0; }
body.polished-home.renewal-home .contact-layout { display: block; }
body.polished-home.renewal-home #contact-title { font-size: clamp(2.4rem,6vw,4.5rem); line-height: 1.4; letter-spacing: -.02em; margin: 0 0 24px; }
body.polished-home.renewal-home #contact-title span { display: block; }
body.polished-home.renewal-home .contact-section-new p:not(.section-label) { font-size: 16px; line-height: 1.9; color: #b9b5a8; max-width: 40ic; margin-bottom: 32px; }
body.polished-home.renewal-home .contact-section-new .button-light { width: 100%; min-height: 64px; padding-inline: 24px; font-size: 16px; margin: 0; }
/* Compact footer, preserving the existing three link groups. */
body.polished-home.renewal-home .brand-footer { padding-block: 40px 32px; border: 0; background: var(--dark); }
body.polished-home.renewal-home .footer-top { display: grid; grid-template-columns: 1fr; gap: 24px; }
body.polished-home.renewal-home .footer-nav { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
body.polished-home.renewal-home .footer-group h2 { font-size: 13px; line-height: 1.7; color: #b9b5a8; margin-bottom: 8px; }
body.polished-home.renewal-home .footer-nav a { font-size: 14px; min-height: 44px; color: #ece8de; width: fit-content; max-width: 100%; border-bottom: 1px solid transparent; }
body.polished-home.renewal-home .footer-nav a:hover { border-color: #c07a86; }
body.polished-home.renewal-home .footer-purpose { font-size: 13px; color: #b9b5a8; }
body.polished-home.renewal-home .footer-bottom { margin-top: 24px; padding-top: 16px; border-color: var(--rule); gap: 16px; }
body.polished-home.renewal-home .footer-utility a { font-size: 14px; }
body.polished-home.renewal-home .copyright { font-size: 13px; color: #b9b5a8; margin: 0; }
/* JS enhances visibility once; no JS and reduced motion remain fully readable. */
body.polished-home.renewal-home .reveal-pending { opacity: 0; transform: translateY(12px); }
body.polished-home.renewal-home .reveal-shown { opacity: 1; transform: none; transition: opacity .6s,transform .6s; }
body.polished-home.renewal-home .hero-concept.reveal-shown .concept-arrow { animation: polish-arrow-reveal .6s both; animation-delay: .12s; }
body.polished-home.renewal-home .hero-concept.reveal-shown .concept-arrow:nth-of-type(4) { animation-delay: .24s; }
@keyframes polish-arrow-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (min-width:768px) {
  body.polished-home.renewal-home { font-size: 17px; }
  body.polished-home.renewal-home .wrap { width: min(calc(100% - 64px),1160px); }
  body.polished-home.renewal-home :is(.brand-section,.philosophy-section,.journal-section) { padding-block: 96px; }
  body.polished-home.renewal-home .hero-bridge { padding-block: 80px; gap: 40px; }
  body.polished-home.renewal-home :is(.brand-header,.menu-top) { height: 72px; }
  body.polished-home.renewal-home .wordmark { font-size: 26px; }
  body.polished-home.renewal-home .hero-photograph { min-height: 560px; }
  body.polished-home.renewal-home .hero-shot-person { height: 72%; }
  body.polished-home.renewal-home .hero-shot-person img { object-position: 60% 40%; }
  body.polished-home.renewal-home .hero-caption { bottom: 40px; }
  body.polished-home.renewal-home :is(.hero-description,.section-intro,.about-text > p,.field-copy p,.method-intro > p,.method-panel > p:not(.method-number),.product-box > p:not(.product-kicker),.wine-project p,.journal-support p,.creation-copy > p:not(.story-kicker)) { font-size: 17px; }
  body.polished-home.renewal-home .about-identity { gap: 24px; }
  body.polished-home.renewal-home .about-title h2 { font-size: 32px; }
  body.polished-home.renewal-home .about-title p { font-size: 15px; }
  body.polished-home.renewal-home .about-title .identity-en { font-size: 13px; }
  body.polished-home.renewal-home .product-box { padding: 32px; }
  body.polished-home.renewal-home .product-demo { padding: 32px 24px; }
  body.polished-home.renewal-home :is(.section-jp,.about-atmosphere figcaption,.field-photo figcaption) { font-size: 14px; }
  body.polished-home.renewal-home .journal-list h3 { font-size: 18px; }
  body.polished-home.renewal-home .journal-list a { padding-block: 32px; }
  body.polished-home.renewal-home .journal-support { padding: 32px; }
  body.polished-home.renewal-home .contact-section-new { padding-block: 112px; }
}
@media (min-width:1024px) {
  body.polished-home.renewal-home .wrap { width: min(calc(100% - 96px),1160px); }
  body.polished-home.renewal-home :is(.brand-section,.philosophy-section,.journal-section) { padding-block: 128px; }
  body.polished-home.renewal-home .wordmark { font-size: 28px; }
  body.polished-home.renewal-home .hero-shot-person { inset: 0 0 0 auto; width: 60%; height: 100%; mask-image: linear-gradient(to right,transparent,#000 20%); }
  body.polished-home.renewal-home .hero-shot-person img { object-position: 60% 45%; }
  body.polished-home.renewal-home .hero-shot-venue { inset: 0 auto 0 0; height: 100%; width: 48%; mask-image: linear-gradient(to right,#000 65%,transparent); }
  body.polished-home.renewal-home .hero-shot-venue img { object-position: 12% 50%; }
  body.polished-home.renewal-home .hero-shot-bottles { display: none; }
  body.polished-home.renewal-home .hero-photograph::after { background: linear-gradient(to right,#16201cf2 0%,#16201cc4 32%,transparent 72%); }
  body.polished-home.renewal-home .hero-caption { bottom: 64px; isolation: isolate; }
  body.polished-home.renewal-home .hero-caption::before {
    content: ""; position: absolute; z-index: -1; pointer-events: none;
    left: calc(-1 * max(48px,(100vw - 1160px) / 2));
    width: calc(min(672px,52.5vw) + 112px + max(48px,(100vw - 1160px) / 2));
    top: -56px; bottom: -64px;
    background: var(--dark);
    mask-image: linear-gradient(to bottom,transparent 0,#000 56px),linear-gradient(to right,#000 0%,#000 90%,transparent 100%);
    mask-composite: intersect;
  }
  body.polished-home.renewal-home .hero-caption h1 { background: transparent; }
  body.polished-home.renewal-home .hero-caption .button-primary { font-size: 16px; }
  body.polished-home.renewal-home .hero-bridge { grid-template-columns: minmax(0,672fr) minmax(0,440fr); gap: 48px; align-items: start; padding-block: 96px; }
  body.polished-home.renewal-home .hero-eyebrow { font-size: 28px; }
  body.polished-home.renewal-home .hero-concept { align-self: start; margin-top: 8px; }
  body.polished-home.renewal-home .hero-concept .concept-scene { width: 104px; height: 112px; }
  body.polished-home.renewal-home .about-layout { grid-template-columns: minmax(0,512fr) minmax(0,600fr); gap: 48px; }
  body.polished-home.renewal-home .about-title h2 { font-size: 36px; }
  body.polished-home.renewal-home .about-atmosphere img { aspect-ratio: 600/640; }
  body.polished-home.renewal-home .about-text .about-lead { font-size: 36px; }
  body.polished-home.renewal-home .field-layout { grid-template-columns: minmax(0,472fr) minmax(0,640fr); gap: 48px; }
  body.polished-home.renewal-home .field-photo { align-self: center; }
  body.polished-home.renewal-home .philosophy-layout { grid-template-columns: minmax(0,448fr) minmax(0,664fr) !important; gap: 48px; }
  body.polished-home.renewal-home .method-intro { display: flex; flex-direction: column; }
  body.polished-home.renewal-home .method-principle { margin-top: auto; }
  body.polished-home.renewal-home .method-panel { padding: 32px; }
  body.polished-home.renewal-home .method-switcher.is-enhanced .method-panel { min-height: 480px; }
  body.polished-home.renewal-home .method-panel h3 { font-size: 36px; }
  body.polished-home.renewal-home .product-box { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 48px; padding: 40px; }
  body.polished-home.renewal-home .product-box > :not(.product-demo) { grid-column: 1; }
  body.polished-home.renewal-home .product-box .product-demo { grid-column: 2; grid-row: 1/span 7; align-self: center; margin: 0; }
  body.polished-home.renewal-home .product-box:nth-child(even) > :not(.product-demo) { grid-column: 2; }
  body.polished-home.renewal-home .product-box:nth-child(even) .product-demo { grid-column: 1; }
  body.polished-home.renewal-home :is(.product-box,.wine-project) h3 { font-size: 36px; }
  body.polished-home.renewal-home .wine-project { grid-template-columns: minmax(0,1fr) auto; padding: 40px; min-height: 320px; align-items: end; }
  body.polished-home.renewal-home .wine-project .text-link { min-width: 200px; }
  body.polished-home.renewal-home .outline-cta { width: 280px; }
  body.polished-home.renewal-home .products-section-new > .wrap > .outline-cta { width: 100%; }
  body.polished-home.renewal-home .journal-support { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; padding: 40px; }
  body.polished-home.renewal-home .journal-support .text-link { min-width: 260px; }
  body.polished-home.renewal-home .creation-story { grid-template-columns: minmax(0,584fr) minmax(0,528fr); gap: 48px; align-items: center; }
  body.polished-home.renewal-home .creation-visual { gap: 24px; }
  body.polished-home.renewal-home .contact-section-new { padding-block: 160px; }
  body.polished-home.renewal-home .contact-section-new p:not(.section-label) { font-size: 17px; margin-bottom: 48px; }
  body.polished-home.renewal-home .contact-section-new .button-light { width: 360px; min-height: 72px; }
  body.polished-home.renewal-home .brand-footer { padding-block: 48px; }
  body.polished-home.renewal-home .footer-top { grid-template-columns: minmax(0,320fr) minmax(0,792fr); gap: 48px; }
  body.polished-home.renewal-home .footer-nav { gap: 24px; }
}
@media (max-width:374px) {
  body.polished-home.renewal-home .about-identity { grid-template-columns: 160px minmax(0,1fr); gap: 8px; }
  body.polished-home.renewal-home .portrait-block,body.polished-home.renewal-home .portrait-block img { width: 160px; height: 160px; }
  body.polished-home.renewal-home .hero-caption h1 { font-size: 36px; }
  body.polished-home.renewal-home .concept-scene { width: 72px; }
}
@media (max-height:600px) and (min-width:600px) and (max-width:1023px) {
  body.polished-home.renewal-home .hero-photograph { min-height: 560px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  body.polished-home.renewal-home *,body.polished-home.renewal-home *::before,body.polished-home.renewal-home *::after { animation: none !important; transition: none !important; }
  body.polished-home.renewal-home .reveal-pending { opacity: 1; transform: none; }
}
