/* R1: opt-in presentation for the English/Japanese TOP and OS pages only.
   Original photographs and baseline styles remain unchanged.
   No full-screen blend/filter layers or permanent compositor hints. */
.r1-page.os-page .os-drop-experience { scroll-margin-top:100px; }
.r1-page.os-page #os-work-records { scroll-margin-top:100px; }
@media (max-width:660px) {
  .r1-page.os-page #os-work-records { scroll-margin-top:160px; }
}
.r1-page.os-page .os-drop-experience > p { max-width:60em; margin:18px 0; }
.r1-page.os-page .os-drop-experience__note { font-size:13px; color:var(--ink-muted); }
.r1-page.os-page #kirin-drop-frame { display:block; width:100%; height:1100px; border:1px solid var(--hairline); border-radius:24px; margin-top:28px; background:var(--canvas-cream); }
@font-face {
  font-family: 'Kirin R1 Waldenburg';
  src: url('/fonts/kmrwaldenburg-book.woff2') format('woff2');
  font-style: normal;
  font-weight: 375;
  font-display: swap;
}

.r1-page {
  --canvas-cream: #eeeae1;
  --canvas-soft: #f5f1e9;
  --canvas-deep: #e4dfd4;
  --ink-primary: #2e2d29;
  --ink-strong: #202521;
  --ink-body: #4e504a;
  --ink-muted: #62645c;
  --ink-whisper: #62645c;
  --hairline: #c8c4b8;
  --hairline-soft: #d8d3c7;
  --signal-amber: #80682e;
  --signal-amber-soft: #c9b98e;
  --signal-amber-ink: #665128;
  --accent-terracotta: var(--signal-amber-ink);
  --accent-terracotta-soft: var(--signal-amber-soft);
  --water-line: #426873;
  --surface-card: #f3efe6;
  --font-display: 'Kirin R1 Waldenburg', 'Hiragino Mincho ProN', 'Yu Mincho', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', 'Segoe UI', sans-serif;
  --r1-radius: 12px;
  --r1-stone-shadow: inset 0 1px 0 #faf7ef, inset 0 -1px 0 #dcd6c9,
    0 2px 4px rgb(38 43 37 / 4%), 0 16px 32px rgb(38 43 37 / 6%);
  --gutter: clamp(22px, 4vw, 48px);
  --wide: 1180px;
  font-synthesis: none;
  font-kerning: normal;
}

