/* Public portfolio and imported case studies. Presentation only: CMS copy/media stay intact. */
.story-page .nav.story-nav .nav-logo { display:flex; align-items:center; }
.story-page .nav.story-nav .nav-logo img { display:block; }

/* Portfolio: plum opening, a light gallery, original client identities. */
.story-page .fabulab-stories { background:#f8f3f8; color:#351536; }
.story-page .fabulab-stories .fabulab-archive-hero { min-height:auto; background:#351536; color:#fff; }
.story-page .fabulab-stories .fabulab-stories-hero-grid { position:relative; z-index:2; padding-block:clamp(68px,8vw,120px)!important; gap:48px; }
.story-page .fabulab-stories .h-display { max-width:16ch; line-height:1.06; font-weight:600; }
.story-page .fabulab-stories .fabulab-archive-hero::before { background:url('/assets/brand/balloon.svg') 85% 45%/min(1100px,100vw) auto no-repeat; opacity:.5; mask-image:none; }
.story-page .fabulab-stories .fabulab-archive-hero::after { display:none; }
.story-page .fabulab-stories .eyebrow { color:#ff9fc9; }
.story-page .fabulab-stories-orbit p { color:#f6d3e5; font-size:13px; letter-spacing:.08em; }
.story-page .fabulab-stories-orbit p b { color:#ff9fc9; }
.story-page .fabulab-stories .fabulab-archive-content { padding-block:clamp(42px,6vw,88px); }
.story-page .fabulab-stories .fabulab-archive-search { max-width:none; background:#fff; border-color:#dac6db; box-shadow:none; }
.story-page .fabulab-stories .fabulab-archive-search label { color:#625368; font-size:12px; }
.story-page .fabulab-stories .fabulab-archive-search input { color:#351536; font-size:17px; }
.story-page .fabulab-stories .fabulab-archive-search input::placeholder { color:#766378; }
.story-page .fabulab-stories .fabulab-archive-search input:focus-visible { outline:2px solid #a80049; outline-offset:0; border-radius:8px; }
.story-page .fabulab-stories .fabulab-archive-search button { min-height:46px; font-size:16px; }
.story-page .fabulab-stories .fabulab-tag-filter { max-width:none; gap:10px; }
.story-page .fabulab-stories :is(.fabulab-tag-filter a,.fabulab-card-tag) { color:#625368; background:transparent; border-color:#dac6db; font-size:13px; letter-spacing:0; padding:7px 13px; }
.story-page .fabulab-stories .fabulab-tag-filter a:is(:hover,.is-active) { color:#fff; background:#a80049; border-color:#a80049; }
.story-page .fabulab-stories .fabulab-results-heading { margin-top:48px; border-color:#dac6db; }
.story-page .fabulab-stories .fabulab-results-count { color:#351536; font-size:14px; }
.story-page .fabulab-stories .fabulab-results-heading>p:last-child { color:#625368; font-size:16px; }
.story-page .fabulab-stories .fabulab-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; grid-auto-flow:row; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) { grid-column:auto; min-height:0; background:#fff; border:1px solid #e7d9e8; border-radius:28px 28px 8px 28px; box-shadow:0 10px 30px #35153608; }
.story-page .fabulab-stories .fabulab-story-card:hover { transform:none; border-color:#c991b1; box-shadow:0 20px 45px #35153615; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media { min-height:0; aspect-ratio:1.85; padding:36px; background:radial-gradient(ellipse at 80% 15%,#723365,transparent 70%),#351536; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(3n+2) .fabulab-card-media { background:radial-gradient(ellipse at 90% 10%,#754378,transparent 70%),#422346; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(3n) .fabulab-card-media { background:radial-gradient(ellipse at 90% 10%,#435d8d,transparent 70%),#252d50; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media img { width:85%; height:clamp(110px,12vw,180px); filter:none; object-fit:contain; }
.story-page .fabulab-stories .fabulab-story-card .fabulab-card-media::after { border-color:#ffffff14; border-radius:18px 18px 6px 18px; }
.story-page .fabulab-stories .fabulab-card-body { padding:clamp(24px,3vw,38px); }
.story-page .fabulab-stories .fabulab-story-kicker { font-size:12px; color:#a80049; }
.story-page .fabulab-stories .fabulab-story-kicker b { color:#8b6a8c; }
.story-page .fabulab-stories .fabulab-story-card h2 { font:600 clamp(25px,2.4vw,36px)/1.15 var(--font-sans); letter-spacing:-.025em; margin:18px 0; }
.story-page .fabulab-stories .fabulab-story-card h2 a { color:#351536; }
.story-page .fabulab-stories .fabulab-story-card h2 a:hover { color:#a80049; }
.story-page .fabulab-stories .fabulab-story-card .fabulab-card-body>p { display:block; overflow:visible; color:#625368; font-size:17px; line-height:1.55; }
.story-page .fabulab-stories .fabulab-story-link { color:#a80049; font-size:15px; }
.story-page .fabulab-stories .fabulab-pagination { color:#625368; }
.story-page .fabulab-stories .fabulab-pagination a { border-radius:999px; }

/* Undo fixed desktop offsets and inline type imported from the previous site.
   Keep column proportions, text nodes, image URLs, forms and link targets. */
.story-page.fabulab-case-page .bz-page { background:#351536; }
.story-page.fabulab-case-page .bz-page>.fabulab-case-rail { font:400 13px/1.4 var(--font-sans); letter-spacing:.03em; padding-block:22px; gap:20px; flex-wrap:wrap; }
.story-page.fabulab-case-page .bz-page .bz-section { width:100%!important; margin:0!important; min-height:0; }
.story-page.fabulab-case-page .bz-page .bz-section-inner { padding:0!important; width:100%; gap:clamp(24px,4vw,64px)!important; align-items:center!important; }
.story-page.fabulab-case-page .bz-page .bz-section .bz-section { padding:0!important; background-color:transparent!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:nth-of-type(n) { padding:clamp(56px,7vw,104px) var(--gutter)!important; border-color:#e4d6e5!important; background-color:#fff!important; color:#351536; }
/* One white reading surface for every imported case, independent of section order.
   Legacy background artwork stays in the CMS; it does not tint the reading area. */
.story-page.fabulab-case-page .bz-page>.bz-section:not(:first-of-type):nth-of-type(n) { background:#fff!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:not(:first-of-type) :is(.bz-section,.bz-section-inner,.bz-column) { background:transparent!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:not(:first-of-type)::before { display:none; }
.story-page.fabulab-case-page .bz-page>.bz-section[style*="background-image"]::before { background:linear-gradient(110deg,#fcf8fcfa,#f6eef6ef); }
.story-page.fabulab-case-page .bz-column { min-width:0!important; }
.story-page.fabulab-case-page .bz-page :is(.bz-text,.bz-heading,.bz-icon-box,.bz-button) { margin:0!important; padding:0!important; max-width:100%; }
.story-page.fabulab-case-page .bz-column>.bz-block+.bz-block { margin-top:24px!important; }
.story-page.fabulab-case-page .bz-page :is(.bz-text,.bz-heading,.bz-button-link,.bz-icon-box-content,p,li,blockquote,label,input,textarea,select) { font-family:var(--font-sans)!important; }
.story-page.fabulab-case-page .bz-page .bz-text { font-size:clamp(18px,1.45vw,21px)!important; line-height:1.65!important; color:#625368!important; text-align:left!important; }
.story-page.fabulab-case-page .bz-page :is(.bz-text p,.bz-text li,.bz-text span,.bz-text div,.bz-heading span,.bz-icon-box-content span) { font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; color:inherit!important; background-color:transparent!important; letter-spacing:inherit!important; }
.story-page.fabulab-case-page .bz-text p+p { margin-top:1em; }
.story-page.fabulab-case-page .bz-page :is(p,li,blockquote) { color:#625368; }
.story-page.fabulab-case-page .bz-page>.bz-section:not(.video_head_case) :is(h2,h3) { color:#351536!important; font:600 clamp(25px,2.8vw,39px)/1.18 var(--font-sans)!important; letter-spacing:-.025em!important; text-transform:none; text-align:left!important; }
.story-page.fabulab-case-page .bz-heading::before { content:""; display:block; width:42px; height:4px; border-radius:999px; background:#d6005a; margin-bottom:22px; transition:width .3s; }
.story-page.fabulab-case-page .bz-heading[data-brand-current]::before { width:76px; }
.story-page.fabulab-case-page .bz-page .bz-image { margin:0!important; }
.story-page.fabulab-case-page .bz-page .bz-image img { display:block; max-width:100%; width:100%; height:auto; max-height:480px; object-fit:contain; padding:clamp(18px,3vw,40px); border:1px solid #e4d6e5; border-radius:28px 28px 8px 28px; background:#f0e5f0; box-shadow:none; }
.story-page.fabulab-case-page .bz-page .bz-icon-box { min-height:64px; padding:16px 0!important; border-bottom:1px solid #dfcfe1!important; color:#351536!important; }
.story-page.fabulab-case-page .bz-icon-box-mark { flex-shrink:0; border-radius:50% 50% 8% 50%; border-color:#dcb7cf!important; background:#f6e4ef; color:#a80049!important; }
.story-page.fabulab-case-page .bz-icon-box-content { color:#625368; font:400 18px/1.5 var(--font-sans); }
.story-page.fabulab-case-page .bz-page .bz-button { background:transparent!important; border:0!important; }
.story-page.fabulab-case-page .bz-page .bz-button-link { display:inline-flex; padding:14px 24px!important; border-radius:999px!important; background:#a80049!important; color:#fff!important; font-size:15px!important; line-height:1.4!important; letter-spacing:0; }
/* Standard case hero, plus the older standalone landing-page template. */
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type { position:relative; isolation:isolate; overflow:hidden; background-color:#351536!important; border:0!important; padding-block:clamp(56px,7vw,104px)!important; min-height:0; }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#351536f5,#351536c9 65%,#3515368c); }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type::after { content:""; position:absolute; inset:-35% -20%; width:auto; height:auto; z-index:-1; background:url('/assets/brand/balloon.svg') right center/65% auto no-repeat; opacity:.32; border:0; box-shadow:none; border-radius:0; pointer-events:none; }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type>.bz-section-inner { position:relative; z-index:2; }
.story-page.fabulab-case-page .video_head_case>.bz-section-inner>.bz-column:first-child { display:block!important; margin-bottom:30px; }
.story-page.fabulab-case-page .video_head_case>.bz-section-inner>.bz-column:last-child { margin-left:0; max-width:1080px; }
.story-page.fabulab-case-page .video_head_case .bz-heading::before { display:none; }
.story-page.fabulab-case-page .video_head_case h3 { font:400 clamp(15px,1.35vw,19px)/1.45 var(--font-sans)!important; letter-spacing:.04em!important; color:#ffadd1!important; text-transform:none; }
.story-page.fabulab-case-page .video_head_case h2 { font:600 clamp(38px,5.3vw,78px)/1.09 var(--font-sans)!important; letter-spacing:-.035em!important; max-width:23ch; }
.story-page.fabulab-case-page .video_head_case .bz-button-link { background:#ffffff0c!important; border:1px solid #ffffff40; font-size:12px!important; }
.story-page.fabulab-case-page .video_head_case .bz-button-link::before { color:#ffadd1; }
/* Recover visual hierarchy where legacy headings were saved as styled text. */
.story-page.fabulab-case-page .bz-page .bz-text:is([style*="font-size:40px"],[style*="font-size:50px"],[style*="font-size:70px"]) { font-size:clamp(28px,3.5vw,48px)!important; font-weight:600!important; line-height:1.2!important; letter-spacing:-.025em; color:#351536!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type .bz-text { color:#f6dff0!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type .bz-text[style*="font-size:70px"] { font-size:clamp(38px,5.3vw,78px)!important; line-height:1.09!important; color:#fff!important; }
.story-page.fabulab-case-page .bz-page>.bz-section:first-of-type .bz-text[style*="font-size:40px"] { font-size:clamp(22px,2.4vw,34px)!important; font-weight:400!important; }
/* Many nested 240px gutters in the legacy landing otherwise crush the columns. */
.story-page.fabulab-case-page .bz-page:not(:has(.video_head_case)) .bz-section-inner { flex-wrap:wrap!important; gap:24px!important; }
.story-page.fabulab-case-page .bz-page:not(:has(.video_head_case)) .bz-column { flex:1 1 220px!important; }
.story-page.fabulab-case-page .bz-page:not(:has(.video_head_case)) .bz-text { max-width:75ch; }
.story-page.fabulab-case-page .bz-page:not(:has(.video_head_case)) .bz-section-inner:has(>.bz-column:nth-child(8)) { align-items:flex-start!important; }
/* Existing form stays operational, with the same fields and submission handler. */
.story-page.fabulab-case-page .bz-page .cms-inline-form { width:min(860px,100%); background:#fff; border:1px solid #dfcfe1; border-radius:32px 32px 8px 32px; box-shadow:0 16px 50px #35153609; color:#351536; }
.story-page.fabulab-case-page .cms-inline-form .fb-field label { color:#625368; font-size:15px; }
.story-page.fabulab-case-page .cms-inline-form .fb-field :is(input,textarea,select) { color:#351536; background:#fcf8fc; border:1px solid #d5bed7; border-radius:12px; font-size:16px; color-scheme:light; }
.story-page.fabulab-case-page .cms-inline-form .fb-submit { background:#a80049; border-color:#a80049; border-radius:999px; min-height:48px; }
.story-page.fabulab-case-page .bz-page .cms-form-message { color:#17582c; background:#eefaf1; }
.story-page.fabulab-case-page .bz-page .cms-form-message[data-error="true"] { color:#8a183c; background:#fff0f4; }
/* Shared closing speech bubble. */
.story-page .fabulab-stories-cta,.story-page.fabulab-case-page .bz-page>.fabulab-case-next { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(125deg,#67163f,#401843 60%,#4e2e71); border:0; border-top-right-radius:80px; color:#fff; padding-block:clamp(72px,9vw,130px); }
.story-page .fabulab-stories-cta::before,.story-page.fabulab-case-page .fabulab-case-next::before { content:""; position:absolute; inset:-40% -15%; width:auto; aspect-ratio:auto; transform:rotate(155deg); border:0; background:url('/assets/brand/balloon.svg') 20% 70%/900px auto no-repeat; opacity:.35; z-index:-1; pointer-events:none; }
.story-page .fabulab-stories-cta h2,.story-page.fabulab-case-page .bz-page>.fabulab-case-next h2 { font:600 clamp(34px,4.7vw,66px)/1.1 var(--font-sans)!important; letter-spacing:-.035em; }
.story-page.fabulab-case-page .bz-page>.fabulab-case-next p { color:#f6dff0; font-size:19px!important; line-height:1.5; }
.story-page.fabulab-case-page .bz-page>.fabulab-case-next .eyebrow { color:#ffadd1; font-size:12px!important; }
@media(max-width:920px) {
 .story-page.fabulab-case-page .bz-page .bz-section-inner { flex-direction:column!important; gap:30px!important; }
 .story-page.fabulab-case-page .bz-page .bz-section-inner>.bz-column { flex:none!important; width:100%!important; max-width:100%!important; }
 .story-page.fabulab-case-page .bz-page .bz-section-inner .bz-section-inner { gap:26px!important; }
}
@media(max-width:680px) {
 .story-page .fabulab-stories .fabulab-archive-grid { grid-template-columns:1fr; gap:24px; }
 .story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media { aspect-ratio:1.7; padding:28px; }
 .story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media img { height:130px; }
 .story-page .fabulab-stories .fabulab-archive-search { padding:10px; border-radius:20px; grid-template-columns:minmax(0,1fr) auto; gap:4px; }
 .story-page .fabulab-stories .fabulab-archive-search label { grid-column:1/-1; padding:4px 12px 0; }
 .story-page .fabulab-stories .fabulab-archive-search input { font-size:16px; padding-inline:12px; }
 .story-page .fabulab-stories .fabulab-archive-search button { padding-inline:18px; }
 .story-page .fabulab-stories .fabulab-results-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .story-page .fabulab-stories .fabulab-results-heading>p:last-child { text-align:left; }
 .story-page.fabulab-case-page .bz-page>.fabulab-case-rail { font-size:11px; gap:14px; }
 .story-page.fabulab-case-page .bz-page>.bz-section:nth-of-type(n) { padding-block:48px!important; }
 .story-page.fabulab-case-page .bz-page .bz-image img { padding:22px; max-height:360px; }
 .story-page.fabulab-case-page .bz-page .cms-inline-form { padding:24px 18px; }
 .story-page .fabulab-stories-cta,.story-page.fabulab-case-page .bz-page>.fabulab-case-next { border-top-right-radius:48px; }
}
@media(prefers-reduced-motion:reduce) {
 .story-page .fabulab-story-card:hover .fabulab-card-media img,.story-page .fabulab-story-card:hover .fabulab-story-link span { transform:none; }
}
.story-page.fabulab-case-page .bz-page .bz-text :is(p,div,span,strong,b,em,i,a) { font-family:inherit!important; text-align:inherit!important; }
.story-page.fabulab-case-page .bz-page .bz-button-link :is(span,strong,b) { font-family:inherit!important; font-size:inherit!important; }
.story-page.fabulab-case-page .bz-page .bz-form-embed { padding:0!important; background:transparent; border:0; border-radius:32px; box-shadow:none; }
/* The original Eventpay calendar remains horizontally scrollable. */
.story-page.fabulab-case-page .sfondo-carosello { gap:20px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; padding-bottom:20px; scrollbar-color:#a80049 #e6dce9; }
.story-page.fabulab-case-page .sfondo-carosello .box-grande { flex:0 0 clamp(260px,30vw,360px); width:auto; min-width:0; max-width:none; height:auto; min-height:390px; padding:24px; margin:0; border:1px solid #dac6db; border-radius:28px 28px 8px 28px; background:#fff; scroll-snap-align:start; }
.story-page.fabulab-case-page .sfondo-carosello :is(h6,.titolo-giorno) { font:600 clamp(30px,3vw,44px)/1.1 var(--font-sans); color:#a80049!important; margin:0 0 24px; }
.story-page.fabulab-case-page .sfondo-carosello .titolo-giorno { margin-left:10px; }
.story-page.fabulab-case-page .sfondo-carosello .immagine-carosello { width:100%; height:150px; object-fit:contain; margin:24px auto; }
.story-page.fabulab-case-page .sfondo-carosello :is(.paragrafo-carosello,.box-elenco-carosello) { margin:24px 0 0; padding:20px; width:auto; height:auto; border-radius:18px 18px 4px 18px; background:#f0e5f0; color:#351536; font-size:16px!important; line-height:1.5; }
.story-page.fabulab-case-page .sfondo-carosello :is(ul,li) { font:400 16px/1.5 var(--font-sans); color:#351536; padding:0; }

/* Match the four new story previews to the established company-logo cards. */
.story-page .fabulab-stories .fabulab-story-card .fabulab-card-media:is([href="/30-tesori-di-grandaffi"],[href="/borsari-gioielli-ecommerce"],[href="/la-collina-dei-ciliegi"],[href="/raccontaci-la-tua-valpantena"]) img { filter:brightness(0) invert(1); }

/* A wide, quieter project gallery: the work fills the frame, identity sits beside the copy. */
.story-page .fabulab-stories .fabulab-archive-content { width:100%;max-width:none;padding:clamp(28px,4vw,64px) clamp(12px,2vw,32px) clamp(56px,6vw,96px); }
.story-page .fabulab-stories .fabulab-stories-hero-grid { padding-block:clamp(52px,6vw,88px)!important; }
.story-page .fabulab-stories .fabulab-archive-hero .h-display { font-size:clamp(38px,5.2vw,76px);max-width:19ch; }
.story-page .fabulab-stories .fabulab-tag-filter { margin-bottom:clamp(28px,3vw,48px);gap:8px; }
.story-page .fabulab-stories .fabulab-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(16px,2vw,32px); }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n),
.story-page .fabulab-stories .fabulab-story-card:nth-child(n):hover { border:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media { display:block;position:relative;padding:0;aspect-ratio:16 / 9;min-height:0;overflow:hidden;border-radius:28px 28px 8px 28px; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media::after { display:none; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media :is(video,img) { display:block;width:100%;height:100%;object-fit:cover;filter:none;transform:none;padding:0; }
.story-page .fabulab-stories .fabulab-story-card:nth-child(n) .fabulab-card-media.has-brand-cover img { object-fit:contain;padding:clamp(32px,5vw,80px); }
.story-page .fabulab-stories .fabulab-card-body { display:grid;grid-template-columns:minmax(0,1fr) clamp(72px,8vw,104px);gap:clamp(16px,2vw,28px);align-items:start;padding:24px 4px 0; }
.story-page .fabulab-stories .fabulab-card-copy { min-width:0; }
.story-page .fabulab-stories .fabulab-story-card h2 { margin:0 0 14px;font-size:clamp(23px,2vw,32px);line-height:1.15; }
.story-page .fabulab-stories .fabulab-card-copy>p { margin:0 0 18px;color:#625368;font-size:16px;line-height:1.55; }
.story-page .fabulab-stories .fabulab-card-logo { display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px;border-radius:16px 16px 5px 16px;background:#351536; }
.story-page .fabulab-stories .fabulab-card-logo img { display:block;width:100%;height:46px;object-fit:contain;filter:brightness(0) invert(1); }
.story-page .fabulab-stories .fabulab-card-tags { gap:7px;margin-top:0; }
.story-page .fabulab-stories .fabulab-card-tags .fabulab-card-tag { padding:0;border:0;border-radius:0;font-size:12px;line-height:1.5;background:none; }
.story-page .fabulab-stories .fabulab-card-tag+.fabulab-card-tag::before { content:"·";margin-right:7px;opacity:.65; }
.story-page .fabulab-stories .fabulab-story-link { display:inline-flex;margin-top:14px;padding:0;gap:12px;font-size:13px; }
@media(max-width:760px) {
 .story-page .fabulab-stories .fabulab-archive-grid { grid-template-columns:1fr;gap:40px; }
 .story-page .fabulab-stories .fabulab-card-body { grid-template-columns:minmax(0,1fr) 72px;gap:16px;padding:20px 4px 0; }
 .story-page .fabulab-stories .fabulab-card-logo { min-height:56px;padding:9px; }
 .story-page .fabulab-stories .fabulab-card-logo img { height:38px; }
}
/* Keep the opening and filters compact so the projects appear sooner. */
.story-page .fabulab-stories .fabulab-stories-hero-grid { padding-block:clamp(40px,4vw,60px)!important; }
.story-page .fabulab-stories .fabulab-archive-hero .h-display { font-size:clamp(36px,4.5vw,64px);max-width:22ch; }
.story-page .fabulab-stories .fabulab-tag-filter { flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#c991b1 transparent; }
.story-page .fabulab-stories .fabulab-tag-filter a { flex:0 0 auto;white-space:nowrap; }

/* Quiet, monochrome client marks beside the project copy. */
.story-page .fabulab-stories .fabulab-card-logo { background:transparent;border-radius:0;padding:0;min-height:0; }
.story-page .fabulab-stories .fabulab-card-logo img { filter:brightness(0) invert(.48); }

/* The supplied project illustration and original backdrop form one opening composition. */
.story-page .fabulab-stories .fabulab-stories-hero{min-height:clamp(680px,60vw,1186px);align-items:center;padding:clamp(80px,8vw,156px) 0 clamp(64px,5vw,96px)}
.story-page .fabulab-stories .fabulab-stories-hero .fabulab-stories-hero-grid{width:calc(100% - 2 * clamp(24px,7vw,140px));max-width:1392px;margin-inline:auto;padding-block:0!important;padding-inline:0;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;align-items:center}
.story-page .fabulab-stories .fabulab-stories-hero .fabulab-stories-hero-copy{max-width:none}
.story-page .fabulab-stories .fabulab-stories-hero .h-display{max-width:none;margin:0;font-size:clamp(36px,4.2vw,84px);font-weight:700;line-height:1.08;letter-spacing:.015em;color:#fff}
.story-page .fabulab-stories .fabulab-stories-hero .lead{max-width:720px;margin:clamp(28px,3vw,52px) 0 0;font-size:clamp(20px,1.55vw,31px);font-weight:300;line-height:1.3;letter-spacing:.075em;color:#fff}
.fabulab-stories-hero-art{display:block;width:min(373.333333px,66.666667%);height:auto;justify-self:start;object-fit:contain}
@media(max-width:900px){
 .story-page .fabulab-stories .fabulab-stories-hero{min-height:0;padding:calc(var(--nav-h) + 48px) 0 48px}
 .story-page .fabulab-stories .fabulab-stories-hero .fabulab-stories-hero-grid{width:calc(100% - 48px);grid-template-columns:minmax(0,1fr);gap:40px}
 .story-page .fabulab-stories .fabulab-stories-hero .h-display{font-size:clamp(30px,8.8vw,64px)}
 .story-page .fabulab-stories .fabulab-stories-hero .lead{font-size:20px;line-height:1.45;letter-spacing:.045em;max-width:580px}
 .fabulab-stories-hero-art{width:min(220px,53.333333vw);justify-self:center}
}

/* Blog keeps its purple field and one original speech bubble beside the text. */
.story-page .fabulab-insight .fabulab-insight-hero{background:#351536;min-height:clamp(560px,46vw,900px);align-items:center;padding:clamp(88px,7vw,128px) 0}
.story-page .fabulab-insight .fabulab-insight-hero::before,.story-page .fabulab-insight .fabulab-insight-hero::after{content:none;background:none}
.fabulab-insight-hero .fabulab-insight-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,96px);width:calc(100% - 2 * clamp(24px,7vw,140px));max-width:1392px;margin-inline:auto;padding:0}
.story-page .fabulab-insight-hero .h-display{font-size:clamp(44px,5.2vw,84px);line-height:1.06;max-width:13ch;margin:20px 0 0}
.story-page .fabulab-insight-hero .lead{max-width:610px;margin:32px 0 0;font-size:clamp(19px,1.5vw,23px);line-height:1.5}
.fabulab-insight-art{display:block;justify-self:center;width:min(560px,100%);height:auto;object-fit:contain}
@media(max-width:900px){
 .story-page .fabulab-insight .fabulab-insight-hero{min-height:0;padding:calc(var(--nav-h) + 48px) 0 48px}
 .fabulab-insight-hero .fabulab-insight-hero-grid{width:calc(100% - 48px);grid-template-columns:minmax(0,1fr);gap:40px}
 .story-page .fabulab-insight-hero .h-display{font-size:clamp(40px,7vw,64px);max-width:16ch}
 .fabulab-insight-art{width:min(330px,75vw)}
}
