/* Scoped restoration of the local 09-la-mer.html story section.
   Append after assembled.css. No opening/header/footer selector is affected.
   P008/P044 are the user-approved media substitutions; P044 keeps its safe crop. */
.assembled-page .assembled-stories-source-surface {
  display: flow-root;
  background: #fff;
  color: #1d201d;
}
.assembled-page .assembled-stories {
  position: relative;
  --story-header-clearance: 120px;
  height: calc(100svh - var(--story-header-clearance) - 12px);
  scroll-margin-top: var(--story-header-clearance);
  margin: 96px 0;
  padding: 0;
  overflow: hidden;
  background: #f8f8f5;
  color: #1d201d;
  font: 400 14px/1.75 Poppins, Arial, sans-serif;
  letter-spacing: normal;
  text-align: start;
  text-transform: none;
  touch-action: pan-y pinch-zoom;
}
.assembled-page .assembled-story-track {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: stretch;
  transition: transform .28s var(--ease-out, cubic-bezier(.23, 1, .32, 1));
}
.assembled-page .assembled-story-slide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: none;
  flex: 0 0 90%;
  width: 90%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  align-items: stretch;
}
.assembled-page .assembled-story-photo {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  grid-column: auto;
  grid-row: auto;
}
.assembled-page .assembled-story-photo img {
  /* Both photographs use the same undistorted, portrait-sized visible frame. */
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: min(100%, calc(var(--story-photo-height, 640px) * .8));
  max-width: 100%;
  height: var(--story-photo-height, 640px);
  transform: translateX(-50%);
  object-fit: contain;
  object-position: 50% 0%;
}
.assembled-page .assembled-story-photo-44 img {
  object-fit: cover;
  object-position: 82% 50%;
}
.assembled-page .assembled-story-copy {
  align-self: center;
  width: 75%;
  max-width: 355px;
  margin: 0 auto;
  padding: 0 0 60px;
  grid-column: auto;
  grid-row: auto;
}
.assembled-page .assembled-story-copy h3 {
  font: 400 50.4375px/1.1 Amiri, Georgia, serif;
  letter-spacing: -.05em;
  text-transform: uppercase;
  max-width: 14ch;
  margin: 0;
  text-wrap: wrap;
}
.assembled-page .assembled-story-copy p {
  font: 400 14px/1.65 Poppins, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  margin: 24px 0 18px;
  max-width: none;
}
.assembled-page .assembled-story-slide:not(.is-active) .assembled-story-copy {
  visibility: hidden;
}
.assembled-page .assembled-story-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 0;
  font: 400 14px/1.75 Poppins, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-thickness: 1px;
  transition: opacity .2s var(--ease-out, cubic-bezier(.23, 1, .32, 1)), transform .15s var(--ease-out, cubic-bezier(.23, 1, .32, 1));
}
.assembled-page .assembled-story-tools {
  position: absolute;
  left: 52%;
  bottom: 24px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}
.assembled-page .assembled-story-tools button {
  display: block;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #9b9f99;
  border-radius: 50%;
  background: none;
  color: inherit;
  padding: 1px 6px;
  margin: 0;
  font: 400 18px/1.75 Poppins, Arial, sans-serif;
  letter-spacing: normal;
  text-align: center;
  text-transform: none;
  opacity: 1;
  transition: opacity .2s var(--ease-out, cubic-bezier(.23, 1, .32, 1)), transform .15s var(--ease-out, cubic-bezier(.23, 1, .32, 1));
}
.assembled-page .assembled-story-tools [data-assembled-story-counter] {
  font: 400 11px/1.75 Poppins, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  min-width: 44px;
  text-align: start;
  letter-spacing: normal;
}
.assembled-page .assembled-story-tools button:active,
.assembled-page .assembled-story-link:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) {
  .assembled-page .assembled-story-link:hover { opacity: .65; }
  .assembled-page .assembled-story-tools button:hover { background: none; }
}
@media (max-width: 1000px) {
  .assembled-page .assembled-story-copy { width: 80%; }
  .assembled-page .assembled-story-copy h3 {
    font-size: 38px;
    line-height: 1.06;
    letter-spacing: -.02em;
  }
}
@media (max-width: 660px) {
  .assembled-page .assembled-stories {
    margin: 68px 0;
    padding-bottom: 0;
    background: #f7f7f3;
  }
  .assembled-page .assembled-story-slide {
    flex-basis: 89%;
    width: 89%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) var(--story-copy-space, auto);
    min-height: 0;
  }
  .assembled-page .assembled-story-photo {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: auto;
    min-height: 0;
  }
  .assembled-page .assembled-story-copy {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    max-width: none;
    padding: 22px 24px 78px;
    margin: 0;
  }
  .assembled-page .assembled-story-copy h3 { font-size: 34px; }
  .assembled-page .assembled-story-copy p {
    font-size: 14px;
    line-height: 1.7;
    margin: 16px 0 10px;
    max-width: 350px;
  }
  .assembled-page .assembled-story-tools { left: 24px; bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .assembled-page .assembled-story-track { transition: none; }
  .assembled-page .assembled-story-tools button:active { transform: scale(.97); }
}