.r1-page :is(h1, h2, h3) {
  font-family: var(--font-display);
  font-weight: 375;
  text-wrap: balance;
}
.r1-page :is(p, li) { overflow-wrap: anywhere; }
/* Prefer author-selected phrase breaks; permit emergency wrapping at text zoom. */
.r1-page .r1-phrase-heading {
  word-break: keep-all;
  overflow-wrap: anywhere;
  white-space: normal;
  line-break: strict;
}
.r1-page .r1-phrase-unit {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.r1-page :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid #385d68;
  outline-offset: 5px;
}
.r1-page :is(.hero, .os-header) a:focus-visible,
.r1-page .site-header:not(.site-header--scrolled) a:focus-visible,
.r1-page .site-header:not(.site-header--scrolled) summary:focus-visible {
  outline-color: #f5f1e9;
}
.r1-page .section {
  padding-top: clamp(72px, 9vw, 128px);
  padding-bottom: clamp(72px, 9vw, 128px);
}
.r1-page .section-kicker { color: var(--signal-amber-ink); }
.r1-page .site-header--scrolled {
  background: var(--canvas-cream);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 2px 6px rgb(38 43 37 / 5%);
}
.r1-page .site-header__inner { min-width: 0; }
.r1-page .site-logo { font-weight: 375; letter-spacing: .13em; }
.r1-page .site-nav a { min-height: 36px; display: inline-flex; align-items: center; }
.r1-page .site-nav__language-panel {
  background: var(--canvas-soft);
  border-color: var(--hairline);
  border-radius: 6px;
  box-shadow: var(--r1-stone-shadow);
}
.r1-page .site-nav__language-panel a { color: var(--ink-primary); }
.r1-page .site-nav__language-panel a:hover,
.r1-page .site-nav__language-panel a[aria-current='page'] { color: var(--ink-strong); background: var(--canvas-deep); }
.r1-page .site-nav__language-panel .site-nav__language-code { color: var(--signal-amber-ink); }
.r1-page .site-header .site-nav__language-panel a:focus-visible { outline-color: #385d68; }

/* Stationary photography: retain the original asset, scale and crop. */
.r1-page .hero__bg { transform: scale(1.1); will-change: auto; }
.r1-page .hero__content { will-change: auto; max-width: 100%; }
.r1-page .hero { height: auto; min-height: 760px; min-height: 100svh; }
.r1-page .hero__inner { padding-top: 120px; padding-bottom: 96px; }
.r1-page .hero__title--mega {
  max-width: 100%;
  font-size: clamp(2.5rem, 11.5vw, 8.25rem);
  font-weight: 375;
  line-height: .94;
  letter-spacing: -.025em;
}
.r1-page .hero__title--mega span { display: block; }
.r1-page .hero__lead {
  max-width: 32ch;
  font-size: clamp(1.1rem, 2.25vw, 1.85rem);
  font-family: var(--font-body);
  line-height: 1.5;
  font-weight: 400;
  margin-top: 30px;
}
.r1-page .r1-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  margin-top: 36px;
  font-size: 15px;
  color: var(--canvas-soft);
}
.r1-page .r1-hero-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid rgb(245 241 233 / 55%);
}
.r1-page .r1-hero-actions a span { transition: transform 140ms ease-out; }
.r1-page .r1-hero-actions a:hover span { transform: translate(2px, -2px); }

