/* The existing green/gold identity, with photographic masks and drawing rules. */
.theme-2 .hero-landscape-image { filter: brightness(.58) saturate(.8); }
.theme-2 .site-header { background: #10271f; }
.theme-2 .scene--hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,32,25,.88), rgba(12,32,25,.62) 50%, rgba(12,32,25,.08)); pointer-events: none; }
.theme-2 .seated-panel { box-shadow: 18px 18px 0 rgba(198,170,111,.16); }
.theme-2 .seated-panel::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(228,205,147,.55); pointer-events: none; }
.theme-2 .scene-nav { border: 0; padding: 8px 0; gap: 8px; }
.theme-2 .scene-nav::before { content: ''; position: absolute; inset: 0 auto 0 50%; width: 1px; background: rgba(198,170,111,.6); }
.theme-2 .scene-nav button { position: relative; width: 40px; height: 40px; margin: 0; border: 0; background: transparent; }
.theme-2 .scene-nav button::before { content: ''; position: absolute; left: calc(50% - 3px); top: 17px; width: 6px; height: 6px; background: var(--gold-light); transition: transform .35s, background .35s; }
.theme-2 .scene-nav button span { display: block; opacity: 0; transform: translateX(-18px); transition: opacity .3s; }
.theme-2 .scene-nav button:is(:hover,:focus-visible,.is-active) { background: transparent; }
.theme-2 .scene-nav button:is(:hover,:focus-visible,.is-active)::before { transform: rotate(45deg) scale(1.5); background: var(--paper); }
.theme-2 .scene-nav button:is(:hover,:focus-visible,.is-active) span { opacity: 1; }
.theme-2 .scene-nav.on-paper { color: var(--ink); }
.theme-2 .scene-nav.on-paper::before { background: #a38a51; }
.theme-2 .scene-nav.on-paper button { color: #665022; }
.theme-2 .scene-nav.on-paper button::before { background: #8a6e36; }
.theme-2 .scene-nav.on-paper button:is(:hover,:focus-visible,.is-active)::before { background: var(--forest); }
.theme-2 .motion-photo { isolation: isolate; }
.theme-2 :is(.experience-photo,.publication-photo,.inner-hero-photo,.article-photo) { position: relative; }
.theme-2 :is(.experience-photo,.publication-photo,.inner-hero-photo:not(.editorial-photo))::after { content: ''; position: absolute; z-index: -1; inset: 18px -16px 38px 16px; border: 1px solid var(--line); pointer-events: none; }
.editorial-motion-ready .theme-2 .motion-photo img { clip-path: inset(0 100% 0 0); transition: clip-path 1.05s cubic-bezier(.22,.65,.2,1); }
.editorial-motion-ready .theme-2 .motion-photo.motion-in img { clip-path: inset(0 0 0 0); }
.editorial-motion-ready .theme-2 .motion-photo::before,
.editorial-motion-ready .theme-2 .motion-photo::after { transform: scaleY(0); transform-origin: top; transition: transform .8s cubic-bezier(.22,.65,.2,1) .14s; }
.editorial-motion-ready .theme-2 .motion-photo.motion-in::before,
.editorial-motion-ready .theme-2 .motion-photo.motion-in::after { transform: scaleY(1); }
.editorial-motion-ready .theme-2 .motion-title { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(18px); transition: opacity .65s, clip-path .85s cubic-bezier(.22,.65,.2,1), transform .85s cubic-bezier(.22,.65,.2,1); }
.editorial-motion-ready .theme-2 .motion-title.motion-in { opacity: 1; clip-path: inset(-10px -10px -10px -10px); transform: none; }
.theme-2 .motion-word { display: inline-block; }
.editorial-motion-ready .theme-2 .motion-title .motion-word {
  opacity: 0;
  transform: translateY(.55em);
  transition: opacity .65s ease var(--word-delay, 0ms), transform .75s cubic-bezier(.22,.65,.2,1) var(--word-delay, 0ms);
}
.editorial-motion-ready .theme-2 .motion-title.motion-in .motion-word { opacity: 1; transform: none; }
.theme-2 .motion-label::after { content: ''; display: block; width: 64px; height: 1px; margin-top: 16px; background: currentColor; }
.editorial-motion-ready .theme-2 .motion-label::after { transform: scaleX(0); transform-origin: left; transition: transform .8s cubic-bezier(.22,.65,.2,1) .2s; }
.editorial-motion-ready .theme-2 .motion-label.motion-in::after { transform: scaleX(1); }
.theme-2 .motion-rule { position: relative; }
.editorial-motion-ready .theme-2 .motion-rule { border-bottom-color: transparent; }
.editorial-motion-ready .theme-2 .motion-rule::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--line); transform: scaleX(0); transform-origin: left; transition: transform 1s cubic-bezier(.22,.65,.2,1); }
.editorial-motion-ready .theme-2 .motion-rule.motion-in::after { transform: scaleX(1); }

@media (min-width: 1051px) {
  .theme-2 .cinematic-home > .scene:not(.scene--hero) { min-height: calc(100svh - var(--scene-header-height, 95px)); padding-block: 28px; align-items: center; }
  .theme-2 .production-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; max-width: none; margin-top: 22px; }
  .theme-2 .production-links a { font-size: 16px; line-height: 1.4; padding-block: 9px; }
  .theme-2 .production-copy > p:not(.eyebrow) { margin-bottom: 20px; }
  .theme-2 .production-photographs { min-height: min(65svh, 610px); }
  .theme-2 .production-detail { bottom: 0; }
  .theme-2 .production-main figcaption { text-align: right; }
  .theme-2 .bottle-detail { height: min(22svh, 210px); }
  .theme-2 .experience-photo { max-width: min(360px, calc((100svh - var(--scene-header-height, 95px) - 110px) * .5625)); justify-self: center; }
  .theme-2 .experience-parallax { aspect-ratio: auto; }
  .theme-2 .cellar-portrait { height: auto; object-fit: contain; }
  .theme-2 .sample-image { height: min(60svh, 580px); }
  .theme-2 .scene--publications .scene-copy > h2 { margin-bottom: 22px; }
  .theme-2 .publication-links > a { padding-block: 16px; }
  body.theme-2.theme-2 .publication-links h3 { font-size: 28px; }
  body.theme-2.theme-2 .publication-links p { font-size: 16px; line-height: 1.55; }
  .theme-2 .publication-links > a > span { margin-bottom: 8px; }
  .theme-2 .eyebrow { margin-bottom: 18px; }
  body.theme-2.theme-2 .scene--production h2 { font-size: clamp(46px,4.2vw,60px); margin-bottom: 20px; }
}
@media (min-width: 1051px) and (max-height: 760px) {
  body.theme-2.theme-2 { --type-display-size: 58px; --type-section-size: 50px; --type-years-size: 105px; --type-contact-size: 60px; }
  .theme-2 .cinematic-home > .scene:not(.scene--hero) { padding-block: 22px; }
  .theme-2 .scene--hero { padding-top: 126px; padding-bottom: 55px; }
  .theme-2 .hero-note { margin-top: 20px; }
  .theme-2 .hero-copy .eyebrow { margin-bottom: 16px; }
  body.theme-2.theme-2 .production-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.55; margin-bottom: 14px; }
  .theme-2 .production-links { margin-top: 12px; gap: 0 16px; }
  body.theme-2.theme-2 .scene--production .production-links a { font-size: 16px; line-height: 1.4; padding-block: 7px; }
  body.theme-2.theme-2 .scene--production h2 { font-size: 50px; margin-bottom: 16px; }
  .theme-2 .eyebrow { margin-bottom: 14px; }
  .theme-2 .motion-label::after { margin-top: 10px; }
  .theme-2 .experience-copy h2 { margin-bottom: 20px; }
  .theme-2 .experience-copy p { margin-block: 16px; }
  .theme-2 .meeting-services > a { padding-block: 18px; }
  body.theme-2.theme-2 .meeting-services h3 { font-size: 29px; }
  .theme-2 .publication-links > a { padding-block: 12px; }
  body.theme-2.theme-2 .publication-links h3 { font-size: 26px; line-height: 1.2; margin: 0 0 8px; }
  body.theme-2.theme-2 .scene--publications .publication-links p { font-size: 16px; line-height: 1.5; margin: 0 0 8px; }
  body.theme-2.theme-2 .publication-links > a > span { font-size: 12px; line-height: 1.4; }
  .theme-2 .publication-copy > .quiet-link { margin-top: 16px; }
  .theme-2 #publications-heading br { display: none; }
  .theme-2 .cinematic-home > .scene.scene--publications { padding-block: 14px; }
}
@media (max-width: 800px) {
  .theme-2 .hero-landscape-image { filter: brightness(.45) saturate(.75); }
  .theme-2 .scene--hero::before { background: rgba(12,32,25,.48); }
  .theme-2 .seated-panel { box-shadow: 10px 10px 0 rgba(198,170,111,.16); }
  .theme-2 .scene-nav { right: 0; gap: 2px; }
  .theme-2 .scene-nav button { width: 32px; height: 42px; }
  .theme-2 .scene-nav button::before { top: 18px; }
  .theme-2 .scene-nav button span { transform: translateX(-11px); font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-2 :is(.motion-title,.motion-photo img) { clip-path: none !important; opacity: 1 !important; transform: none !important; transition: none !important; }
  .theme-2 .motion-word { opacity: 1 !important; transform: none !important; transition: none !important; }
  .theme-2 .motion-photo.inner-photo-standing img { transform: translateY(-11.71875%) !important; }
  .theme-2 .motion-photo::before,.theme-2 .motion-photo::after,.theme-2 .motion-label::after,.theme-2 .motion-rule::after { transform: none !important; transition: none !important; }
}

/* Inner photographs form restrained editorial compositions beside their text. */
.theme-2.is-inner { --article-photo-space: 28px; }
.theme-2.is-inner .article-section[id] { scroll-margin-top: 128px; }
.theme-2 .article-chapter {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
  padding-block: 42px;
  border-bottom: 1px solid var(--line);
}
.theme-2 .article-chapter > .article-section { min-width: 0; padding: 0; border: 0; }
.theme-2 .article-chapter > .article-section p { max-width: none; }
.theme-2 .article-chapter--reverse { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.theme-2 .article-chapter--reverse > .article-section { grid-column: 2; grid-row: 1; }
.theme-2 .article-chapter--reverse > .article-photo { grid-column: 1; grid-row: 1; }
.theme-2 .designed-photo .photo-window {
  position: relative;
  width: 100%;
  aspect-ratio: var(--frame-ratio);
  overflow: hidden;
  background: var(--paper);
}
.theme-2 .designed-photo:not(.inner-photo-standing) .photo-window img {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
}
.theme-2 .article-photo.designed-photo {
  --photo-width-limit: 620px;
  --photo-height-limit: min(52svh, 460px);
  display: block;
  width: min(calc(100% - 28px), var(--photo-width-limit), calc(var(--photo-height-limit) * var(--frame-ratio)));
  max-width: 100%;
  height: auto;
  justify-self: center;
  margin: 40px auto;
  overflow: visible;
}
.theme-2 .article-photo.designed-photo.photo--portrait {
  --photo-width-limit: 340px;
  --photo-height-limit: min(58svh, 560px);
}
.theme-2 .article-chapter > .article-photo.designed-photo { margin: 0; }
.theme-2 .inner-hero-photo.designed-photo:not(.editorial-photo) {
  --photo-width-limit: 520px;
  --photo-height-limit: min(52svh, 350px);
  width: min(calc(100% - 28px), var(--photo-width-limit), calc(var(--photo-height-limit) * var(--frame-ratio)));
  height: auto;
  justify-self: center;
  overflow: visible;
}
.theme-2 .inner-hero-photo.designed-photo.photo--portrait:not(.editorial-photo) {
  --photo-width-limit: 360px;
  --photo-height-limit: min(64svh, 580px);
}
.theme-2 .designed-photo:not(.editorial-photo)::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: -14px 22px 40px -14px;
  background: rgba(151, 132, 91, .12);
  pointer-events: none;
}
.theme-2 .article-photo.designed-photo::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 14px -14px 32px 14px;
  border: 1px solid var(--line);
  pointer-events: none;
}
.theme-2 .designed-photo:not(.editorial-photo) figcaption {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 14px 0 0;
  color: #586153;
  font: 400 14px/1.6 var(--sans);
  text-align: left;
  overflow-wrap: anywhere;
}
@media (max-width: 800px) {
  .theme-2 .article-chapter,
  .theme-2 .article-chapter.article-chapter--reverse { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 34px; }
  .theme-2 .article-chapter > .article-section,
  .theme-2 .article-chapter > .article-photo { grid-column: 1; grid-row: auto; }
  .theme-2 .article-photo.designed-photo { --photo-height-limit: min(54svh, 420px); margin-block: 32px; }
  .theme-2 .article-photo.designed-photo.photo--portrait { --photo-height-limit: min(64svh, 520px); }
  .theme-2 .inner-hero-photo.designed-photo:not(.editorial-photo) { --photo-height-limit: min(56svh, 350px); }
  .theme-2 .inner-hero-photo.designed-photo.photo--portrait:not(.editorial-photo) { --photo-height-limit: min(64svh, 520px); }
  .theme-2 .designed-photo:not(.editorial-photo)::before { inset: -12px 18px 36px -12px; }
  .theme-2 .article-photo.designed-photo::after { inset: 12px -12px 30px 12px; }
}