/* The protected RR header changes height at its existing 760px breakpoint. */
@media (max-width: 760px) {
  .assembled-page .assembled-stories { --story-header-clearance: 88px; }
}
/* On a short landscape display, controls sit beneath the left image while
   the complete copy keeps the right column. Both image frames remain equal. */
@media (min-width: 661px) and (max-height: 520px) {
  .assembled-page .assembled-story-copy { width: 88%; max-width: none; padding: 0; }
  .assembled-page .assembled-story-copy h3 { font-size: 26px; line-height: 1.06; max-width: none; }
  .assembled-page .assembled-story-copy p { font-size: 12px; line-height: 1.5; margin: 12px 0 4px; }
  .assembled-page .assembled-story-tools { left: 24px; bottom: 12px; }
}
@media (max-width: 660px) and (max-height: 620px) {
  .assembled-page .assembled-story-copy { padding: 12px 20px 68px; }
  .assembled-page .assembled-story-copy h3 { font-size: 28px; }
  .assembled-page .assembled-story-copy p { font-size: 13px; line-height: 1.55; margin: 12px 0 6px; }
  .assembled-page .assembled-story-tools { left: 20px; bottom: 12px; }
}

/* Local03 first Fermente diagram; source composition, not a new editorial layout.
   P008 is the user-selected sauce-bowl photo moved from the first story. */