/* Fine edges, carved controls, a little depth only where it helps. */
.r1-page .btn {
  min-height: 48px;
  padding: 14px 22px;
  border-radius: 6px;
  white-space: normal;
  text-align: center;
  line-height: 1.45;
  box-shadow: inset 0 1px 0 rgb(250 247 239 / 35%), 0 2px 3px rgb(38 43 37 / 12%);
  transition: transform 140ms ease-out, background-color 140ms ease-out, border-color 140ms ease-out;
}
.r1-page .btn--primary { background: var(--ink-primary); color: #f5f1e9; border-color: var(--ink-primary); }
.r1-page .btn--primary:hover { background: #454139; border-color: #454139; }
.r1-page .btn--ghost { color: var(--ink-primary); border-color: #aaa797; background: var(--surface-card); }
.r1-page .btn--ghost:hover { background: var(--canvas-deep); border-color: #78786b; }
.r1-page .btn:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgb(38 43 37 / 15%);
}
.r1-page .statement { padding-bottom: 56px; }
.r1-page .statement__headline { max-width: 840px; font-size: clamp(1.7rem, 3.4vw, 2.8rem); }
.r1-page .statement__body { margin-top: 28px; max-width: 720px; }
.r1-page .statement__body p { font-size: 18px; line-height: 1.8; }
.r1-page .brand-paths { padding-top: 32px; }
.r1-page .brand-paths__title { font-size: clamp(2rem, 5vw, 4rem); }
.r1-page .brand-paths__grid {
  gap: 24px;
  margin-top: 32px;
  border: 0;
}
.r1-page .brand-path-card,
.r1-page .brand-path-card + .brand-path-card {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--hairline-soft);
  border-radius: var(--r1-radius);
  background: var(--surface-card);
  box-shadow: var(--r1-stone-shadow);
}
.r1-page .brand-path-card a { min-height: 44px; }
.r1-page .brand-path-card:hover { border-color: var(--hairline); }
.r1-page .pricing-header { padding-top: 64px; padding-bottom: 40px; }
.r1-page .pricing-products { padding-top: 0; }
.r1-page .price-grid { gap: 24px; }
.r1-page .price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--hairline-soft);
  border-radius: var(--r1-radius);
  background: var(--surface-card);
  box-shadow: var(--r1-stone-shadow);
}
.r1-page .price-card__visual { border-radius: 6px; background: var(--canvas-deep); }
.r1-page .price-card__name { font-size: 1.75rem; }
.r1-page .price-card__amount { color: var(--ink-strong); font-weight: 375; }
.r1-page .price-card__tagline { color: var(--ink-primary); }
.r1-page .price-card__list { margin-bottom: 28px; }
.r1-page .price-card__list li { border-color: var(--hairline-soft); }
.r1-page .price-card > .btn,
.r1-page .price-card__actions { margin-top: auto; }
.r1-page .price-card__actions { padding-top: 24px; }
.r1-page .price-card--owner-upgrade .price-card__owner-action {
  display: flex;
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 24px;
}
.r1-page .price-card--owner-upgrade .price-card__owner-action .btn {
  display: block;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-top: 0;
  padding-inline: 12px;
  font-size: 1rem;
  justify-content: center;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.r1-page .price-card__evaluation,
.r1-page .price-card__upgrade { color: var(--ink-body); }
.r1-page .price-card:hover { border-color: #aaa797; }
.r1-page .cta-section { padding-top: 24px; }

/* News is HTML from checked facts, not a carousel or a new destination. */
.r1-page .news { padding-top: 16px; padding-bottom: 40px; }
.r1-page .news__header {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 24px;
}
.r1-page .news__header h2 { font-size: clamp(2rem, 4vw, 3rem); }
.r1-page .news__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--hairline); }
.r1-page .news__item {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr);
  gap: 10px 32px;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
}
.r1-page .news__meta { display: flex; flex-wrap: wrap; align-content: start; gap: 8px 16px; font-size: 13px; }
.r1-page .news__meta time { font-family: var(--font-mono); color: var(--ink-muted); }
.r1-page .news__category { color: var(--signal-amber-ink); }
.r1-page .news__products { flex-basis: 100%; color: var(--ink-muted); }
.r1-page .news__title { font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.45; overflow-wrap: anywhere; }
.r1-page .news__title a { text-decoration: underline; text-decoration-color: var(--hairline); text-underline-offset: 6px; }
.r1-page .news__title a:hover { text-decoration-color: var(--signal-amber-ink); }
.r1-page .news__summary { grid-column: 2; font-size: 15px; line-height: 1.7; max-width: 58ch; }
.r1-page .news__source,
.r1-page .news__disclosure { grid-column: 2; font-size: 13px; line-height: 1.7; color: var(--ink-muted); }

