/* Figma customer stories, fitted to the same content grid as the home page. */
body.structure-preview #reviews.customer-stories :is(p,span,a), body.structure-preview .story-dialog :is(p,span,a) { font-weight:400 !important; }
.structure-preview main > #reviews.customer-stories { background:#fcfaf6; color:#111718; padding:64px 0; border-radius:0; overflow:hidden; }
#reviews.customer-stories > .wrap { width:min(1120px,calc(100% - 80px)); max-width:none; padding:0; margin:auto; }
#reviews.customer-stories :is(p,h2,h3) { margin:0; text-transform:none; letter-spacing:0; }
#reviews.customer-stories .section-label { font:400 11px/20px var(--sans); color:#8d6c43; text-transform:uppercase; margin-bottom:12px; }
#reviews.customer-stories .stories-heading { display:grid; grid-template-columns:2fr 1fr; align-items:end; gap:32px; margin-bottom:40px; }
#reviews.customer-stories h2 { font:400 40px/1.1 'Breter Prices Display',Georgia,serif; }
#reviews.customer-stories .stories-heading > p { font:400 14px/1.5 var(--sans); color:#716a60; max-width:32ch; }
.stories-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.stories-track::-webkit-scrollbar { display:none; }
.story-card { flex:0 0 calc((100% - 60px)/4); min-width:0; border-radius:25px; overflow:hidden; background:#192021; color:#f7f4ee; scroll-snap-align:start; display:flex; flex-direction:column; }
.story-portrait { aspect-ratio:4/5; position:relative; overflow:hidden; flex-shrink:0; }
.story-portrait img { display:block; position:absolute; width:100%; height:100%; max-width:none; object-fit:cover; }
.story-portrait-karelin img { height:120%; top:0; }
.story-portrait-shchukin img { width:264.71%; height:141.18%; left:-100%; top:-12.94%; }
.story-portrait-pombukhchan img { width:330.88%; height:176.47%; left:-150%; top:-29.41%; }
.story-video { position:absolute; bottom:16px; left:16px; display:flex; gap:6px; align-items:center; border:0; border-radius:19px; padding:7px 12px; background:#c1a27a; color:#111718; font:400 10px/16px var(--sans); text-decoration:none; cursor:pointer; }
.story-copy { padding:16px; display:flex; flex-direction:column; gap:12px; flex:1; }
#reviews.customer-stories .story-copy h3 { font:500 16px/24px var(--sans); color:#f7f4ee; }
#reviews.customer-stories .story-role { font:400 11px/18px var(--sans); color:#c9c9c3; }
#reviews.customer-stories .story-quote { font:400 13px/20px var(--sans); color:#f7f4ee; flex:1; min-height:80px; }
.story-actions { display:grid; gap:10px; margin-top:4px; }
body.structure-preview .story-action { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px; border:1px solid #c1a27a; border-radius:25px; background:#c1a27a; color:#111718; font:400 11px/18px var(--sans); text-decoration:none; text-align:center; cursor:pointer; }
body.structure-preview .story-action.story-secondary { background:transparent; border-color:#59615e; color:#f7f4ee; }
.story-action:hover,.story-video:hover { filter:brightness(1.12); }
.stories-navigation { display:flex; gap:28px; align-items:center; justify-content:space-between; margin-top:24px; }
.stories-progress { flex:1; display:flex; align-items:center; gap:28px; }
.stories-counter { order:2; font:400 12px/20px var(--sans); color:#716a60; white-space:nowrap; min-width:80px; }
.stories-rule { flex:1; height:2px; background:#d6ccbd; }
.stories-rule span { display:block; height:100%; background:#8d6c43; width:100%; }
.stories-arrows { display:flex; gap:12px; }
body.structure-preview .stories-arrow { display:grid; place-items:center; padding:0; width:48px; height:48px; min-width:48px; border:1px solid #8d6c43; border-radius:50%; background:transparent; cursor:pointer; }
.stories-arrow:disabled { opacity:.35; cursor:default; }
.stories-arrow img { width:24px; height:24px; }
.stories-mobile { display:none; }
.story-dialog { width:min(1120px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 48px); padding:32px; border:0; border-radius:25px; background:#111718; color:#f7f4ee; overflow:auto; }
.story-dialog::backdrop { background:rgba(0,0,0,.65); }
.story-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.story-dialog-head p { font:400 13px/20px var(--sans); color:#c1a27a; text-transform:uppercase; margin:0; }
.story-dialog-head button { background:#192021; color:#f7f4ee; border:0; border-radius:25px; padding:14px 24px; font:400 14px/20px var(--sans); cursor:pointer; }
.story-dialog-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:32px; }
.story-pair-placeholder { min-height:340px; display:grid; place-items:center; padding:24px; border-radius:20px; background:#192021; color:#c9c9c3; font:400 16px/24px var(--sans); text-align:center; }
.story-dialog-copy { padding-top:12px; }
.story-dialog .story-dialog-copy h2 { font:400 42px/48px 'Breter Prices Display',Georgia,serif; text-transform:none; color:#f7f4ee; margin:0 0 24px; }
.story-dialog .story-dialog-copy p { font:400 18px/28px var(--sans); margin:0 0 24px; color:#f7f4ee; }
.story-dialog .story-dialog-copy .story-pair-name { color:#c1a27a; }
.story-dialog .story-action { font-size:14px; width:fit-content; padding-inline:24px; }
:is(.stories-track,.story-action,.story-video,.stories-arrow):focus-visible { outline:2px solid #8d6c43; outline-offset:3px; }
@media(max-width:1000px) and (min-width:701px) { .story-card { flex-basis:calc((100% - 40px)/3); } }
@media(max-width:700px) {
  .structure-preview main > #reviews.customer-stories { padding:40px 0; }
  #reviews.customer-stories > .wrap { width:calc(100% - 40px); }
  #reviews.customer-stories .stories-heading { display:block; margin-bottom:32px; }
  #reviews.customer-stories .section-label { font-size:13px; }
  #reviews.customer-stories h2 { font-size:40px; line-height:44px; }
  #reviews.customer-stories .stories-heading > p { font-size:16px; line-height:24px; margin-top:16px; max-width:none; }
  .stories-track { gap:16px; margin-right:-20px; padding-right:20px; scroll-padding-right:20px; }
  .story-card { flex-basis:calc(100% - 32px); }
  .story-copy { padding:24px; gap:16px; }
  #reviews.customer-stories .story-copy h3 { font-size:20px; line-height:28px; }
  #reviews.customer-stories .story-role { font-size:14px; line-height:20px; }
  #reviews.customer-stories .story-quote { font-size:16px; line-height:24px; min-height:96px; }
  body.structure-preview .story-action { font-size:14px; line-height:24px; min-height:56px; }
  .story-actions { gap:12px; margin-top:0; }
  .story-video { font-size:12px; }
  .stories-progress { flex-direction:column; align-items:stretch; gap:8px; max-width:174px; }
  .stories-counter { order:0; font-size:14px; }
  .stories-rule { flex:auto; }
  .stories-desktop { display:none; }
  .stories-mobile { display:inline; }
  .story-dialog { padding:24px; }
  .story-dialog-grid { grid-template-columns:1fr; gap:24px; }
  .story-pair-placeholder { min-height:160px; }
  .story-dialog .story-dialog-copy h2 { font-size:32px; line-height:36px; }
  .story-dialog .story-dialog-copy p { font-size:16px; line-height:24px; }
}