.assembled-page .assembled-ferment{display:block;margin:0;padding:0;background:#151515;color:#f7f7f4;font:400 14px/1.7 Poppins,Arial,sans-serif}
.assembled-ferment .diagram-scene{position:relative;max-width:1264px;margin:auto;min-height:850px;color:#f7f7f4}
.assembled-ferment .diagram-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.assembled-ferment .diagram-connectors path{fill:none;stroke:#8d8d85;stroke-width:1;vector-effect:non-scaling-stroke}
.assembled-ferment .diagram-title.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.assembled-ferment .diagram-brand{position:absolute;left:12%;top:8%;width:150px;max-width:240px;z-index:2;color:#fff}
.assembled-ferment .diagram-brand>svg{display:block;width:100%;height:auto}
.assembled-ferment .diagram-core{position:absolute;width:380px;height:380px;left:50%;top:54%;transform:translate(-50%,-50%);margin:0}
.assembled-ferment .diagram-core>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;border:1px solid #6c6e68}
.assembled-ferment .diagram-ring{position:absolute;pointer-events:none;border:1px solid #9b9d96;border-radius:50%;z-index:1}
.assembled-ferment .ring-one{inset:-22px}.assembled-ferment .ring-two{inset:-45px}.assembled-ferment .ring-three{inset:-66px}.assembled-ferment .ring-four{inset:-87px}
.assembled-ferment .diagram-label{position:absolute;z-index:2;width:210px;font:400 11px/1.65 Poppins,Arial,sans-serif}
.assembled-ferment .diagram-label h3{font:400 18px/1.3 Amiri,Georgia,serif;text-transform:uppercase;margin:0 0 9px}
.assembled-ferment :is(.label-2,.label-3,.label-4) h3{margin-bottom:13px}
.assembled-ferment .diagram-label p{max-width:28ch;margin:0}
.assembled-ferment .label-0{left:40.5%;top:8%;padding:0 0 0 18px;min-height:112px}
.assembled-ferment .label-1{left:66%;top:8%;padding:0 0 0 18px;min-height:180px}
.assembled-ferment .label-2{left:12%;top:48%;width:190px}
.assembled-ferment .label-3{left:77%;top:49%;width:190px}
.assembled-ferment .label-4{left:12%;top:78%;width:190px}
.assembled-ferment .diagram-note{transform-origin:center center;position:absolute;z-index:3;left:61%;top:86%;width:300px;padding:0;background:none;color:#fff;transform:rotate(0deg);font:400 30px/1.25 Amiri,Georgia,serif;text-transform:none;white-space:pre-line;margin:0;text-wrap:balance}
@media(max-width:1000px){
 .assembled-ferment .diagram-scene{min-height:760px}
 .assembled-ferment .diagram-brand{left:7%;width:130px}
 .assembled-ferment .diagram-core{width:310px;height:310px}
 .assembled-ferment .diagram-label{width:170px;font-size:10px}
 .assembled-ferment .label-0{left:38%}.assembled-ferment .label-1{left:68%}
 .assembled-ferment .label-2{left:7%;width:150px}.assembled-ferment .label-3{left:79%;width:150px}
 .assembled-ferment .label-4{left:7%;top:79%;width:150px}
 .assembled-ferment .diagram-note{width:230px;font-size:27px;top:87%}
}
@media(max-width:700px){
 .assembled-ferment .diagram-scene{min-height:770px;overflow:hidden}
 .assembled-ferment .diagram-brand{left:7%;top:5%;width:100px}
 .assembled-ferment .diagram-core{width:185px;height:185px;top:52%}
 .assembled-ferment .ring-one{inset:-14px}.assembled-ferment .ring-two{inset:-29px}.assembled-ferment .ring-three{inset:-43px}.assembled-ferment .ring-four{inset:-57px}
 .assembled-ferment .diagram-label{font-size:9px;width:43%;max-width:none}
 .assembled-ferment .diagram-label h3{font-size:16px;margin-bottom:5px}
 .assembled-ferment :is(.label-2,.label-3,.label-4) h3{margin-bottom:12px}
 .assembled-ferment .label-0{left:55%;top:5%;padding-left:12px;min-height:90px;width:39%}
 .assembled-ferment .label-1{left:55%;top:21%;padding-left:12px;min-height:92px;width:39%}
 .assembled-ferment .label-2{left:7%;top:75%;width:38%}
 .assembled-ferment .label-3{left:55%;top:75%;width:39%}
 .assembled-ferment .label-4{left:7%;top:89%;width:39%}
 .assembled-ferment .diagram-note{left:55%;top:86%;width:calc(45% - 24px);font-size:24px}
}
@media(max-width:380px){.assembled-ferment .diagram-note{font-size:22px}}

/* Source01 .dp-archive: same fullscreen photo, center copy and rectangle CTA.
   Prefix prevents its hero/header/other sections from entering this assembly. */
.assembled-dp-places.dp-archive{height:100svh;min-height:620px;position:relative;overflow:hidden;isolation:isolate;color:#fff}
.assembled-dp-places.dp-archive>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.assembled-dp-places.dp-archive::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.57)}
.assembled-dp-places .dp-archive-copy{position:absolute;left:7%;right:7%;top:50%;transform:translateY(-50%);text-align:center;max-width:480px;margin:auto}
.assembled-dp-places .dp-archive-copy h2{font:400 clamp(24px,2.4vw,32px)/1.2 Amiri,Georgia,serif;letter-spacing:-.02em;text-transform:none;max-width:22ch;margin:0 auto 20px;text-wrap:balance}
.assembled-dp-places .dp-archive-copy p{font-size:12px;line-height:1.75;max-width:45ch;margin:0 auto 25px}

.assembled-dp-places .dp-clearance-content{display:flow-root}
@media(max-width:760px){.assembled-dp-places.dp-archive{min-height:560px}.assembled-dp-places .dp-archive-copy h2{font-size:24px}.assembled-dp-places .dp-archive-copy p{font-size:11px;max-width:31ch;margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.assembled-dp-places *{transition:none!important;scroll-behavior:auto!important}}

/* Source06 context is local to the complete tail. RR top context is protected. */
.assembled-page :is(.hermes-collection,.hermes-services,.hermes-footer){background:#f5f5f0;color:#292927;font:400 14px/1.7 Poppins,Arial,sans-serif}
.assembled-page .hermes-collection{padding:55px 24px 78px;text-align:center}
.assembled-page .hermes-collection h2{font:italic 400 32px/1.3 Amiri,serif;letter-spacing:normal;text-transform:none;text-wrap:wrap;margin:0 0 20px}
.assembled-page :is(.hermes-collection,.hermes-services) .underlink{display:inline;min-height:0;padding:0;font-size:11px;line-height:1.8;letter-spacing:normal;text-transform:none;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.assembled-page .hermes-services{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center;border-top:1px solid #d0d0c7;border-bottom:1px solid #d0d0c7;padding:44px 40px}
.assembled-page .hermes-services h3{font:500 11px/1.7 Poppins,Arial,sans-serif;letter-spacing:.05em;text-transform:none;text-wrap:wrap;margin:0 0 17px}
.assembled-page .hermes-services p{font-size:11px;line-height:1.9;margin:0 auto 20px;max-width:36ch}
.assembled-page .hermes-footer{padding:46px 28px 28px}
.assembled-page .hermes-footer .footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px}
.assembled-page .hermes-footer .brand{width:138px;color:#000}
.assembled-page .hermes-footer .brand :is(img,svg.biberify-logo){width:100%;height:auto}
.assembled-page .hermes-footer .footer-top nav{display:flex;gap:35px;flex-wrap:wrap;font-size:11px}
.assembled-page .hermes-footer .footer-bottom{margin-top:40px;padding-top:26px;border-top:1px solid #d0d0c7;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.assembled-page .hermes-footer .legal{display:flex;flex-wrap:wrap;gap:22px;font-size:9px}
.assembled-page .hermes-footer .footer-bottom p,.assembled-page .hermes-footer .gallery-link{font-size:9px;line-height:inherit;margin:0}
.assembled-page .hermes-footer :is(nav a,.gallery-link){display:inline;min-height:auto;line-height:inherit}
/* Final source06 functional copy patch increases only these link glyphs to11px. */
.assembled-page .hermes-footer :is(.legal a,.gallery-link){font-size:11px}
@media(max-width:900px){.assembled-page .hermes-services{gap:25px;padding-left:25px;padding-right:25px}.assembled-page .hermes-footer .footer-top nav{gap:22px}}
@media(max-width:600px){.assembled-page .hermes-collection{padding:48px 27px 54px}.assembled-page .hermes-collection h2{font-size:29px}.assembled-page .hermes-services{grid-template-columns:1fr;gap:32px;padding:36px 27px}.assembled-page .hermes-services p{max-width:40ch}.assembled-page .hermes-footer{padding:37px 24px 26px}.assembled-page .hermes-footer .footer-top{flex-direction:column;gap:28px}.assembled-page .hermes-footer .footer-top nav{gap:23px;line-height:1.8}.assembled-page .hermes-footer .footer-bottom{gap:24px;margin-top:32px}.assembled-page .hermes-footer .legal{gap:15px;line-height:1.7}}
/* The Hermes source had native selection colors, not RR's dark selection theme. */
.assembled-page :is(.hermes-collection,.hermes-services,.hermes-footer)::selection,.assembled-page :is(.hermes-collection,.hermes-services,.hermes-footer) ::selection{background:revert;color:revert}


/* One damped radial spring carries each filled zone, its boundaries and caption.
   Transform is written once per active RAF by ferment-leaders.js, never CSS-tweened. */
.assembled-ferment .diagram-zones{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.assembled-ferment .diagram-connectors{z-index:3;overflow:visible}
.assembled-ferment .diagram-label{z-index:4}
.assembled-ferment .diagram-note{z-index:5}
.assembled-ferment .diagram-zones [data-zone-paint]{fill:#f7f7f4;opacity:0;pointer-events:none;transform-box:view-box;transform:scale(1);transition:opacity 180ms var(--ease-out)}
.assembled-ferment .diagram-zones [data-hit-zone]{fill:transparent;stroke:none;pointer-events:fill;outline:none}
.assembled-ferment .diagram-zones [data-zone-paint]:not([data-zone-paint="table"]).is-zone-active{opacity:1}
.assembled-ferment .diagram-core>img{border-color:transparent;transform:scale(1);transition:none}
.assembled-ferment .diagram-ring{border-color:transparent;transform:scale(1);transition:none}
.assembled-ferment .diagram-boundary{fill:none;stroke:#9b9d96;stroke-width:1;stroke-dasharray:4 5;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:view-box;transform:scale(1)}
.assembled-ferment .diagram-boundary.is-zone-active{stroke-dasharray:none}
.assembled-ferment .diagram-boundary[data-boundary="photo"]{stroke:#6c6e68}
.assembled-ferment .diagram-connectors path{transform-box:view-box;transform:scale(1);stroke-dasharray:4 5;stroke-linecap:round;transition:stroke 180ms var(--ease-out)}
.assembled-ferment .diagram-connectors path.is-zone-active{stroke:#f7f7f4;stroke-dasharray:none}
.assembled-ferment .diagram-label{transform:scale(1);transition:none}
.assembled-ferment .diagram-scene[data-zone-input="keyboard"] :is(.diagram-core>img,.diagram-ring,.diagram-boundary,.diagram-label,.diagram-connectors path,[data-zone-paint]),
.assembled-ferment .diagram-scene.is-zone-reflowing :is(.diagram-core>img,.diagram-ring,.diagram-boundary,.diagram-label,.diagram-connectors path,[data-zone-paint]){transition:none;transform:scale(1)!important}
@media(prefers-reduced-motion:reduce){
 .assembled-ferment :is(.diagram-core>img,.diagram-ring,.diagram-boundary,.diagram-label,.diagram-connectors path,[data-zone-paint]){transform:none!important;transition:opacity 180ms ease,stroke 180ms ease}
}

/* Lower-page anchor clearance only. Story owns its viewport-fit clearance. */
.assembled-ferment{scroll-margin-top:120px}
@media(max-width:760px){.assembled-ferment{scroll-margin-top:88px}}

/* Opening copy retains the user-approved Amiri display typography. */
.assembled-page .rr-hero :is(.rr-kicker,h1){
  font-family:Amiri,Georgia,serif;
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
}

/* User distinguishes the scrolling menu's black from the dark anthracite scene. */
.assembled-page .rr-header.is-on-content{background:#000;}

/* Subtitle removed: rebalance the two remaining texts and the story action. */
.assembled-page .rr-hero .rr-kicker{
  font-size:26px;
  line-height:36px;
  margin-bottom:10px;
  text-wrap:balance;
}
.assembled-page .rr-hero h1{margin-bottom:28px;}
@media(max-width:760px){
  .assembled-page .rr-hero .rr-kicker{font-size:20px;line-height:30px;}
  .assembled-page .rr-hero h1{margin-bottom:24px;}
}

/* Current11 opening's two-text campaign composition, scoped to Sharing only.
   Photo, crop, overlay, section dimensions and canonical RR button stay intact. */
.assembled-page .assembled-dp-places .dp-archive-copy{
  top:48.7%;left:8%;right:8%;width:auto;max-width:none;margin:0;
  transform:translateY(-50%);text-align:center;color:#f7f7f4;
}
.assembled-page .assembled-dp-places .dp-archive-copy .rr-kicker{
  font:400 26px/36px Amiri,Georgia,serif;letter-spacing:normal;
  text-transform:none;text-wrap:balance;max-width:60ch;margin:0 auto 10px;
}
.assembled-page .assembled-dp-places .dp-archive-copy h2{
  font:400 clamp(42px,5.47vw,70px)/80px Amiri,Georgia,serif;
  letter-spacing:normal;text-transform:none;text-wrap:balance;
  width:auto;max-width:none;margin:0 0 28px;
}
@media(max-width:760px){
  .assembled-page .assembled-dp-places .dp-archive-copy{top:49%;left:8%;right:8%;}
  .assembled-page .assembled-dp-places .dp-archive-copy .rr-kicker{
    font-size:20px;line-height:30px;max-width:60ch;margin:0 auto 10px;
  }
  .assembled-page .assembled-dp-places .dp-archive-copy h2{
    font-size:clamp(34px,10vw,44px);line-height:1.2;margin:0 0 24px;
  }
}

/* One shared spring; native controls retain their layout and routes. */
.assembled-page [data-button-spring] {
  user-select: none;
  -webkit-user-select: none;
}
.assembled-page img {
  user-select: none;
  -webkit-user-drag: none;
}
.assembled-page .rr-button,
.assembled-page .rr-button:hover,
.assembled-page .rr-button:active {
  background: #fff !important;
  color: #242424 !important;
  transition: none;
}

.assembled-page .rr-button[data-button-spring] {
  position: relative;
  isolation: isolate;
  overflow: visible;
  background: transparent !important;
}

.assembled-page .rr-button > .button-spring-surface {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #fff;
  pointer-events: none;
  transform: scale(1);
  transform-origin: center;
  will-change: transform;
}

.assembled-page [data-button-spring-label] {
  display: inline-block;
  vertical-align: baseline;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
  pointer-events: none;
}
.assembled-page [data-button-spring-visual] {
  transform-origin: center;
  pointer-events: none;
}
.assembled-page :is(.rr-menu-trigger, .assembled-story-link) > [data-button-spring-visual],
.assembled-page .hermes-footer [data-button-spring-visual] {
  transform-origin: left center;
}
.assembled-page .rr-dialog [data-button-spring-visual] {
  transform-origin: right center;
}
.assembled-page .rr-dialog-head [data-button-spring-visual] {
  transform-origin: center;
}

/* Paint the source scroll line in a child; retain its translated hit box and
   the existing 86/70px source heights unchanged. */
.assembled-page .rr-scroll[data-button-spring="scroll"]::before {
  content: none;
}
.assembled-page .rr-scroll > .button-spring-scroll-line {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent, #fff 20%, #fff);
  pointer-events: none;
  transform-origin: center bottom;
}

/* Neutralize the earlier parent press-scale and story fade. Inline GSAP
   transforms remain authoritative; only managed control children spring. */
.assembled-page .assembled-story-link[data-button-spring]:active,
.assembled-page .assembled-story-tools button[data-button-spring]:active {
  transform: none;
}
.assembled-page .assembled-story-link[data-button-spring]:hover {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .assembled-page .button-spring-is-hovered[data-button-spring-subpage] > [data-button-spring-label] {
    font-weight: 700;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .assembled-page .rr-button > .button-spring-surface {
    transform: none !important;
    will-change: auto;
  }
  .assembled-page [data-button-spring-visual] {
    scale: none !important;
  }
}

.assembled-page .sauce-cursor {
  position: fixed;
  inset: 0 auto auto 0;
  width: 80px;
  height: 80px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  pointer-events: none !important;
  user-select: none;
  z-index: 2147483647;
  transform-origin: 0 0;
}

.assembled-page .sauce-cursor[hidden] { display: none !important; }
.assembled-page .sauce-cursor::backdrop { background: transparent; pointer-events: none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  .assembled-page[data-sauce-cursor-active],
  .assembled-page[data-sauce-cursor-active] * { cursor: none !important; }
}

@media (prefers-reduced-motion: reduce), (forced-colors: active), (hover: none), (pointer: coarse) {
  .assembled-page .sauce-cursor { display: none !important; }
}

/* Current eleventh homepage: one actual Amiri line lower, without altering the hero photograph. */
/* Lenis owns smooth wheel/anchor interpolation. Native smooth scroll would make
   ScrollTrigger's temporary refresh scrolls asynchronous and corrupt pin bounds. */
html:has(body.assembled-page){scroll-behavior:auto!important}
.assembled-page .rr-hero .rr-campaign-text{translate:0 36px}
.assembled-page :is(.rr-clearance-content,.dp-clearance-content){transition:opacity 180ms cubic-bezier(.22,.61,.36,1)}
/* The original transparent gradient remains; only an isolated black paint layer grows. */
.assembled-page .rr-header,.assembled-page .rr-header.is-on-content{
 background:linear-gradient(180deg,rgba(0,0,0,.45),transparent);isolation:isolate;
}
.assembled-page .rr-header::before{content:"";position:absolute;inset:0;z-index:-1;background:#000;opacity:var(--header-ink,0);pointer-events:none;transition:opacity 480ms cubic-bezier(.22,.61,.36,1)}
/* Leaders are a consequence of exploration, never idle decoration. Their SVG path starts at the word. */
.assembled-ferment .diagram-connectors path{opacity:0;stroke:#f7f7f4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 360ms cubic-bezier(.22,.61,.36,1),opacity 160ms ease}
.assembled-ferment .diagram-connectors path.is-zone-active{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}
.assembled-ferment .diagram-label p{font-size:11px}
.assembled-ferment .diagram-scene[data-zone-input="keyboard"] .diagram-connectors path.is-zone-active{stroke-dashoffset:0;transition:none}
@media(min-width:701px){
 .assembled-ferment .diagram-scene{min-height:clamp(590px,calc(100svh - 120px),850px)}
 .assembled-ferment .diagram-core{--core-size:clamp(280px,min(29vw,calc(57svh - 68.4px)),380px);width:var(--core-size);height:var(--core-size);top:56%}
 .assembled-ferment .ring-one{inset:-20px}.assembled-ferment .ring-two{inset:-39px}.assembled-ferment .ring-three{inset:-57px}.assembled-ferment .ring-four{inset:-75px}
 .assembled-ferment .diagram-brand{top:6%}
 .assembled-ferment :is(.label-0,.label-1){top:6%}
 .assembled-ferment .diagram-note{left:72%;top:83%;width:calc(28% - 32px);max-width:300px}
}
@media(min-width:701px) and (max-height:700px){
 .assembled-ferment .diagram-scene{min-height:clamp(480px,calc(100svh - 120px),560px)}
 .assembled-ferment .diagram-core{--core-size:clamp(260px,calc(100svh - 330px),310px);top:54%}
 .assembled-ferment .diagram-note{font-size:27px}
 /* Keep both upper captions outside the largest spring-expanded outer band.
    Their leader paths are measured from these unchanged text roles. */
 .assembled-ferment .label-0{left:calc(50% + 175px);width:min(190px,calc(50% - 195px))}
 .assembled-ferment .label-1{left:calc(50% + 220px);top:17%;width:min(190px,calc(50% - 240px))}
}
@media(max-width:760px){.assembled-page .rr-hero .rr-campaign-text{translate:0 30px}}
@media(prefers-reduced-motion:reduce){
 .assembled-page :is(.rr-clearance-content,.dp-clearance-content){transition:none}
 .assembled-page .rr-header::before{transition:none}
 .assembled-ferment .diagram-connectors path{transition:none}
}

/* Current11 only: retain the collection's source top spacing on both sides. */
.assembled-page .hermes-collection {
  padding-block: 55px;
}
.assembled-page .hermes-collection .underlink {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}

/* Everything after the collection becomes black, with readable source type. */
.assembled-page :is(.hermes-services, .hermes-footer) {
  background: #000;
  color: #f7f7f4;
}
.assembled-page .hermes-services {
  border-color: #30302e;
}
.assembled-page .hermes-services h3,
.assembled-page .hermes-services p {
  font-size: 12px;
}

/* The repeated logo/navigation band and design-gallery link are removed in
   the fragment. Keep only legal navigation and the right-aligned copyright. */
.assembled-page .hermes-footer {
  padding: 26px 28px 28px;
}
.assembled-page .hermes-footer .footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px 32px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.assembled-page .hermes-footer .footer-bottom p {
  font-size: 10px;
  justify-self: end;
  max-width: 54ch;
  text-align: right;
}
.assembled-page .hermes-footer .legal {
  min-width: 0;
}

@media (max-width: 900px) {
  .assembled-page .hermes-footer .footer-bottom {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .assembled-page .hermes-collection {
    padding-block: 48px;
  }
  .assembled-page .hermes-footer {
    padding: 24px 24px 26px;
  }
  .assembled-page .hermes-footer .footer-bottom {
    gap: 20px;
  }
}

/* Current11 only: fullscreen source photo, safe meaningful responsive framing. */
.assembled-page .assembled-dp-places.dp-archive {
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: unset;
}
.assembled-page .assembled-dp-places.dp-archive > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 55%;
}
@media (max-width: 760px) {
  .assembled-page .assembled-dp-places.dp-archive {
    min-height: unset;
  }
  .assembled-page .assembled-dp-places.dp-archive > img {
    object-position: 53% 50%;
  }
}

/* Eleventh homepage only. Its original icon is the aperture; videos never stretch. */
.assembled-page:not(.site-inner) .assembled-portal {
  position: relative;
  margin: 0;
  padding: 0;
  background: #000;
  color: #fff;
  isolation: isolate;
}
.assembled-page .portal-stage {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 360px;
  overflow: hidden;
  background: #000;
}
.assembled-page .portal-media,
.assembled-page .portal-curtain {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.assembled-page .portal-media { opacity: 0; }
.assembled-page .portal-poster,
.assembled-page .portal-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: #000;
}
.assembled-page .portal-video { opacity: 0; }
.assembled-page .portal-curtain {
  display: none;
  z-index: 2;
  pointer-events: none;
}
.assembled-page .portal-static-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: min(54svh, 420px);
  max-width: 66vw;
  transform: translate(-50%, -50%);
  object-fit: contain;
  pointer-events: none;
  z-index: 3;
}
.assembled-page .assembled-portal[data-portal-initialized] .portal-curtain { display: block; }
.assembled-page .assembled-portal[data-video-ready] .portal-media { opacity: 1; }
.assembled-page .assembled-portal[data-video-ready] .portal-static-icon { visibility: hidden; }
.assembled-page .portal-play {
  position: absolute;
  z-index: 4;
  bottom: max(24px, env(safe-area-inset-bottom));
  min-height: 44px;
  border: 1px solid rgb(255 255 255 / .45);
  border-radius: 24px;
  padding: 8px 18px;
  background: rgb(0 0 0 / .6);
  color: #fff;
  font: inherit;
  font-size: 12px;
  line-height: 1.3;
  cursor: pointer;
}
.assembled-page .portal-play { left: 50%; transform: translateX(-50%); }
.assembled-page .portal-play[hidden] { display: none; }
.assembled-page .portal-play:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media (max-width: 600px) {
  .assembled-page .portal-static-icon { height: min(48svh, 360px); }
}
@media (prefers-reduced-motion: reduce) {
  .assembled-page .portal-stage { height: min(72svh, 720px); }
  .assembled-page .portal-static-icon { height: min(42svh, 340px); }
}

/* Homepage 11 only: keep the approved photo/crop, lighten the existing scrim. */
.assembled-page .assembled-dp-places.dp-archive::after {
  background: rgba(0, 0, 0, .43);
}

/* Amiri carries the service headings; the 12px Poppins body remains intact. */
.assembled-page .hermes-services h3 {
  font: 400 20px/30px Amiri, Georgia, serif;
  letter-spacing: normal;
}

/* The existing grid stretches all three columns to its tallest source block.
   Free column space is assigned above each link, aligning their bottom row.
   The phone's single-column source flow remains natural. */
@media (min-width: 601px) {
  .assembled-page .hermes-services > article {
    display: flex;
    flex-direction: column;
  }
  .assembled-page .hermes-services > article > .underlink {
    align-self: center;
    margin-top: auto;
  }
}

/* Connection ink follows the actual moving circle; idle leaders stay hidden. */
.assembled-ferment .diagram-connectors path{stroke-width:1.5;transform:none;vector-effect:non-scaling-stroke}
