/* Focused refinements for the active landing page. Loaded after the inline page styles. */

/* The partner rail and statistics remain compact full-bleed modules. */
.heritage{
  padding:0;
}
.heritage-partners{
  min-height:94px;
  margin-top:0;
  border-top:0;
  box-shadow:none;
}
.heritage-partners-viewport,
.heritage-partners-track,
.heritage-partners-set{
  min-height:100%;
}
.heritage-partners-track,
.heritage-partners-set{
  align-items:stretch;
}
.heritage-partner-logo{
  align-self:stretch;
  height:auto;
  min-height:94px;
}

/* Closed offer categories remain compact, but their names are deliberately legible. */
.offer-panel:not(.active){
  flex-basis:clamp(88px,6.4vw,112px);
  min-width:82px;
}
.offer-panel:not(.active)::after{
  background:linear-gradient(180deg,rgba(34,35,37,.08) 24%,rgba(34,35,37,.94) 100%);
}
.offer-panel:not(.active) .offer-label{
  left:12px;
  right:12px;
  bottom:18px;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(20,21,23,.78);
}

/* Bed interaction: editorial copy above, uninterrupted image, compact horizontal control below. */
.bed-scroll{
  height:calc(100dvh - var(--chrome-h));
  min-height:0;
  background:transparent;
}
.bed-sticky{
  height:calc(100dvh - var(--chrome-h));
  min-height:0;
  grid-template:
    "copy" auto
    "frame" minmax(0,1fr)
    "scrubber" 60px / minmax(0,1fr);
  background:transparent;
}
.bed-copy{
  grid-area:copy;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:clamp(32px,6vw,96px);
  align-items:end;
  padding:30px var(--pad) 20px;
  border-right:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
}
.bed-copy::before{
  top:22px;
  left:var(--pad);
  color:var(--accent-dark);
}
.bed-copy>div:first-child{
  padding-top:22px;
}
.bed-copy h2{
  max-width:none;
  margin:0;
  color:var(--ink);
  font-size:clamp(40px,4vw,58px);
  line-height:.94;
}
.bed-copy p{
  max-width:68ch;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.bed-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding-top:0;
  border-top:0;
}
.bed-state{
  min-height:0;
  margin:0;
  color:var(--muted);
  font-size:11px;
}
.bed-copy .btn{
  justify-self:end;
}
.bed-frame{
  grid-area:frame;
  border:0;
  background:var(--ink-soft);
}
.bed-frame>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.bed-scrubber{
  grid-area:scrubber;
  min-width:0;
  min-height:60px;
  padding:9px var(--pad)!important;
  display:grid;
  grid-template-columns:auto auto minmax(180px,1fr) auto;
  grid-template-rows:1fr;
  justify-items:stretch;
  align-items:center;
  gap:14px;
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  background:linear-gradient(90deg,#292a2d,#393a3d 48%,#292a2d);
  box-shadow:inset 0 10px 22px rgba(0,0,0,.13);
}
.bed-scrubber::before{
  display:none;
}
.bed-scrubber-label{
  display:flex;
  align-items:baseline;
  justify-items:start;
  gap:9px;
  text-align:left;
  white-space:nowrap;
}
.bed-scrubber-label output{
  font-size:14px;
}
.bed-range-end{
  font-size:8px;
  white-space:nowrap;
}
.bed-range{
  width:100%;
  height:44px;
  min-height:0;
  margin:0;
  cursor:ew-resize;
  writing-mode:horizontal-tb;
  direction:ltr;
}
.bed-range::-webkit-slider-runnable-track{
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--accent) 0 var(--bed-progress),rgba(255,255,255,.24) var(--bed-progress) 100%);
}
.bed-range::-webkit-slider-thumb{
  width:14px;
  height:28px;
  margin-top:-12px;
  margin-left:0;
}
.bed-range::-moz-range-track{
  width:100%;
  height:4px;
}
.bed-range::-moz-range-progress{
  width:auto;
  height:4px;
}
.bed-range::-moz-range-thumb{
  width:12px;
  height:26px;
}