/* OS: retain its own photograph and workflow. No imitation meters in R1. */
.r1-page .os-header { min-height: 100svh; }
.r1-page .os-header::before { filter: none; }
.r1-page .os-header h1 { font-weight: 375; font-size: clamp(3.3rem, 7vw, 6.7rem); }
.r1-page .os-header .sub { font-family: var(--font-body); max-width: 570px; font-size: 17px; line-height: 1.75; color: #e0ded5; }
.r1-page .os-header .section-kicker { color: #e2d9bf; }
.r1-page .os-header .pricing-disclaimer { color: #e0ded5; max-width: 580px; }
.r1-page .os-header .pricing-disclaimer a {
  color: inherit;
  border-bottom: 0;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.r1-page .os-header .btn--ghost { color: #f5f1e9; background: rgb(46 45 41 / 60%); border-color: #9b9c89; }
.r1-page .os-header .btn--ghost:hover { background: var(--ink-primary); }
.r1-page .os-header .os-facts span { border-radius: 4px; color: #e9e5d9; background: rgb(32 37 33 / 65%); }
/* Flow the two cells inside the existing illustration instead of overlapping text coordinates.
   Keep overflow visible: text-zoom acceptance must not be replaced by clipping. */
.r1-page .r1-map-comparison { overflow: visible; }
.r1-page .r1-map-comparison__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  align-items: start;
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.45;
}
.r1-page .r1-map-comparison__row > span {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.r1-page .r1-map-comparison__copy { color: var(--ink-body); }
.r1-page .r1-map-comparison__destination {
  color: var(--signal-amber);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-align: right;
}
/* Leave room for the complete phrase in a three-column introduction card. */
.r1-page .os-core-video__path .r1-phrase-heading {
  font-size: clamp(1.45rem, 2.2vw, 1.875rem);
}
.r1-page .os-evaluation,
.r1-page .os-systems,
.r1-page .os-principles { border-bottom: 1px solid var(--hairline-soft); }
.r1-page .os-principle,
.r1-page .os-principle:first-child,
.r1-page .os-system,
.r1-page .os-support-card {
  padding: 32px;
  border: 1px solid var(--hairline-soft);
  border-radius: var(--r1-radius);
  background: var(--surface-card);
  box-shadow: var(--r1-stone-shadow);
}
.r1-page .os-principle-grid,
.r1-page .os-system-grid { gap: 24px; }
.r1-page .os-section-head h2 { font-size: clamp(2.2rem, 4.5vw, 4rem); }
.r1-page .os-note,
.r1-page .os-system p,
.r1-page .os-principle p { color: var(--ink-body); }
.r1-page .os-records { border-radius: 6px; background: var(--canvas-deep); }
.r1-page .experience-entry { border-radius: var(--r1-radius); background: var(--canvas-deep); border-color: var(--hairline); }
.r1-page .site-footer { border-top: 1px solid var(--hairline); }

@media (max-width: 880px) {
  .r1-page .site-header__inner { align-items: flex-start; gap: 12px; }
  .r1-page .site-nav { gap: 2px 14px; }
  .r1-page .brand-paths__grid { grid-template-columns: 1fr; }
  .r1-page .brand-path-card + .brand-path-card { border: 1px solid var(--hairline-soft); }
  .r1-page .price-grid { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
  .r1-page .price-card { padding: 28px; }
  .r1-page .news__item { grid-template-columns: 1fr; gap: 14px; }
  .r1-page .news__summary,
  .r1-page .news__source,
  .r1-page .news__disclosure { grid-column: 1; }
  .r1-page .news__products { flex-basis: auto; }
}
@media (max-width: 620px) {
  .r1-page .os-buy .r1-phrase-heading { font-size: clamp(1.75rem, 7.5vw, 2.2rem); }
  .r1-page .site-header__inner { flex-direction: column; padding-block: 14px; gap: 8px; }
  .r1-page .site-logo { font-size: 14px; }
  .r1-page .site-nav { justify-content: flex-start; gap: 0 14px; }
  .r1-page .site-nav a { font-size: 13px; }
  .r1-page .site-nav__language-menu { padding-left: 12px; margin-left: 0; }
  .r1-page .site-nav__language-menu summary { font-size: 13px; }
  .r1-page .hero__inner { padding-top: 176px; padding-bottom: 100px; }
  .r1-page .r1-hero-actions { gap: 12px 24px; }
  .r1-page .r1-hero-actions a { font-size: 13px; gap: 12px; }
  .r1-page .os-header { padding-top: 180px; padding-bottom: 72px; }
  .r1-page .os-header .sub { font-size: 16px; }
  .r1-page .os-actions { gap: 12px; }
  .r1-page .os-actions .btn { width: 100%; }
  .r1-page .os-principle,
  .r1-page .os-principle:first-child,
  .r1-page .os-system,
  .r1-page .os-support-card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .r1-page .btn,
  .r1-page .r1-hero-actions a span { transition: none; }
  .r1-page .btn:active,
  .r1-page .r1-hero-actions a:hover span { transform: none; }
}