/* Compact carousel with one integrated control bar. */
.opinions{
  padding:clamp(50px,5vw,72px) 0 clamp(46px,4vw,62px);
}
.opinions-shell{
  gap:clamp(18px,2vw,26px);
}
.opinions-head{
  align-items:center;
}
.opinions h2{
  font-size:clamp(42px,4vw,60px);
}
.opinion-carousel{
  --opinion-card-w:clamp(560px,44vw,660px);
}
.opinion-viewport{
  padding-block:6px 82px;
}
.opinion-track{
  gap:clamp(16px,1.6vw,24px);
}
.opinion-slide{
  height:clamp(330px,35vw,370px);
  grid-template-columns:minmax(210px,40fr) minmax(0,60fr);
  transform:translateY(24px) scale(.94);
}
.opinion-copy{
  padding:clamp(24px,2.5vw,34px);
}
.opinion-copy blockquote{
  margin:14px 0 18px;
}
.opinion-copy blockquote::before{
  height:18px;
  margin-bottom:2px;
  font-size:38px;
}
.opinion-copy blockquote p{
  max-width:22ch;
  font-size:clamp(24px,1.8vw,30px);
}
.opinions-foot{
  position:relative;
  z-index:5;
  width:min(720px,calc(100% - (2 * var(--opinions-gutter))));
  min-height:60px;
  justify-self:center;
  margin-top:-74px;
  padding:7px 9px;
  border-left:3px solid var(--accent);
  background:rgba(57,58,61,.97);
  box-shadow:0 18px 38px rgba(31,32,34,.2);
}
.opinion-controls button{
  width:44px;
  height:44px;
  border-color:rgba(255,255,255,.42);
  background:transparent;
  color:var(--white);
}
.opinion-controls button:hover,
.opinion-controls button:focus-visible{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--ink-deep);
}
.opinion-position{
  color:rgba(255,255,255,.75);
}
.opinions-all{
  min-height:46px;
  margin-right:8px;
  color:var(--white);
}

@media(min-width:768px) and (max-width:1100px){
  .offer-panel:not(.active){
    flex-basis:104px;
    min-width:104px;
  }
  .offer-panel:not(.active) .offer-label{
    font-size:14px;
  }
}

@media(max-width:1000px){
  .heritage-partners{
    min-height:86px;
  }
  .heritage-partner-logo{
    min-height:86px;
  }
  .bed-copy{
    grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);
    gap:28px;
  }
  .offer-panel:not(.active){
    flex-basis:104px;
    min-width:104px;
  }
  .offer-panel:not(.active) .offer-label{
    font-size:14px;
  }
}

@media(max-width:767px){
  .heritage{
    padding:0;
  }
  .heritage-partners{
    min-height:0;
    margin-top:0;
  }
  .heritage-partners-track,
  .heritage-partners-set{
    min-height:78px;
  }
  .heritage-partner-logo{
    min-height:78px;
  }
  .offer-panel:not(.active),
  .offer-panel.active,
  .offer-panel{
    min-width:0;
  }
  .bed-scroll,
  .bed-sticky{
    height:calc(100dvh - var(--chrome-h));
    min-height:0;
  }
  .bed-sticky{
    grid-template:
      "copy" auto
      "frame" minmax(0,1fr)
      "scrubber" 58px / minmax(0,1fr);
  }
  .bed-copy{
    grid-template-columns:1fr;
    gap:12px;
    padding:24px 18px 17px;
  }
  .bed-copy::before{
    top:16px;
    left:18px;
  }
  .bed-copy>div:first-child{
    padding-top:18px;
  }
  .bed-copy h2{
    font-size:clamp(31px,8.7vw,39px);
  }
  .bed-copy p{
    font-size:12px;
    line-height:1.4;
  }
  .bed-controls{
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
  }
  .bed-copy .btn{
    min-height:42px;
    padding-inline:16px;
    font-size:11px;
  }
  .bed-scrubber{
    min-height:58px;
    padding:8px 18px!important;
    grid-template-columns:auto auto minmax(90px,1fr) auto;
    gap:9px;
  }
  .bed-scrubber-label>span{
    display:none;
  }
  .bed-scrubber-label output{
    font-size:12px;
  }
  .bed-range-end{
    font-size:7px;
  }
  .bed-range{
    width:100%;
    height:44px;
    min-height:0;
  }
  .bed-pull{
    width:86px;
    height:62px;
  }
  .opinions{
    padding:44px 0 48px;
  }
  .opinion-carousel{
    --opinion-card-w:max(240px,calc(100vw - 70px));
  }
  .opinion-viewport{
    padding-block:4px 76px;
  }
  .opinion-slide{
    height:350px;
    grid-template-columns:1fr;
    grid-template-rows:118px minmax(0,1fr);
    transform:translateY(12px) scale(.96);
  }
  .opinion-photo{
    grid-column:1;
    grid-row:1;
    min-height:118px;
  }
  .opinion-copy{
    grid-column:1;
    grid-row:2;
    padding:16px 20px 18px;
  }
  .opinion-copy blockquote{
    margin:7px 0 10px;
  }
  .opinion-copy blockquote p{
    font-size:clamp(21px,6vw,25px);
  }
  .opinions-foot{
    width:calc(100% - 36px);
    min-height:64px;
    margin-top:-70px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    padding:7px 10px;
  }
  .opinion-controls{
    grid-column:1;
    justify-self:start;
  }
  .opinions-all{
    grid-column:2;
    justify-self:end;
    margin:0;
    min-height:44px;
    font-size:11px;
  }
}

@media(max-width:360px){
  .opinion-viewport{padding-bottom:112px}
  .opinions-foot{
    min-height:100px;
    margin-top:-106px;
    grid-template-columns:1fr;
    gap:3px;
    padding:6px 10px 8px;
  }
  .opinion-controls{grid-column:1;justify-self:center}
  .opinions-all{grid-column:1;justify-self:center;min-height:46px}
}

@media(max-height:720px) and (min-width:768px){
  .bed-copy{
    padding-top:24px;
    padding-bottom:12px;
  }
  .bed-copy::before{
    top:16px;
  }
  .bed-copy>div:first-child{
    padding-top:17px;
  }
  .bed-copy h2{
    font-size:38px;
  }
  .bed-copy p{
    font-size:12px;
  }
}

@media(prefers-reduced-motion:reduce){
  .offer-panel,
  .offer-panel img,
  .opinion-slide,
  .opinion-photo .review-photo{
    transition:none;
  }
}

/* FAQ cabinet: one perspective system for the carcass, wells and drawer fronts. */
.faq-grid{
  perspective:1500px;
  perspective-origin:76% 26%;
  pointer-events:none;
}
.faq-list{
  --cabinet-depth:32px;
  --drawer-out:104px;
  width:calc(100% - var(--cabinet-depth));
  margin-right:var(--cabinet-depth);
  padding:19px 38px 21px 19px;
  overflow:visible;
  pointer-events:none;
  background:
    linear-gradient(90deg,#35363a 0 19px,#1f2023 19px calc(100% - 24px),#2a2b2f calc(100% - 24px)),
    #202125;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.13),
    inset 12px 0 19px rgba(12,13,15,.35),
    inset -18px 0 24px rgba(12,13,15,.52),
    18px 30px 54px rgba(31,32,34,.22);
  transform:rotateY(-8deg) rotateX(.8deg);
  transform-origin:100% 44%;
  transform-style:preserve-3d;
}
.faq-list::before{
  left:14px;
  right:calc(var(--cabinet-depth) * -1);
  top:calc(var(--cabinet-depth) * -.82);
  height:calc(var(--cabinet-depth) * .82);
  background:linear-gradient(180deg,#686a70 0%,#3f4045 44%,#18191c 100%);
  clip-path:polygon(3% 0,100% 4%,96.7% 100%,0 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.24),0 5px 9px rgba(17,18,20,.34);
}
.faq-list::after{
  right:calc(var(--cabinet-depth) * -1);
  top:calc(var(--cabinet-depth) * -.78);
  bottom:-13px;
  width:var(--cabinet-depth);
  background:linear-gradient(90deg,#3b3c41 0%,#26272b 46%,#121316 100%);
  clip-path:polygon(0 0,100% 9px,100% calc(100% - 10px),0 100%);
  box-shadow:inset 1px 0 rgba(255,255,255,.1),9px 18px 24px rgba(17,18,20,.22);
}
.faq-list details{
  z-index:2;
  margin-bottom:12px;
  pointer-events:none;
  perspective:none;
  transform-style:preserve-3d;
}
.faq-list details[open]{
  z-index:10;
  pointer-events:none;
}
.faq-list summary{
  z-index:12;
  min-height:74px;
  pointer-events:auto;
  transform:translateZ(8px) rotateX(-.35deg);
  transition:transform .62s var(--ease),background .24s,box-shadow .56s var(--ease);
  transform-origin:right top;
}
.faq-list summary::before{
  bottom:-6px;
  height:6px;
  background:linear-gradient(180deg,#85868a,#48494d 45%,#202124);
  clip-path:polygon(0 0,100% 0,98.8% 100%,1.2% 100%);
}
.faq-list summary::after{
  top:-7px;
  height:7px;
  opacity:.62;
  background:linear-gradient(180deg,#6e7075 0%,#bfc0c2 46%,#4a4b50 100%);
  clip-path:polygon(1.5% 100%,98.5% 100%,100% 0,0 0);
}
.faq-list details:not([open]) summary:hover{
  transform:translate3d(-1px,0,16px) rotateX(-.35deg);
}
.faq-list summary:active{
  transform:translate3d(0,0,5px) rotateX(-.35deg) scale(.998);
}
.faq-list details[open] summary{
  transform:translate3d(-5px,-1px,var(--drawer-out)) rotateY(-1.1deg) rotateX(-1.5deg) scaleX(1.035);
  background:linear-gradient(180deg,#fbfbf9 0%,#e9e9e8 65%,#c9cacc 100%);
  box-shadow:
    0 -2px 0 rgba(255,255,255,.28),
    0 8px 0 rgba(24,25,27,.34),
    18px 26px 42px rgba(20,21,23,.38),
    inset 0 -4px rgba(57,58,61,.22);
}
.faq-list details[open] summary::after{
  opacity:.94;
  transform:translateY(-1px) scaleY(1.08);
}
.faq-answer{
  z-index:11;
  margin:0 22px -6px;
  padding:12px 0 9px;
  overflow:visible;
  background:#292a2e;
  clip-path:polygon(4.8% 0,95.2% 0,100% 100%,0 100%);
  box-shadow:8px 18px 24px rgba(17,18,20,.22);
  transform:translate3d(-2px,20px,-34px) rotateX(16deg) scale(.92,.64);
  transform-origin:center bottom;
  transition:opacity .18s .06s,transform .58s .03s var(--ease);
}
.faq-answer::before{
  left:4.8%;
  right:4.8%;
  height:11px;
  background:linear-gradient(180deg,#16171a,#393a3f 72%,#202125);
  box-shadow:0 6px 11px rgba(17,18,20,.36);
}
.faq-answer::after{
  left:1.5%;
  right:1.5%;
  height:8px;
  background:linear-gradient(180deg,#66676c 0%,#3b3c40 46%,#1c1d20 100%);
  clip-path:polygon(0 0,100% 0,98.8% 100%,1.2% 100%);
}
.faq-drawer-shell{
  min-height:80px;
  margin:0 4.8%;
  padding:25px 30px 22px;
  background:linear-gradient(180deg,#484a4f 0%,#585a5f 42%,#505257 100%);
  box-shadow:inset 0 12px 20px rgba(18,19,21,.3),inset 0 -1px rgba(255,255,255,.1);
}
.faq-drawer-shell::before,
.faq-drawer-shell::after{
  bottom:-8px;
  width:5.1%;
  background:linear-gradient(180deg,#414247,#303136 72%,#222327);
}
.faq-drawer-shell::before{
  left:-5%;
  clip-path:polygon(62% 0,100% 0,100% 100%,0 100%);
}
.faq-drawer-shell::after{
  right:-5%;
  clip-path:polygon(0 0,38% 0,100% 100%,0 100%);
}
.faq-list details[open] .faq-answer{
  opacity:1;
  transform:translate3d(-5px,1px,72px) rotateY(-.7deg) rotateX(9deg) scaleX(.965);
}
.faq-answer p{
  transform:translate3d(0,7px,10px) rotateX(-4deg);
}
.faq-list details[open] .faq-answer p{
  transform:translate3d(0,0,10px) rotateX(-4deg);
  transition-delay:.13s;
}

@media(max-width:1100px){
  .faq-grid{
    perspective:1250px;
    perspective-origin:75% 24%;
  }
  .faq-list{
    --cabinet-depth:24px;
    --drawer-out:86px;
    padding:15px 30px 17px 15px;
    transform:rotateY(-6deg) rotateX(.55deg);
  }
  .faq-list summary{
    min-height:72px;
    padding:16px 20px;
  }
  .faq-list details[open] summary{
    transform:translate3d(-5px,-1px,var(--drawer-out)) rotateY(-.9deg) rotateX(-1.35deg) scaleX(1.035);
  }
  .faq-list details[open] .faq-answer{
    transform:translate3d(-4px,1px,58px) rotateY(-.55deg) rotateX(8deg) scaleX(.972);
  }
}

@media(max-width:767px){
  .faq-grid{
    perspective:900px;
    perspective-origin:70% 22%;
  }
  .faq-list{
    --cabinet-depth:12px;
    --drawer-out:52px;
    width:calc(100% - var(--cabinet-depth));
    margin-right:var(--cabinet-depth);
    padding:9px 17px 10px 9px;
    transform:rotateY(-3.25deg) rotateX(.25deg);
  }
  .faq-list::before{
    left:7px;
    top:calc(var(--cabinet-depth) * -.8);
    height:calc(var(--cabinet-depth) * .8);
  }
  .faq-list::after{
    top:calc(var(--cabinet-depth) * -.72);
    bottom:-7px;
  }
  .faq-list details{
    margin-bottom:9px;
  }
  .faq-list summary{
    min-height:68px;
    padding:14px 15px;
    gap:12px;
    font-size:13px;
  }
  .faq-list details[open] summary{
    transform:translate3d(-4px,0,var(--drawer-out)) rotateY(-.65deg) rotateX(-1deg) scaleX(1.024)!important;
  }
  .faq-answer{
    margin:0 8px -5px;
    padding:8px 0 7px;
    clip-path:polygon(4.5% 0,95.5% 0,100% 100%,0 100%);
  }
  .faq-answer::before{
    left:4.5%;
    right:4.5%;
    height:8px;
  }
  .faq-drawer-shell{
    min-height:74px;
    margin:0 4.5%;
    padding:20px 18px 17px;
  }
  .faq-drawer-shell::before,
  .faq-drawer-shell::after{
    bottom:-6px;
    width:4.8%;
  }
  .faq-drawer-shell::before{left:-4.7%}
  .faq-drawer-shell::after{right:-4.7%}
  .faq-list details[open] .faq-answer{
    transform:translate3d(-3px,1px,34px) rotateY(-.3deg) rotateX(6deg) scaleX(.982)!important;
  }
  .faq-answer p{
    font-size:13px;
    line-height:1.5;
  }
}

@media(min-width:768px) and (max-width:1000px){
  .faq-list details[open] summary{
    transform:translate3d(-5px,-1px,var(--drawer-out)) rotateY(-.9deg) rotateX(-1.35deg) scaleX(1.035)!important;
  }
  .faq-list details[open] .faq-answer{
    transform:translate3d(-4px,1px,58px) rotateY(-.55deg) rotateX(8deg) scaleX(.972)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .journey-sticky{
    top:auto!important;
  }
  .faq-list summary,
  .faq-list summary::after,
  .faq-answer,
  .faq-answer p,
  .faq-handle{
    transition:none!important;
  }
}

/* Feedback round: tighter business rhythm and clearer interactive affordances. */
.progress-nav::before{
  display:none;
}
.progress-nav[data-tone="light"]{--progress-idle:rgba(57,58,61,.62);--progress-hover:var(--ink-deep)}
.progress-nav[data-tone="dark"]{--progress-idle:rgba(255,255,255,.72);--progress-hover:var(--white)}
.progress-nav a::before{
  box-shadow:0 1px 2px rgba(20,21,23,.72),0 0 0 1px rgba(20,21,23,.14);
}

/* The standalone partner rail stays compact; the later facts remain equally concise. */
.heritage-partners{
  min-height:88px;
}
.heritage-partners-viewport,
.heritage-partners-track,
.heritage-partners-set,
.heritage-partner-logo{
  min-height:88px;
}
.heritage-piece,
.heritage-stats{
  min-height:96px;
}
.heritage-piece{
  border-top:0;
  box-shadow:none;
}
.heritage-stats{
  grid-template-columns:1.08fr 1fr 1fr;
  grid-template-rows:96px;
}
.heritage-stat,
.heritage-stat--primary,
.heritage-stat:not(.heritage-stat--primary){
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:7px;
  padding:12px clamp(18px,2.5vw,38px);
}
.heritage-stat--primary{
  grid-column:auto;
  grid-row:auto;
}
.heritage-stat--primary .heritage-stat-label,
.heritage-stat--primary .heritage-stat-data{
  grid-column:auto;
  grid-row:auto;
  align-self:auto;
  margin:0;
}
.heritage-stat-label,
.heritage-stat--primary .heritage-stat-label{
  font-size:clamp(9px,.78vw,12px);
  line-height:1.2;
}
.heritage-stat-value,
.heritage-stat--primary .heritage-stat-value{
  font-size:clamp(42px,4vw,58px);
  line-height:.8;
}
.heritage-stat--primary .heritage-stat-value{
  font-size:clamp(50px,4.8vw,68px);
}
.heritage-stat--primary::before,
.heritage-stat:nth-child(2)::after{
  display:block;
  top:calc(50% - 20px);
  right:-15px;
  width:17px;
  height:40px;
}

/* Closed panels have enough width for a real category name, not a caption. */
.offer-panel:not(.active){
  flex-basis:clamp(108px,7.6vw,124px);
  min-width:108px;
}
.offer-panel:not(.active) .offer-label{
  left:14px;
  right:14px;
  bottom:20px;
  font-size:15px;
  line-height:1.15;
  text-wrap:balance;
}

/* The bed remains a full visual stage; copy floats above its left-hand scrim. */
.bed-scroll,
.bed-sticky{
  height:calc(100dvh - var(--chrome-h));
  min-height:0;
}
.bed-sticky{
  position:relative;
  display:block;
  overflow:hidden;
  background:var(--ink-deep);
}
.bed-sticky::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(24,25,27,.82) 0%,rgba(30,31,33,.68) 28%,rgba(30,31,33,.18) 56%,transparent 76%);
}
.bed-frame{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
}
.bed-frame:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:-7px;
}
.bed-copy{
  position:absolute;
  z-index:5;
  top:50%;
  left:var(--pad);
  width:min(430px,38vw);
  min-height:0;
  display:block;
  padding:26px 0 24px;
  border:0;
  background:transparent;
  color:var(--white);
  pointer-events:none;
  transform:translateY(-50%);
}
.bed-copy a,
.bed-copy button{
  pointer-events:auto;
}
.bed-copy::before{
  position:static;
  display:block;
  margin-bottom:18px;
  color:var(--accent);
}
.bed-copy>div:first-child{
  padding:0;
}
.bed-copy h2{
  max-width:8ch;
  color:var(--white);
  font-size:clamp(48px,4.5vw,68px);
  line-height:.9;
}
.bed-copy p{
  max-width:36ch;
  margin-top:18px;
  color:rgba(249,251,255,.82);
  font-size:14px;
  line-height:1.55;
}
.bed-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px 18px;
  margin-top:24px;
}
.bed-state{
  flex:1 1 220px;
  color:rgba(249,251,255,.7);
}
.bed-copy .btn{
  justify-self:auto;
}

/* Carousel controls live on the photography and reveal themselves contextually. */
.opinions{
  padding:clamp(46px,4.5vw,64px) 0 clamp(24px,2.5vw,36px);
  background:transparent;
}
.opinions-shell{
  gap:clamp(16px,2vw,24px);
  background:transparent;
}
.opinions-head .opinions-all{
  grid-column:auto;
  justify-self:end;
  margin:0;
  color:var(--ink);
}
.opinion-carousel{
  position:relative;
  background:transparent;
}
.opinion-viewport{
  padding-block:6px 12px;
  background:transparent;
}
.opinion-carousel .opinion-controls{
  position:absolute;
  z-index:7;
  inset:0;
  display:block;
  width:auto;
  justify-self:stretch;
  pointer-events:none;
}
.opinion-carousel .opinion-controls button{
  position:absolute;
  top:50%;
  width:50px;
  height:50px;
  border:1px solid rgba(255,255,255,.52);
  background:rgba(35,36,38,.82);
  color:var(--white);
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%) scale(.94);
  backdrop-filter:blur(8px);
  transition:opacity .22s,transform .28s var(--ease),background .22s,border-color .22s;
}
.opinion-carousel #opinionPrev{left:clamp(12px,3vw,48px)}
.opinion-carousel #opinionNext{right:clamp(12px,3vw,48px)}
.opinion-carousel:hover .opinion-controls button,
.opinion-carousel:focus-within .opinion-controls button{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-50%);
}
.opinion-carousel .opinion-controls button:hover,
.opinion-carousel .opinion-controls button:focus-visible{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--ink-deep);
}

@media(min-width:768px) and (max-width:1100px){
  .offer-panel:not(.active){
    flex-basis:92px;
    min-width:92px;
  }
  .offer-panel:not(.active) .offer-label{
    left:10px;
    right:10px;
    font-size:14px;
  }
}

@media(max-width:767px){
  .journey-sticky{
    top:auto!important;
  }
  .heritage-partners{
    grid-template-columns:112px minmax(0,1fr);
    min-height:76px;
  }
  .heritage-partners-head{
    min-width:0;
    padding:10px 12px;
    border-right:1px solid rgba(89,91,97,.24);
    border-bottom:0;
  }
  .heritage-partners-title{
    font-size:20px;
  }
  .heritage-partners-note{
    display:none;
  }
  .heritage-partners-viewport,
  .heritage-partners-track,
  .heritage-partners-set,
  .heritage-partner-logo{
    min-height:76px;
  }
  .heritage-piece,
  .heritage-stats,
  .heritage-stat,
  .heritage-stat--primary,
  .heritage-stat:not(.heritage-stat--primary){
    min-height:92px;
  }
  .heritage-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:92px;
  }
  .heritage-stat,
  .heritage-stat--primary,
  .heritage-stat:not(.heritage-stat--primary){
    padding:10px 12px;
    gap:6px;
    border-top:0;
  }
  .heritage-stat:nth-child(2){border-left:1px solid rgba(89,91,97,.24)}
  .heritage-stat-label,
  .heritage-stat--primary .heritage-stat-label{
    font-size:8px;
  }
  .heritage-stat-value,
  .heritage-stat--primary .heritage-stat-value{
    font-size:clamp(29px,10vw,38px);
  }
  .heritage-stat--primary .heritage-stat-value{
    font-size:clamp(36px,12vw,44px);
  }
  .heritage-stat--primary::before,
  .heritage-stat:nth-child(2)::after{
    display:none;
  }
  .offer-accordion{
    gap:7px;
  }
  .offer-panel,
  .offer-panel.active{
    flex:0 0 calc(100vw - 106px);
  }
  .offer-panel:not(.active){
    flex:0 0 58px;
    min-width:58px;
  }
  .offer-panel:not(.active) .offer-label{
    inset:auto 0 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:6px 0;
    opacity:1;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:var(--white);
    font-size:12px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
  }
  .offer-panel:not(.active) .offer-detail{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .bed-copy{
    top:auto;
    bottom:18px;
    right:18px;
    left:18px;
    width:auto;
    padding:18px 0 18px 20px;
    transform:none;
  }
  .bed-sticky::after{
    background:linear-gradient(180deg,rgba(24,25,27,.08) 0%,rgba(24,25,27,.12) 48%,rgba(24,25,27,.62) 72%,rgba(24,25,27,.9) 100%);
  }
  .bed-copy::before{
    margin-bottom:10px;
  }
  .bed-copy h2{
    max-width:none;
    font-size:clamp(36px,10vw,46px);
  }
  .bed-copy p{
    max-width:42ch;
    margin-top:10px;
    font-size:12px;
    line-height:1.4;
  }
  .bed-controls{
    margin-top:14px;
  }
  .bed-state{
    display:none;
  }
  .bed-copy .btn{
    min-height:42px;
  }
  .opinions-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:14px;
  }
  .opinions-head .opinions-all{
    font-size:11px;
    white-space:nowrap;
  }
  .opinion-viewport{
    padding-bottom:12px;
  }
  .opinion-carousel .opinion-controls button{
    width:46px;
    height:46px;
    opacity:1;
    pointer-events:auto;
  }
  .opinion-carousel #opinionPrev{left:8px}
  .opinion-carousel #opinionNext{right:8px}
}

@media(max-width:420px){
  .opinions-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .opinions-head .opinions-all{
    justify-self:start;
  }
}

@media(hover:none){
  .opinion-carousel .opinion-controls button{
    opacity:1;
    pointer-events:auto;
    transform:translateY(-50%);
  }
}

/* Immersive chapters stay photographic without reading as three additional page heroes. */
.journey{
  --journey-section-gap:5px;
  margin-block:var(--journey-section-gap);
}

@media(min-width:768px){
  .agd{
    --agd-compact-stage-height:clamp(540px,min(78dvh,calc(100dvh - var(--chrome-h,var(--nav-h)) - 48px)),760px);
  }
  .agd-stage{
    height:var(--agd-compact-stage-height);
  }
  .journey{
    --journey-frame-top:clamp(12px,1.5dvh,18px);
    --journey-frame-bottom:clamp(50px,7dvh,66px);
    --journey-frame-inline:clamp(12px,1.5vw,28px);
    --journey-stage-height:calc(100dvh - var(--chrome-h) - var(--journey-frame-top) - var(--journey-frame-bottom))!important;
    background:transparent;
  }
  .journey-sticky{
    width:calc(100% - (2 * var(--journey-frame-inline)));
    margin-inline:auto;
    border:1px solid rgba(89,91,97,.26);
  }
  .bed-scroll,
  .bed-sticky{
    height:clamp(560px,72dvh,720px);
  }
}

@media(min-width:768px) and (prefers-reduced-motion:no-preference){
  .journey-sticky{
    top:calc(var(--chrome-h) + var(--journey-frame-top))!important;
  }
  .agd.is-scroll-driven{
    --agd-stage-height:var(--agd-compact-stage-height);
    --agd-travel:clamp(400px,52dvh,520px);
  }
}

@media(min-width:768px) and (prefers-reduced-motion:reduce){
  .journey{
    padding-block:var(--journey-frame-top) var(--journey-frame-bottom);
  }
}

@media(max-width:767px){
  .bed-scroll,
  .bed-sticky{
    height:clamp(540px,72svh,640px);
  }
  .agd-stage{
    height:clamp(600px,74svh,660px);
  }
}

@media(min-width:768px) and (max-height:760px){
  .agd-copy{
    top:24px;
    width:min(560px,52%);
    padding-bottom:2px;
  }
  .agd-ui{
    bottom:18px;
    row-gap:10px;
  }
  .agd-tab{
    padding-block:9px;
  }
  .agd-copy h2{
    margin-bottom:6px;
    font-size:clamp(36px,3.7vw,52px);
  }
  .agd-copy p{
    font-size:12px;
    line-height:1.4;
  }
  .agd-brands{
    min-height:48px;
  }
  .agd-brands-list{
    min-height:46px;
  }
}

/* Multi-row tablet statistics do not use desktop seam connectors. */
@media(min-width:768px) and (max-width:1100px){
  .heritage-stat--primary::before,
  .heritage-stat:nth-child(2)::after{
    display:none;
  }
}
