:root{
  --bg:#05070b;
  --bg-soft:#0b0e14;
  --surface:#f0ece6;
  --surface-2:#ebe6df;
  --text:#f7f4ee;
  --text-dark:#111216;
  --muted:#c6beb4;
  --muted-dark:#5e5850;
  --accent:#d86b34;
  --accent-2:#ff9560;
  --shadow:0 20px 48px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 64px),1440px);margin:0 auto}
.section{padding:110px 0}
.section-light,.section-plain{background:var(--surface);color:var(--text-dark)}
.section-dark{background:var(--bg);color:var(--text)}
.eyebrow{margin:0 0 18px;font-size:12px;font-weight:900;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
.eyebrow.centered{text-align:center}
h1,h2{margin:0 0 30px;line-height:.92;letter-spacing:-.05em;font-weight:900;max-width:13ch}
h1{font-size:clamp(3.8rem,8vw,7rem)}
h2{font-size:clamp(3rem,6vw,5.6rem)}
h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.02;letter-spacing:-.03em}
.section-copy,.lead{margin:0;max-width:46rem;font-size:clamp(1.04rem,1.3vw,1.28rem);line-height:1.72}
.section-heading{margin-bottom:48px}
.centered{max-width:none;text-align:center;margin-left:auto;margin-right:auto}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:0 24px;border-radius:999px;font-weight:800;transition:.25s ease;white-space:nowrap}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 16px 34px rgba(216,107,52,.3)}
.btn-primary:hover{transform:translateY(-2px);background:var(--accent-2)}
.btn-secondary{border:1px solid rgba(255,255,255,.18);color:var(--text);background:rgba(255,255,255,.04)}
.btn-secondary:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.35)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s ease,backdrop-filter .25s ease,border-color .25s ease}
.site-header.scrolled{background:rgba(5,7,11,.84);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.brand{display:flex;align-items:center;padding:0;background:transparent;border-radius:0;box-shadow:none;min-width:0}
.brand img{height:58px;width:auto;display:block;opacity:1;filter:none}
.main-nav{display:flex;gap:20px;font-size:13px;font-weight:700}
.main-nav a,.footer-links a{position:relative}
.main-nav a::after,.footer-links a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.main-nav a:hover::after,.footer-links a:hover::after{transform:scaleX(1)}
.header-cta{min-height:44px;padding:0 18px;font-size:13px}
.nav-toggle{display:none;background:none;border:0;padding:0;width:44px;height:44px;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:#fff}.nav-toggle span:first-child{top:16px}.nav-toggle span:last-child{top:26px}
.mobile-nav{display:none}
.hero{position:relative;min-height:100svh;display:flex;align-items:stretch;background:#000}
.hero-picture,.hero-picture img{position:absolute;inset:0;width:100%;height:100%}.hero-picture img{object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 38%, rgba(0,0,0,.28) 70%, rgba(0,0,0,.46) 100%)}
.hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;padding:164px 0 88px;min-height:100svh}
.hero-copy{max-width:920px}
.hero-copy h1{max-width:11.6ch}
.hero-copy .lead{max-width:36rem;font-size:clamp(1rem,1.2vw,1.24rem);line-height:1.6}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,580px);gap:70px;align-items:center}
.intro h2{max-width:8ch}
.intro-stack{position:relative;min-height:470px}
.intro-main-card,.intro-accent-card{position:absolute;overflow:hidden;border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(17,18,22,.08)}
.intro-main-card{top:0;right:0;width:74%}
.intro-accent-card{right:0;bottom:18px;width:34%;border-width:6px;border-color:var(--surface)}
.intro-main-card img{width:100%;height:360px;object-fit:cover}.intro-accent-card img{width:100%;height:200px;object-fit:cover}
.story{overflow:visible}
.story .section-heading h2{max-width:none;font-size:clamp(3rem,5vw,5.3rem);line-height:.93}
.story-layout{display:grid;grid-template-columns:460px minmax(0,1fr);gap:54px;align-items:start}
.story-track{display:grid;gap:18px;padding-bottom:260px}
.story-step{min-height:32svh;display:flex;align-items:stretch}
.story-copy-box{max-width:none;width:100%;min-height:302px;padding:28px 26px 22px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(0,0,0,.16);transition:transform .28s ease, border-color .28s ease, background .28s ease;display:flex;flex-direction:column;justify-content:flex-start}
.story-step.is-active .story-copy-box{background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05));border-color:rgba(255,255,255,.18);transform:none}
.step-label{display:inline-block;margin-bottom:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.story-copy-box h3{font-size:clamp(1.7rem,2vw,2.2rem);line-height:1;max-width:none;hyphens:none;overflow-wrap:normal;word-break:normal}
.story-copy-box p{margin:16px 0 0;color:rgba(255,255,255,.86);line-height:1.54;max-width:23ch;font-size:1rem}
.story-visual{position:sticky;top:116px;height:70svh;min-height:560px;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);align-self:start}
.story-image{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .55s ease, transform .7s ease}.story-image.is-active{opacity:1;transform:scale(1)}
.story-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.3))}
.story-image img{width:100%;height:100%;object-fit:cover;object-position:center center}.story-progress{position:absolute;top:20px;left:20px;z-index:2;display:flex;gap:10px}.dot{width:11px;height:11px;border-radius:999px;background:rgba(255,255,255,.24);transition:.24s ease}.dot.is-active{background:var(--accent);transform:scale(1.18)}
.story-mobile-image{display:none;margin-top:18px;overflow:hidden;border-radius:22px;box-shadow:var(--shadow)}
.story-mobile-image img{width:100%;height:320px;object-fit:cover}
.competence-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.point{padding:24px 22px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.08);font-weight:800;line-height:1.4;box-shadow:0 14px 34px rgba(0,0,0,.06)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:124px;gap:18px}
.gallery-item{overflow:hidden;border-radius:28px;box-shadow:var(--shadow)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.05)}
.gallery-item:nth-child(1){grid-column:span 6;grid-row:span 4}.gallery-item:nth-child(2){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(3){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(4){grid-column:span 4;grid-row:span 2}.gallery-item:nth-child(5){grid-column:span 4;grid-row:span 2}.gallery-item:nth-child(6){grid-column:span 4;grid-row:span 2}.gallery-item:nth-child(7){grid-column:span 5;grid-row:span 3}.gallery-item:nth-child(8){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(9){grid-column:span 4;grid-row:span 2}.gallery-item:nth-child(10){grid-column:span 3;grid-row:span 2}.gallery-item:nth-child(11){grid-column:span 3;grid-row:span 2}.gallery-item:nth-child(12){grid-column:span 6;grid-row:span 3}
.references-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:34px}.ref-card,.ref-copy{min-height:350px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.ref-card img{width:100%;height:100%;object-fit:cover}.ref-copy{padding:40px;background:linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.08));display:flex;flex-direction:column;justify-content:flex-end}.ref-copy p{margin:16px 0 0;color:var(--muted);line-height:1.7}
.references-list-wrap{padding:40px;border-radius:30px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.featured-references{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.featured-references span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-weight:800}
.references-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.references-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.references-columns h4{margin:0 0 16px;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.references-columns ul{margin:0;padding-left:18px;color:rgba(255,255,255,.88)}.references-columns li+li{margin-top:10px}
.stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.stories-embed{margin-top:28px;padding:20px;border-radius:28px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.08)}
.cta-section{position:relative;overflow:hidden}.cta-section::before{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;background:radial-gradient(circle, rgba(216,107,52,.25), transparent 68%);filter:blur(30px)}.cta-box{text-align:center;display:grid;justify-items:center;max-width:860px;margin:0 auto}.cta-box .eyebrow,.cta-box h2,.cta-box .section-copy{margin-left:auto;margin-right:auto;text-align:center}.cta-box h2{max-width:12ch}.cta-copy{max-width:44rem}.cta-actions{justify-content:center;margin-top:38px}
.site-footer{padding:42px 0 48px;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.footer-logo{height:54px;width:auto;margin-bottom:14px;filter:none;opacity:1}.footer-inner p{margin:0;color:var(--muted)}.footer-links{display:grid;gap:10px;text-align:right}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .85s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media (max-width:1100px){.container{width:min(calc(100% - 34px),1440px)}.main-nav,.header-cta{display:none}.nav-toggle{display:block}.mobile-nav{display:none;position:absolute;top:100%;left:16px;right:16px;padding:16px;border-radius:22px;background:rgba(7,8,11,.96);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);gap:14px;flex-direction:column}.mobile-nav.open{display:flex}.split-grid,.story-layout,.footer-inner{grid-template-columns:1fr;display:grid}.story-visual{height:56vh;min-height:420px;position:relative;top:auto}.competence-points,.references-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.references-columns,.references-columns-3{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:200px}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}}
@media (max-width:780px){.container{width:min(calc(100% - 24px),1440px)}.section{padding:64px 0}h1,h2{margin-bottom:28px}h1{font-size:clamp(3rem,13vw,4.8rem)}h2{font-size:clamp(2.5rem,11vw,3.8rem)}.hero-inner{padding:156px 0 72px}.hero-copy,.lead,.section-copy{max-width:100%}.hero-actions,.stories-head{flex-direction:column;align-items:flex-start}.btn{width:100%}.brand img{height:30px}.intro-stack{min-height:auto;display:grid;gap:14px}.intro-main-card,.intro-accent-card{position:relative;inset:auto;width:auto;border-width:0}.intro-main-card img,.intro-accent-card img{height:250px}.story .section-heading{margin-bottom:24px}.story-track{gap:10px;padding-bottom:0}.story-step{min-height:auto;padding:0}.story-copy-box{max-width:none;padding:22px 18px}.story-step.is-active .story-copy-box{transform:none}.story-mobile-image{display:block}.story-visual{display:none}.competence-points,.references-grid,.gallery-grid{grid-template-columns:1fr}.references-list-wrap{padding:22px}.references-columns,.references-columns-3{grid-template-columns:1fr;gap:18px}.featured-references span{width:100%;justify-content:center}.gallery-grid{grid-auto-rows:240px}.footer-links{text-align:left}.cta-actions,.cta-box{text-align:center;justify-items:center}.cta-box h2{max-width:9ch}.cta-box .section-copy{text-align:center;max-width:28rem}}

/* v4.9 effects + mobile refine */
:root{
  --headline-max: 13ch;
  --copy-max: 38rem;
}
.section-heading{margin-bottom:44px}
.section-heading .eyebrow{margin-bottom:20px}
.section-heading h2{max-width:var(--headline-max);margin-bottom:22px}
.section-copy{max-width:var(--copy-max)}
.hero::before{content:"";position:absolute;inset:-8%;background:radial-gradient(circle at 72% 20%, rgba(216,107,52,.18), transparent 28%), radial-gradient(circle at 20% 80%, rgba(255,255,255,.07), transparent 26%);z-index:1;pointer-events:none;animation:heroFloat 12s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-8px,0) scale(1.03)}}
.hero-picture img{animation:heroScale 18s ease-in-out infinite alternate}
@keyframes heroScale{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-copy{position:relative;z-index:2}
.hero-copy h1{max-width:10.5ch;text-wrap:balance}
.hero-copy .lead{max-width:35rem}
.hero-actions .btn{box-shadow:0 12px 28px rgba(0,0,0,.18)}
.hero-actions .btn-primary:hover{box-shadow:0 18px 36px rgba(216,107,52,.28)}

.intro .copy h2,.stories h2,.references h2,.cta-box h2{max-width:11ch}
.intro .section-copy{max-width:34rem}
.intro-stack{isolation:isolate}
.intro-main-card,.intro-accent-card{transition:transform .45s ease, box-shadow .45s ease}
.intro-stack:hover .intro-main-card{transform:translateY(-6px) rotate(-1.2deg)}
.intro-stack:hover .intro-accent-card{transform:translateY(6px) rotate(1.6deg)}

.story{overflow:visible}
.story::before{content:"";position:absolute;inset:12% auto auto -12%;width:38vw;height:38vw;background:radial-gradient(circle, rgba(216,107,52,.16), transparent 70%);filter:blur(10px);pointer-events:none}
.story-layout{gap:30px}
.story-track{position:relative;padding-top:10px}
.story-track::before{content:"";position:absolute;left:18px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.04))}
.story-step{min-height:22svh;position:relative;padding-left:42px}
.story-copy-box{position:relative;max-width:390px;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04))}
.story-copy-box::before{content:"";position:absolute;left:-32px;top:24px;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 8px rgba(255,255,255,.03)}
.story-step.is-active .story-copy-box::before{background:var(--accent);box-shadow:0 0 0 8px rgba(216,107,52,.12)}
.story-step.is-active .story-copy-box{transform:translateY(-2px) scale(1.015);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.story-visual{height:calc(82svh - 96px)}
.story-image{filter:saturate(.96) contrast(1.04)}
.story-image.is-active{transform:scale(1) translateY(0)}
.story-progress{top:auto;bottom:18px;left:18px;background:rgba(0,0,0,.26);backdrop-filter:blur(6px);padding:8px 10px;border-radius:999px}
.dot{width:10px;height:10px}
.dot.is-active{box-shadow:0 0 0 7px rgba(216,107,52,.18)}

.competence-points .point{transition:transform .32s ease, box-shadow .32s ease}
.competence-points .point:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(0,0,0,.09)}

.gallery-grid{perspective:1200px}
.gallery-item{position:relative}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent, rgba(0,0,0,.12));opacity:0;transition:opacity .45s ease}
.gallery-item:hover::after{opacity:1}
.gallery-item:nth-child(2n){transform:translateY(18px)}
.gallery-item:nth-child(3n){transform:translateY(-12px)}
.gallery-item:hover{transform:translateY(-6px) scale(1.01)}
.gallery-item:hover img{transform:scale(1.08)}

.references-grid{grid-template-columns:1.1fr 1fr 1fr 1.1fr;align-items:stretch}
.ref-card,.ref-copy{position:relative}
.ref-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.35));opacity:.75}
.references-list-wrap{position:relative;overflow:hidden}
.references-list-wrap::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;background:radial-gradient(circle, rgba(216,107,52,.18), transparent 68%)}
.featured-references.stacked{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.featured-references.stacked span{min-height:74px;border-radius:24px;padding:18px 16px;justify-content:flex-start;align-items:flex-end;line-height:1.25;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));box-shadow:0 18px 36px rgba(0,0,0,.16);transform-origin:center;transition:transform .35s ease, box-shadow .35s ease}
.featured-references.stacked span:nth-child(1){transform:translateY(0) rotate(-1.2deg)}
.featured-references.stacked span:nth-child(2){transform:translateY(16px) rotate(.8deg)}
.featured-references.stacked span:nth-child(3){transform:translateY(-8px) rotate(-.6deg)}
.featured-references.stacked span:nth-child(4){transform:translateY(12px) rotate(1deg)}
.featured-references.stacked span:nth-child(5){transform:translateY(-6px) rotate(.4deg)}
.featured-references.stacked span:nth-child(6){transform:translateY(14px) rotate(-.9deg)}
.featured-references.stacked span:nth-child(7){transform:translateY(2px) rotate(.5deg)}
.featured-references.stacked span:nth-child(8){transform:translateY(18px) rotate(-.5deg)}
.featured-references.stacked span:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 44px rgba(0,0,0,.22)}
.references-columns ul{list-style:none;padding-left:0}
.references-columns li{position:relative;padding-left:20px}
.references-columns li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:rgba(216,107,52,.75)}

.stories-embed{position:relative;overflow:hidden}
.stories-embed::before{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg, rgba(216,107,52,.08), transparent 24%);pointer-events:none}
.cta-box .eyebrow{margin-bottom:22px}
.cta-box h2{margin-bottom:26px;max-width:10.5ch;text-wrap:balance}
.cta-copy{max-width:42rem;margin-bottom:0}
.cta-actions{margin-top:32px}

@media (max-width:1100px){
  .story-layout{gap:24px}
  .featured-references.stacked{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .section-heading{margin-bottom:30px}
  .section-heading .eyebrow{margin-bottom:16px}
  .section-heading h2{margin-bottom:18px;max-width:10ch}
  .section-copy{max-width:100%}
  .hero-copy h1{max-width:8.5ch}
  .hero-copy .lead{max-width:31rem}
  .intro .copy h2{max-width:9ch}
  .intro-main-card img,.intro-accent-card img{height:220px}
  .story-track::before{display:none}
  .story-step{padding-left:0;min-height:auto}
  .story-copy-box{padding:20px 18px}
  .story-copy-box::before{display:none}
  .story-track{gap:14px}
  .story-mobile-image{margin-top:14px}
  .gallery-item:nth-child(2n),.gallery-item:nth-child(3n),.gallery-item:hover{transform:none}
  .featured-references.stacked{grid-template-columns:1fr;gap:12px}
  .featured-references.stacked span{min-height:62px;transform:none !important;justify-content:center;text-align:center}
  .references-grid{grid-template-columns:1fr}.ref-copy{min-height:260px}
  .cta-box h2{max-width:8ch}
}


/* v5.0 finish: headline widths, x-overflow fix, mobile cleanup */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-x:clip}
main,section,.container,.story-layout,.gallery-grid,.references-grid,.stories-head,.cta-box{max-width:100%;min-width:0}
img,video,iframe{max-width:100%;height:auto}
.site-header,.mobile-nav,.hero,.story,.gallery-grid,.references-list-wrap{overflow-x:clip}
.section-heading{margin-bottom:36px}
.section-heading .eyebrow{margin-bottom:14px}
.section-heading h2{max-width:11.5ch;width:min(100%,11.5ch);text-wrap:balance;line-height:.92}
.hero-copy h1{max-width:9ch;width:min(100%,9ch);font-size:clamp(3.3rem,7vw,6.2rem);line-height:.92;text-wrap:balance}
.hero-copy .lead{max-width:31rem}
.intro .copy h2{max-width:8.8ch}
.story .section-heading h2{max-width:10ch}
.story-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;align-items:start}
.story-track{display:grid;gap:26px;padding-top:6px}
.story-step{min-height:16svh;padding-left:32px}
.story-copy-box{max-width:340px;padding:18px 18px 16px}
.story-copy-box h3{font-size:1.38rem;line-height:1.02;margin:0 0 10px;max-width:10ch}
.story-copy-box p{font-size:.94rem;line-height:1.45}
.story-visual{height:70svh;max-height:760px}
.gallery-grid{grid-template-columns:1.4fr .88fr .88fr;grid-auto-rows:220px;gap:18px}
.gallery-item:nth-child(2n),.gallery-item:nth-child(3n){transform:none}
.gallery-item{overflow:hidden}
.references-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ref-copy{padding:36px 28px;display:flex;flex-direction:column;justify-content:flex-end}
.ref-copy h3{font-size:clamp(2rem,3vw,3rem);line-height:.94;max-width:7ch;margin:0 0 16px}
.featured-references.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.featured-references.stacked span{min-width:0;word-break:break-word}
.references-columns h4{margin:0 0 12px;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.references-columns li{line-height:1.55}
.stories-head{align-items:end;gap:22px}
.cta-box{display:grid;justify-items:center;text-align:center;padding-block:clamp(84px,12vw,140px)}
.centered-block .eyebrow,.centered-block h2,.centered-block .section-copy,.centered-block .hero-actions{margin-left:auto;margin-right:auto;text-align:center}
.centered-block h2{max-width:10.2ch;width:min(100%,10.2ch);margin-bottom:22px}
.centered-block .section-copy{max-width:43rem}
.centered-block .hero-actions{justify-content:center}
.site-footer{overflow-x:clip}
@media (max-width:980px){
  .hero-copy h1{max-width:8ch}
  .story-layout{grid-template-columns:1fr;gap:20px}
  .story-track{gap:18px}
  .story-step{min-height:auto;padding-left:0}
  .story-copy-box{max-width:100%}
  .story-visual{display:none}
  .story-mobile-image{display:block;margin-top:14px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}
  .gallery-large{grid-column:span 2;grid-row:span 2}
  .references-grid{grid-template-columns:1fr 1fr}
  .ref-copy{min-height:unset}
  .featured-references.stacked{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .site-header .container{overflow:visible}
  .hero{min-height:88svh}
  .hero-inner{padding-top:120px;padding-bottom:80px}
  .hero-copy h1{max-width:6.8ch;font-size:clamp(2.6rem,12vw,4.2rem)}
  .hero-copy .lead{max-width:22rem;font-size:.98rem}
  .hero-actions{display:grid;gap:12px;width:min(100%,320px)}
  .hero-actions .btn{width:100%}
  .intro .copy h2,.section-heading h2,.centered-block h2{max-width:8.1ch;width:min(100%,8.1ch)}
  .split-grid{gap:26px}
  .intro-main-card img{height:240px}
  .intro-accent-card{right:-4px;bottom:-22px;width:42%}
  .story .section-heading{margin-bottom:22px}
  .story-track{gap:12px}
  .story-step{padding:0}
  .story-copy-box{padding:16px 16px 14px;border-radius:18px}
  .story-copy-box h3{font-size:1.18rem;max-width:11ch}
  .story-mobile-image img{height:240px;object-fit:cover;border-radius:24px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}
  .gallery-large{grid-column:auto;grid-row:auto}
  .gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .references-grid{grid-template-columns:1fr;gap:14px}
  .ref-card img{height:230px;object-fit:cover}
  .ref-copy{padding:26px 20px}
  .ref-copy h3{max-width:8ch;font-size:2rem}
  .featured-references.stacked{grid-template-columns:1fr}
  .featured-references.stacked span{min-height:56px;text-align:left;justify-content:flex-start}
  .references-list-wrap{padding:20px}
  .references-columns,.references-columns-3{gap:12px}
  .stories-head{align-items:start}
  .stories-head .btn{width:100%}
  .stories-embed{padding:10px}
  .stories iframe,.stories .elfsight-app-d637529b-8017-4a16-8a6b-0db0f13e1361{max-width:100%}
  .cta-box{padding-block:72px}
  .centered-block .section-copy{max-width:24rem}
  .footer-inner{gap:24px}
}


/* v5.1 final gallery/story/footer fixes */
.footer-inner{align-items:center}
@media (max-width:780px){
  .site-footer{padding:28px 0 34px}
  .footer-inner{display:grid;gap:18px;align-items:start}
  .footer-logo{height:26px;margin-bottom:8px}
  .footer-inner p{font-size:1rem;line-height:1.45}
  .footer-links{gap:10px}
  .footer-links a{font-size:.96rem}
}
.story-layout{align-items:start}
.story-track{gap:18px}
.story-step{min-height:18svh}
.story-visual{position:sticky;top:92px;align-self:start;height:min(76svh,760px)}
.story-image img{object-position:center center}
.gallery-grid{grid-template-columns:1.35fr 0.85fr 0.85fr;grid-auto-rows:180px;gap:16px;align-items:start}
.gallery-item{border-radius:24px}
.gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
.gallery-item:nth-child(2){grid-column:3;grid-row:1 / span 2}
.gallery-item:nth-child(3){grid-column:3;grid-row:3 / span 1}
.gallery-item:nth-child(4){grid-column:1;grid-row:4 / span 2}
.gallery-item:nth-child(5){grid-column:2;grid-row:4 / span 2}
.gallery-item:nth-child(6){grid-column:3;grid-row:4 / span 2}
.gallery-item:nth-child(7){grid-column:1 / span 2;grid-row:6 / span 2}
.gallery-item:nth-child(8){grid-column:3;grid-row:6 / span 1}
.gallery-item:nth-child(9){grid-column:3;grid-row:7 / span 1}
.gallery-item:nth-child(10){grid-column:1;grid-row:8 / span 1}
.gallery-item:nth-child(11){grid-column:2;grid-row:8 / span 1}
.gallery-item:nth-child(12){grid-column:3;grid-row:8 / span 1}
.section-plain .section-heading h2{max-width:10ch}
@media (max-width:980px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}
  .gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .gallery-item:nth-child(2){grid-column:1;grid-row:3}
  .gallery-item:nth-child(3){grid-column:2;grid-row:3}
  .gallery-item:nth-child(4){grid-column:1;grid-row:4}
  .gallery-item:nth-child(5){grid-column:2;grid-row:4}
  .gallery-item:nth-child(6){grid-column:1 / span 2;grid-row:5 / span 2}
  .gallery-item:nth-child(7){grid-column:1;grid-row:7}
  .gallery-item:nth-child(8){grid-column:2;grid-row:7}
  .gallery-item:nth-child(9){grid-column:1;grid-row:8}
  .gallery-item:nth-child(10){grid-column:2;grid-row:8}
  .gallery-item:nth-child(11){grid-column:1;grid-row:9}
  .gallery-item:nth-child(12){grid-column:2;grid-row:9}
}
@media (max-width:780px){
  .story .section-heading h2{max-width:9ch}
  .story-layout{display:block}
  .story-track{gap:12px}
  .story-step{min-height:auto;padding-left:0}
  .story-step .story-copy-box{max-width:none}
  .story-visual{display:none}
  .story-mobile-image{display:block}
  .gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:14px}
  .gallery-item{grid-column:auto!important;grid-row:auto!important;border-radius:20px}
  .gallery-item:nth-child(1), .gallery-item:nth-child(6){grid-column:1 / span 2;grid-row:span 2}
  .gallery-item img{height:100%;object-fit:cover}
}


/* v5.2 final finish overrides */
.intro .copy h2{max-width:9.6ch}
.story{overflow:visible}
.story .section-heading h2{max-width:9.5ch}
.story-layout{grid-template-columns:minmax(360px,470px) minmax(0,1fr);gap:28px;align-items:start}
.story-track{gap:14px;padding-top:8px;padding-bottom:28px}
.story-step{min-height:14svh;padding-left:36px}
.story-copy-box{max-width:380px;padding:24px 22px 20px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}
.story-copy-box h3{font-size:clamp(1.6rem,2.2vw,2.2rem);line-height:.96;max-width:9ch;margin-bottom:12px}
.story-copy-box p{font-size:1rem;line-height:1.55;max-width:28ch}
.story-visual{position:sticky;top:88px;align-self:start;height:calc(100svh - 124px);min-height:620px;max-height:860px;border-radius:34px}
.story-image img{object-fit:cover;object-position:center center}
.section-plain .section-heading h2{max-width:11ch}
.gallery-grid{grid-template-columns:1.35fr .85fr .85fr;grid-auto-rows:170px;gap:20px;align-items:start}
.gallery-item{border-radius:26px;box-shadow:0 16px 30px rgba(0,0,0,.09)}
.gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
.gallery-item:nth-child(2){grid-column:3;grid-row:1 / span 2}
.gallery-item:nth-child(3){grid-column:3;grid-row:3 / span 1}
.gallery-item:nth-child(4){grid-column:1;grid-row:4 / span 2}
.gallery-item:nth-child(5){grid-column:2 / span 2;grid-row:4 / span 2}
.gallery-item:nth-child(6){grid-column:1;grid-row:6 / span 2}
.gallery-item:nth-child(7){grid-column:2;grid-row:6 / span 1}
.gallery-item:nth-child(8){grid-column:3;grid-row:6 / span 1}
.gallery-item:nth-child(9){grid-column:2 / span 2;grid-row:7 / span 2}
.gallery-item:nth-child(10){grid-column:1;grid-row:8 / span 1}
.gallery-item:nth-child(11){grid-column:1;grid-row:9 / span 1}
.gallery-item:nth-child(12){grid-column:2 / span 2;grid-row:9 / span 1}
.references-grid{grid-template-columns:1.05fr 1.05fr 1.05fr 1.25fr;gap:20px}
.ref-copy{padding:42px 34px;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08)}
.ref-copy h3{max-width:8ch;font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:18px}
.references-list-wrap{padding:34px;border-radius:30px}
.featured-references.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.featured-references.stacked span{min-height:84px;padding:20px 18px;border-radius:24px;font-size:1rem;line-height:1.28}
.references-columns li{font-size:.98rem;line-height:1.65}
.cta-box{padding-block:92px 96px}
.centered-block h2{max-width:9.3ch;text-wrap:balance}
.centered-block .section-copy{max-width:42rem;line-height:1.72}
.site-footer{padding:34px 0 38px}
.footer-inner{align-items:start}
.footer-logo{height:30px;margin-bottom:10px}
@media (max-width:1100px){
  .story-layout{grid-template-columns:1fr;gap:18px}
  .story-visual{display:none}
  .story-track::before{display:none}
  .story-step{padding-left:0;min-height:auto}
  .story-mobile-image{display:block;margin-top:14px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:16px}
  .gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .gallery-item:nth-child(2){grid-column:1;grid-row:3}
  .gallery-item:nth-child(3){grid-column:2;grid-row:3}
  .gallery-item:nth-child(4){grid-column:1;grid-row:4}
  .gallery-item:nth-child(5){grid-column:2;grid-row:4 / span 2}
  .gallery-item:nth-child(6){grid-column:1;grid-row:5}
  .gallery-item:nth-child(7){grid-column:1 / span 2;grid-row:6 / span 2}
  .gallery-item:nth-child(8){grid-column:1;grid-row:8}
  .gallery-item:nth-child(9){grid-column:2;grid-row:8}
  .gallery-item:nth-child(10){grid-column:1;grid-row:9}
  .gallery-item:nth-child(11){grid-column:2;grid-row:9}
  .gallery-item:nth-child(12){grid-column:1 / span 2;grid-row:10}
  .references-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:780px){
  .hero-copy h1{max-width:6.2ch;line-height:.94}
  .hero-copy .lead{max-width:22rem;line-height:1.7}
  .intro .copy h2{max-width:8.4ch}
  .story .section-heading h2{max-width:8.8ch}
  .story-track{gap:12px}
  .story-copy-box{padding:22px 18px 18px;border-radius:24px}
  .story-copy-box h3{font-size:1.5rem;max-width:10ch}
  .story-copy-box p{font-size:.98rem}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}
  .gallery-item{grid-column:auto !important;grid-row:auto !important;border-radius:22px}
  .gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .references-grid{grid-template-columns:1fr;gap:14px}
  .ref-copy{padding:28px 22px}
  .ref-copy h3{font-size:2.1rem;max-width:9ch}
  .featured-references.stacked{grid-template-columns:1fr;gap:12px}
  .featured-references.stacked span{min-height:62px;font-size:.96rem;justify-content:flex-start;text-align:left}
  .site-footer{padding:24px 0 30px}
  .footer-inner{gap:16px}
  .footer-logo{height:22px;margin-bottom:6px}
  .footer-inner p{font-size:.96rem}
  .footer-links a{font-size:.94rem}
  .cta-box{padding-block:76px 80px}
  .centered-block h2{max-width:8ch}
  .centered-block .section-copy{max-width:23rem}
}


/* v5.3 refined desktop gallery */

.gallery-grid-desktop-refined{
  display:grid;
  grid-template-columns:1.45fr .78fr .78fr;
  grid-auto-rows:160px;
  gap:18px;
  align-items:start;
}
.gallery-grid-desktop-refined .gallery-item{overflow:hidden;border-radius:24px;box-shadow:var(--shadow-soft);transform:none !important;}
.gallery-grid-desktop-refined .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-grid-desktop-refined .gallery-a{grid-column:1 / span 2;grid-row:1 / span 3;}
.gallery-grid-desktop-refined .gallery-b{grid-column:3;grid-row:1 / span 2;}
.gallery-grid-desktop-refined .gallery-c{grid-column:3;grid-row:3 / span 2;}
.gallery-grid-desktop-refined .gallery-d{grid-column:1;grid-row:4 / span 2;}
.gallery-grid-desktop-refined .gallery-e{grid-column:2;grid-row:4 / span 2;}
.gallery-grid-desktop-refined .gallery-f{grid-column:3;grid-row:5 / span 1;}
.gallery-grid-desktop-refined .gallery-g{grid-column:1 / span 2;grid-row:6 / span 2;}
.gallery-grid-desktop-refined .gallery-h{grid-column:3;grid-row:6 / span 2;}
.gallery-grid-desktop-refined .gallery-a img,.gallery-grid-desktop-refined .gallery-g img{object-position:center center;}
.gallery-grid-desktop-refined .gallery-c img,.gallery-grid-desktop-refined .gallery-h img{object-position:center center;}
@media (max-width:1100px){
  .gallery-grid-desktop-refined{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:16px;}
  .gallery-grid-desktop-refined .gallery-a{grid-column:1 / span 2;grid-row:1 / span 2;}
  .gallery-grid-desktop-refined .gallery-b{grid-column:1;grid-row:3;}
  .gallery-grid-desktop-refined .gallery-c{grid-column:2;grid-row:3;}
  .gallery-grid-desktop-refined .gallery-d{grid-column:1;grid-row:4;}
  .gallery-grid-desktop-refined .gallery-e{grid-column:2;grid-row:4;}
  .gallery-grid-desktop-refined .gallery-f{grid-column:1;grid-row:5;}
  .gallery-grid-desktop-refined .gallery-g{grid-column:2;grid-row:5 / span 2;}
  .gallery-grid-desktop-refined .gallery-h{grid-column:1;grid-row:6;}
}
@media (max-width:780px){
  .gallery-grid-desktop-refined{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px;}
  .gallery-grid-desktop-refined .gallery-item{grid-column:auto !important;grid-row:auto !important;}
  .gallery-grid-desktop-refined .gallery-item img{aspect-ratio:4 / 3;height:auto;}
  .gallery-grid-desktop-refined .gallery-a img{aspect-ratio:4 / 4.4;}
}


/* v5.3b complete desktop gallery rebuild */
.gallery-grid-desktop-refined{display:none !important;}

.gallery-editorial{display:grid;gap:28px;}
.gallery-row{display:grid;gap:24px;align-items:stretch;}
.gallery-row--hero{grid-template-columns:minmax(0,1.7fr) minmax(300px,.88fr);}
.gallery-side-stack{display:grid;gap:24px;}
.gallery-row--balanced{grid-template-columns:repeat(2,minmax(0,1fr));}
.gallery-row--mosaic{grid-template-columns:repeat(3,minmax(0,1fr));}
.gallery-shot{margin:0;border-radius:26px;overflow:hidden;box-shadow:0 18px 34px rgba(0,0,0,.08);background:#ddd;}
.gallery-shot img{width:100%;height:100%;display:block;object-fit:cover;}
.gallery-shot--lead img{aspect-ratio:16/10;}
.gallery-shot--portrait img{aspect-ratio:4/5;}
.gallery-shot--wide img{aspect-ratio:16/10;}
.gallery-shot--small img{aspect-ratio:4/3;}
@media (max-width: 1100px){
  .gallery-editorial{gap:20px;}
  .gallery-row{gap:18px;}
  .gallery-row--hero{grid-template-columns:1.35fr .9fr;}
  .gallery-side-stack{gap:18px;}
}
@media (max-width: 780px){
  .gallery-editorial{gap:16px;}
  .gallery-row,.gallery-row--hero,.gallery-row--balanced,.gallery-row--mosaic{grid-template-columns:1fr;gap:14px;}
  .gallery-side-stack{grid-template-columns:1fr 1fr;gap:14px;}
  .gallery-shot--lead img,.gallery-shot--wide img,.gallery-shot--small img{aspect-ratio:4/3;}
  .gallery-shot--portrait img{aspect-ratio:4/5;}
}

.references-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:34px}.ref-card,.ref-copy{min-height:350px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.ref-card img{width:100%;height:100%;object-fit:cover}.ref-copy{padding:40px;background:linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.08));display:flex;flex-direction:column;justify-content:flex-end}.ref-copy p{margin:16px 0 0;color:var(--muted);line-height:1.7}
.references-list-wrap{padding:40px;border-radius:30px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.featured-references{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.featured-references span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-weight:800}
.references-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.references-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.references-columns h4{margin:0 0 16px;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.references-columns ul{margin:0;padding-left:18px;color:rgba(255,255,255,.88)}.references-columns li+li{margin-top:10px}
.stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.stories-embed{margin-top:28px;padding:20px;border-radius:28px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.08)}
.cta-section{position:relative;overflow:hidden}.cta-section::before{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;background:radial-gradient(circle, rgba(216,107,52,.25), transparent 68%);filter:blur(30px)}.cta-box{text-align:center;display:grid;justify-items:center;max-width:860px;margin:0 auto}.cta-box .eyebrow,.cta-box h2,.cta-box .section-copy{margin-left:auto;margin-right:auto;text-align:center}.cta-box h2{max-width:12ch}.cta-copy{max-width:44rem}.cta-actions{justify-content:center;margin-top:38px}
.site-footer{padding:42px 0 48px;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.footer-logo{height:54px;width:auto;margin-bottom:14px;filter:none;opacity:.98}.footer-inner p{margin:0;color:var(--muted)}.footer-links{display:grid;gap:10px;text-align:right}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .85s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media (max-width:1100px){.container{width:min(calc(100% - 34px),1440px)}.main-nav,.header-cta{display:none}.nav-toggle{display:block}.mobile-nav{display:none;position:absolute;top:100%;left:16px;right:16px;padding:16px;border-radius:22px;background:rgba(7,8,11,.96);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);gap:14px;flex-direction:column}.mobile-nav.open{display:flex}.split-grid,.story-layout,.footer-inner{grid-template-columns:1fr;display:grid}.story-visual{height:56vh;min-height:420px;position:relative;top:auto}.competence-points,.references-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.references-columns,.references-columns-3{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:200px}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}}
@media (max-width:780px){.container{width:min(calc(100% - 24px),1440px)}.section{padding:64px 0}h1,h2{margin-bottom:28px}h1{font-size:clamp(3rem,13vw,4.8rem)}h2{font-size:clamp(2.5rem,11vw,3.8rem)}.hero-inner{padding:156px 0 72px}.hero-copy,.lead,.section-copy{max-width:100%}.hero-actions,.stories-head{flex-direction:column;align-items:flex-start}.btn{width:100%}.brand img{height:30px}.intro-stack{min-height:auto;display:grid;gap:14px}.intro-main-card,.intro-accent-card{position:relative;inset:auto;width:auto;border-width:0}.intro-main-card img,.intro-accent-card img{height:250px}.story .section-heading{margin-bottom:24px}.story-track{gap:10px;padding-bottom:0}.story-step{min-height:auto;padding:0}.story-copy-box{max-width:none;padding:22px 18px}.story-step.is-active .story-copy-box{transform:none}.story-mobile-image{display:block}.story-visual{display:none}.competence-points,.references-grid,.gallery-grid{grid-template-columns:1fr}.references-list-wrap{padding:22px}.references-columns,.references-columns-3{grid-template-columns:1fr;gap:18px}.featured-references span{width:100%;justify-content:center}.gallery-grid{grid-auto-rows:240px}.footer-links{text-align:left}.cta-actions,.cta-box{text-align:center;justify-items:center}.cta-box h2{max-width:9ch}.cta-box .section-copy{text-align:center;max-width:28rem}}

/* v4.9 effects + mobile refine */
:root{
  --headline-max: 13ch;
  --copy-max: 38rem;
}
.section-heading{margin-bottom:44px}
.section-heading .eyebrow{margin-bottom:20px}
.section-heading h2{max-width:var(--headline-max);margin-bottom:22px}
.section-copy{max-width:var(--copy-max)}
.hero::before{content:"";position:absolute;inset:-8%;background:radial-gradient(circle at 72% 20%, rgba(216,107,52,.18), transparent 28%), radial-gradient(circle at 20% 80%, rgba(255,255,255,.07), transparent 26%);z-index:1;pointer-events:none;animation:heroFloat 12s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-8px,0) scale(1.03)}}
.hero-picture img{animation:heroScale 18s ease-in-out infinite alternate}
@keyframes heroScale{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-copy{position:relative;z-index:2}
.hero-copy h1{max-width:10.5ch;text-wrap:balance}
.hero-copy .lead{max-width:35rem}
.hero-actions .btn{box-shadow:0 12px 28px rgba(0,0,0,.18)}
.hero-actions .btn-primary:hover{box-shadow:0 18px 36px rgba(216,107,52,.28)}

.intro .copy h2,.stories h2,.references h2,.cta-box h2{max-width:11ch}
.intro .section-copy{max-width:34rem}
.intro-stack{isolation:isolate}
.intro-main-card,.intro-accent-card{transition:transform .45s ease, box-shadow .45s ease}
.intro-stack:hover .intro-main-card{transform:translateY(-6px) rotate(-1.2deg)}
.intro-stack:hover .intro-accent-card{transform:translateY(6px) rotate(1.6deg)}

.story{overflow:visible}
.story::before{content:"";position:absolute;inset:12% auto auto -12%;width:38vw;height:38vw;background:radial-gradient(circle, rgba(216,107,52,.16), transparent 70%);filter:blur(10px);pointer-events:none}
.story-layout{gap:30px}
.story-track{position:relative;padding-top:10px}
.story-track::before{content:"";position:absolute;left:18px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.04))}
.story-step{min-height:22svh;position:relative;padding-left:42px}
.story-copy-box{position:relative;max-width:390px;background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04))}
.story-copy-box::before{content:"";position:absolute;left:-32px;top:24px;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 8px rgba(255,255,255,.03)}
.story-step.is-active .story-copy-box::before{background:var(--accent);box-shadow:0 0 0 8px rgba(216,107,52,.12)}
.story-step.is-active .story-copy-box{transform:translateY(-2px) scale(1.015);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.story-visual{height:calc(82svh - 96px)}
.story-image{filter:saturate(.96) contrast(1.04)}
.story-image.is-active{transform:scale(1) translateY(0)}
.story-progress{top:auto;bottom:18px;left:18px;background:rgba(0,0,0,.26);backdrop-filter:blur(6px);padding:8px 10px;border-radius:999px}
.dot{width:10px;height:10px}
.dot.is-active{box-shadow:0 0 0 7px rgba(216,107,52,.18)}

.competence-points .point{transition:transform .32s ease, box-shadow .32s ease}
.competence-points .point:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(0,0,0,.09)}

.gallery-grid{perspective:1200px}
.gallery-item{position:relative}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent, rgba(0,0,0,.12));opacity:0;transition:opacity .45s ease}
.gallery-item:hover::after{opacity:1}
.gallery-item:nth-child(2n){transform:translateY(18px)}
.gallery-item:nth-child(3n){transform:translateY(-12px)}
.gallery-item:hover{transform:translateY(-6px) scale(1.01)}
.gallery-item:hover img{transform:scale(1.08)}

.references-grid{grid-template-columns:1.1fr 1fr 1fr 1.1fr;align-items:stretch}
.ref-card,.ref-copy{position:relative}
.ref-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.35));opacity:.75}
.references-list-wrap{position:relative;overflow:hidden}
.references-list-wrap::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;background:radial-gradient(circle, rgba(216,107,52,.18), transparent 68%)}
.featured-references.stacked{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.featured-references.stacked span{min-height:74px;border-radius:24px;padding:18px 16px;justify-content:flex-start;align-items:flex-end;line-height:1.25;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));box-shadow:0 18px 36px rgba(0,0,0,.16);transform-origin:center;transition:transform .35s ease, box-shadow .35s ease}
.featured-references.stacked span:nth-child(1){transform:translateY(0) rotate(-1.2deg)}
.featured-references.stacked span:nth-child(2){transform:translateY(16px) rotate(.8deg)}
.featured-references.stacked span:nth-child(3){transform:translateY(-8px) rotate(-.6deg)}
.featured-references.stacked span:nth-child(4){transform:translateY(12px) rotate(1deg)}
.featured-references.stacked span:nth-child(5){transform:translateY(-6px) rotate(.4deg)}
.featured-references.stacked span:nth-child(6){transform:translateY(14px) rotate(-.9deg)}
.featured-references.stacked span:nth-child(7){transform:translateY(2px) rotate(.5deg)}
.featured-references.stacked span:nth-child(8){transform:translateY(18px) rotate(-.5deg)}
.featured-references.stacked span:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 44px rgba(0,0,0,.22)}
.references-columns ul{list-style:none;padding-left:0}
.references-columns li{position:relative;padding-left:20px}
.references-columns li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:rgba(216,107,52,.75)}

.stories-embed{position:relative;overflow:hidden}
.stories-embed::before{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg, rgba(216,107,52,.08), transparent 24%);pointer-events:none}
.cta-box .eyebrow{margin-bottom:22px}
.cta-box h2{margin-bottom:26px;max-width:10.5ch;text-wrap:balance}
.cta-copy{max-width:42rem;margin-bottom:0}
.cta-actions{margin-top:32px}

@media (max-width:1100px){
  .story-layout{gap:24px}
  .featured-references.stacked{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .section-heading{margin-bottom:30px}
  .section-heading .eyebrow{margin-bottom:16px}
  .section-heading h2{margin-bottom:18px;max-width:10ch}
  .section-copy{max-width:100%}
  .hero-copy h1{max-width:8.5ch}
  .hero-copy .lead{max-width:31rem}
  .intro .copy h2{max-width:9ch}
  .intro-main-card img,.intro-accent-card img{height:220px}
  .story-track::before{display:none}
  .story-step{padding-left:0;min-height:auto}
  .story-copy-box{padding:20px 18px}
  .story-copy-box::before{display:none}
  .story-track{gap:14px}
  .story-mobile-image{margin-top:14px}
  .gallery-item:nth-child(2n),.gallery-item:nth-child(3n),.gallery-item:hover{transform:none}
  .featured-references.stacked{grid-template-columns:1fr;gap:12px}
  .featured-references.stacked span{min-height:62px;transform:none !important;justify-content:center;text-align:center}
  .references-grid{grid-template-columns:1fr}.ref-copy{min-height:260px}
  .cta-box h2{max-width:8ch}
}


/* v5.0 finish: headline widths, x-overflow fix, mobile cleanup */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-x:clip}
main,section,.container,.story-layout,.gallery-grid,.references-grid,.stories-head,.cta-box{max-width:100%;min-width:0}
img,video,iframe{max-width:100%;height:auto}
.site-header,.mobile-nav,.hero,.story,.gallery-grid,.references-list-wrap{overflow-x:clip}
.section-heading{margin-bottom:36px}
.section-heading .eyebrow{margin-bottom:14px}
.section-heading h2{max-width:11.5ch;width:min(100%,11.5ch);text-wrap:balance;line-height:.92}
.hero-copy h1{max-width:9ch;width:min(100%,9ch);font-size:clamp(3.3rem,7vw,6.2rem);line-height:.92;text-wrap:balance}
.hero-copy .lead{max-width:31rem}
.intro .copy h2{max-width:8.8ch}
.story .section-heading h2{max-width:10ch}
.story-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;align-items:start}
.story-track{display:grid;gap:26px;padding-top:6px}
.story-step{min-height:16svh;padding-left:32px}
.story-copy-box{max-width:340px;padding:18px 18px 16px}
.story-copy-box h3{font-size:1.38rem;line-height:1.02;margin:0 0 10px;max-width:10ch}
.story-copy-box p{font-size:.94rem;line-height:1.45}
.story-visual{height:70svh;max-height:760px}
.gallery-grid{grid-template-columns:1.4fr .88fr .88fr;grid-auto-rows:220px;gap:18px}
.gallery-item:nth-child(2n),.gallery-item:nth-child(3n){transform:none}
.gallery-item{overflow:hidden}
.references-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ref-copy{padding:36px 28px;display:flex;flex-direction:column;justify-content:flex-end}
.ref-copy h3{font-size:clamp(2rem,3vw,3rem);line-height:.94;max-width:7ch;margin:0 0 16px}
.featured-references.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.featured-references.stacked span{min-width:0;word-break:break-word}
.references-columns h4{margin:0 0 12px;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.references-columns li{line-height:1.55}
.stories-head{align-items:end;gap:22px}
.cta-box{display:grid;justify-items:center;text-align:center;padding-block:clamp(84px,12vw,140px)}
.centered-block .eyebrow,.centered-block h2,.centered-block .section-copy,.centered-block .hero-actions{margin-left:auto;margin-right:auto;text-align:center}
.centered-block h2{max-width:10.2ch;width:min(100%,10.2ch);margin-bottom:22px}
.centered-block .section-copy{max-width:43rem}
.centered-block .hero-actions{justify-content:center}
.site-footer{overflow-x:clip}
@media (max-width:980px){
  .hero-copy h1{max-width:8ch}
  .story-layout{grid-template-columns:1fr;gap:20px}
  .story-track{gap:18px}
  .story-step{min-height:auto;padding-left:0}
  .story-copy-box{max-width:100%}
  .story-visual{display:none}
  .story-mobile-image{display:block;margin-top:14px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}
  .gallery-large{grid-column:span 2;grid-row:span 2}
  .references-grid{grid-template-columns:1fr 1fr}
  .ref-copy{min-height:unset}
  .featured-references.stacked{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:780px){
  .site-header .container{overflow:visible}
  .hero{min-height:88svh}
  .hero-inner{padding-top:120px;padding-bottom:80px}
  .hero-copy h1{max-width:6.8ch;font-size:clamp(2.6rem,12vw,4.2rem)}
  .hero-copy .lead{max-width:22rem;font-size:.98rem}
  .hero-actions{display:grid;gap:12px;width:min(100%,320px)}
  .hero-actions .btn{width:100%}
  .intro .copy h2,.section-heading h2,.centered-block h2{max-width:8.1ch;width:min(100%,8.1ch)}
  .split-grid{gap:26px}
  .intro-main-card img{height:240px}
  .intro-accent-card{right:-4px;bottom:-22px;width:42%}
  .story .section-heading{margin-bottom:22px}
  .story-track{gap:12px}
  .story-step{padding:0}
  .story-copy-box{padding:16px 16px 14px;border-radius:18px}
  .story-copy-box h3{font-size:1.18rem;max-width:11ch}
  .story-mobile-image img{height:240px;object-fit:cover;border-radius:24px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}
  .gallery-large{grid-column:auto;grid-row:auto}
  .gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .references-grid{grid-template-columns:1fr;gap:14px}
  .ref-card img{height:230px;object-fit:cover}
  .ref-copy{padding:26px 20px}
  .ref-copy h3{max-width:8ch;font-size:2rem}
  .featured-references.stacked{grid-template-columns:1fr}
  .featured-references.stacked span{min-height:56px;text-align:left;justify-content:flex-start}
  .references-list-wrap{padding:20px}
  .references-columns,.references-columns-3{gap:12px}
  .stories-head{align-items:start}
  .stories-head .btn{width:100%}
  .stories-embed{padding:10px}
  .stories iframe,.stories .elfsight-app-d637529b-8017-4a16-8a6b-0db0f13e1361{max-width:100%}
  .cta-box{padding-block:72px}
  .centered-block .section-copy{max-width:24rem}
  .footer-inner{gap:24px}
}


/* v5.1 final gallery/story/footer fixes */
.footer-inner{align-items:center}
@media (max-width:780px){
  .site-footer{padding:28px 0 34px}
  .footer-inner{display:grid;gap:18px;align-items:start}
  .footer-logo{height:26px;margin-bottom:8px}
  .footer-inner p{font-size:1rem;line-height:1.45}
  .footer-links{gap:10px}
  .footer-links a{font-size:.96rem}
}
.story-layout{align-items:start}
.story-track{gap:18px}
.story-step{min-height:18svh}
.story-visual{position:sticky;top:92px;align-self:start;height:min(76svh,760px)}
.story-image img{object-position:center center}
.gallery-grid{grid-template-columns:1.35fr 0.85fr 0.85fr;grid-auto-rows:180px;gap:16px;align-items:start}
.gallery-item{border-radius:24px}
.gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
.gallery-item:nth-child(2){grid-column:3;grid-row:1 / span 2}
.gallery-item:nth-child(3){grid-column:3;grid-row:3 / span 1}
.gallery-item:nth-child(4){grid-column:1;grid-row:4 / span 2}
.gallery-item:nth-child(5){grid-column:2;grid-row:4 / span 2}
.gallery-item:nth-child(6){grid-column:3;grid-row:4 / span 2}
.gallery-item:nth-child(7){grid-column:1 / span 2;grid-row:6 / span 2}
.gallery-item:nth-child(8){grid-column:3;grid-row:6 / span 1}
.gallery-item:nth-child(9){grid-column:3;grid-row:7 / span 1}
.gallery-item:nth-child(10){grid-column:1;grid-row:8 / span 1}
.gallery-item:nth-child(11){grid-column:2;grid-row:8 / span 1}
.gallery-item:nth-child(12){grid-column:3;grid-row:8 / span 1}
.section-plain .section-heading h2{max-width:10ch}
@media (max-width:980px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}
  .gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .gallery-item:nth-child(2){grid-column:1;grid-row:3}
  .gallery-item:nth-child(3){grid-column:2;grid-row:3}
  .gallery-item:nth-child(4){grid-column:1;grid-row:4}
  .gallery-item:nth-child(5){grid-column:2;grid-row:4}
  .gallery-item:nth-child(6){grid-column:1 / span 2;grid-row:5 / span 2}
  .gallery-item:nth-child(7){grid-column:1;grid-row:7}
  .gallery-item:nth-child(8){grid-column:2;grid-row:7}
  .gallery-item:nth-child(9){grid-column:1;grid-row:8}
  .gallery-item:nth-child(10){grid-column:2;grid-row:8}
  .gallery-item:nth-child(11){grid-column:1;grid-row:9}
  .gallery-item:nth-child(12){grid-column:2;grid-row:9}
}
@media (max-width:780px){
  .story .section-heading h2{max-width:9ch}
  .story-layout{display:block}
  .story-track{gap:12px}
  .story-step{min-height:auto;padding-left:0}
  .story-step .story-copy-box{max-width:none}
  .story-visual{display:none}
  .story-mobile-image{display:block}
  .gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:14px}
  .gallery-item{grid-column:auto!important;grid-row:auto!important;border-radius:20px}
  .gallery-item:nth-child(1), .gallery-item:nth-child(6){grid-column:1 / span 2;grid-row:span 2}
  .gallery-item img{height:100%;object-fit:cover}
}


/* v5.2 final finish overrides */
.intro .copy h2{max-width:9.6ch}
.story{overflow:visible}
.story .section-heading h2{max-width:9.5ch}
.story-layout{grid-template-columns:minmax(360px,470px) minmax(0,1fr);gap:28px;align-items:start}
.story-track{gap:14px;padding-top:8px;padding-bottom:28px}
.story-step{min-height:14svh;padding-left:36px}
.story-copy-box{max-width:380px;padding:24px 22px 20px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}
.story-copy-box h3{font-size:clamp(1.6rem,2.2vw,2.2rem);line-height:.96;max-width:9ch;margin-bottom:12px}
.story-copy-box p{font-size:1rem;line-height:1.55;max-width:28ch}
.story-visual{position:sticky;top:88px;align-self:start;height:calc(100svh - 124px);min-height:620px;max-height:860px;border-radius:34px}
.story-image img{object-fit:cover;object-position:center center}
.section-plain .section-heading h2{max-width:11ch}
.gallery-grid{grid-template-columns:1.35fr .85fr .85fr;grid-auto-rows:170px;gap:20px;align-items:start}
.gallery-item{border-radius:26px;box-shadow:0 16px 30px rgba(0,0,0,.09)}
.gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
.gallery-item:nth-child(2){grid-column:3;grid-row:1 / span 2}
.gallery-item:nth-child(3){grid-column:3;grid-row:3 / span 1}
.gallery-item:nth-child(4){grid-column:1;grid-row:4 / span 2}
.gallery-item:nth-child(5){grid-column:2 / span 2;grid-row:4 / span 2}
.gallery-item:nth-child(6){grid-column:1;grid-row:6 / span 2}
.gallery-item:nth-child(7){grid-column:2;grid-row:6 / span 1}
.gallery-item:nth-child(8){grid-column:3;grid-row:6 / span 1}
.gallery-item:nth-child(9){grid-column:2 / span 2;grid-row:7 / span 2}
.gallery-item:nth-child(10){grid-column:1;grid-row:8 / span 1}
.gallery-item:nth-child(11){grid-column:1;grid-row:9 / span 1}
.gallery-item:nth-child(12){grid-column:2 / span 2;grid-row:9 / span 1}
.references-grid{grid-template-columns:1.05fr 1.05fr 1.05fr 1.25fr;gap:20px}
.ref-copy{padding:42px 34px;border-radius:30px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08)}
.ref-copy h3{max-width:8ch;font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:18px}
.references-list-wrap{padding:34px;border-radius:30px}
.featured-references.stacked{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.featured-references.stacked span{min-height:84px;padding:20px 18px;border-radius:24px;font-size:1rem;line-height:1.28}
.references-columns li{font-size:.98rem;line-height:1.65}
.cta-box{padding-block:92px 96px}
.centered-block h2{max-width:9.3ch;text-wrap:balance}
.centered-block .section-copy{max-width:42rem;line-height:1.72}
.site-footer{padding:34px 0 38px}
.footer-inner{align-items:start}
.footer-logo{height:30px;margin-bottom:10px}
@media (max-width:1100px){
  .story-layout{grid-template-columns:1fr;gap:18px}
  .story-visual{display:none}
  .story-track::before{display:none}
  .story-step{padding-left:0;min-height:auto}
  .story-mobile-image{display:block;margin-top:14px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:16px}
  .gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .gallery-item:nth-child(2){grid-column:1;grid-row:3}
  .gallery-item:nth-child(3){grid-column:2;grid-row:3}
  .gallery-item:nth-child(4){grid-column:1;grid-row:4}
  .gallery-item:nth-child(5){grid-column:2;grid-row:4 / span 2}
  .gallery-item:nth-child(6){grid-column:1;grid-row:5}
  .gallery-item:nth-child(7){grid-column:1 / span 2;grid-row:6 / span 2}
  .gallery-item:nth-child(8){grid-column:1;grid-row:8}
  .gallery-item:nth-child(9){grid-column:2;grid-row:8}
  .gallery-item:nth-child(10){grid-column:1;grid-row:9}
  .gallery-item:nth-child(11){grid-column:2;grid-row:9}
  .gallery-item:nth-child(12){grid-column:1 / span 2;grid-row:10}
  .references-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:780px){
  .hero-copy h1{max-width:6.2ch;line-height:.94}
  .hero-copy .lead{max-width:22rem;line-height:1.7}
  .intro .copy h2{max-width:8.4ch}
  .story .section-heading h2{max-width:8.8ch}
  .story-track{gap:12px}
  .story-copy-box{padding:22px 18px 18px;border-radius:24px}
  .story-copy-box h3{font-size:1.5rem;max-width:10ch}
  .story-copy-box p{font-size:.98rem}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}
  .gallery-item{grid-column:auto !important;grid-row:auto !important;border-radius:22px}
  .gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .references-grid{grid-template-columns:1fr;gap:14px}
  .ref-copy{padding:28px 22px}
  .ref-copy h3{font-size:2.1rem;max-width:9ch}
  .featured-references.stacked{grid-template-columns:1fr;gap:12px}
  .featured-references.stacked span{min-height:62px;font-size:.96rem;justify-content:flex-start;text-align:left}
  .site-footer{padding:24px 0 30px}
  .footer-inner{gap:16px}
  .footer-logo{height:22px;margin-bottom:6px}
  .footer-inner p{font-size:.96rem}
  .footer-links a{font-size:.94rem}
  .cta-box{padding-block:76px 80px}
  .centered-block h2{max-width:8ch}
  .centered-block .section-copy{max-width:23rem}
}


/* v5.3 refined desktop gallery */

.gallery-grid-desktop-refined{
  display:grid;
  grid-template-columns:1.45fr .78fr .78fr;
  grid-auto-rows:160px;
  gap:18px;
  align-items:start;
}
.gallery-grid-desktop-refined .gallery-item{overflow:hidden;border-radius:24px;box-shadow:var(--shadow-soft);transform:none !important;}
.gallery-grid-desktop-refined .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-grid-desktop-refined .gallery-a{grid-column:1 / span 2;grid-row:1 / span 3;}
.gallery-grid-desktop-refined .gallery-b{grid-column:3;grid-row:1 / span 2;}
.gallery-grid-desktop-refined .gallery-c{grid-column:3;grid-row:3 / span 2;}
.gallery-grid-desktop-refined .gallery-d{grid-column:1;grid-row:4 / span 2;}
.gallery-grid-desktop-refined .gallery-e{grid-column:2;grid-row:4 / span 2;}
.gallery-grid-desktop-refined .gallery-f{grid-column:3;grid-row:5 / span 1;}
.gallery-grid-desktop-refined .gallery-g{grid-column:1 / span 2;grid-row:6 / span 2;}
.gallery-grid-desktop-refined .gallery-h{grid-column:3;grid-row:6 / span 2;}
.gallery-grid-desktop-refined .gallery-a img,.gallery-grid-desktop-refined .gallery-g img{object-position:center center;}
.gallery-grid-desktop-refined .gallery-c img,.gallery-grid-desktop-refined .gallery-h img{object-position:center center;}
@media (max-width:1100px){
  .gallery-grid-desktop-refined{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:16px;}
  .gallery-grid-desktop-refined .gallery-a{grid-column:1 / span 2;grid-row:1 / span 2;}
  .gallery-grid-desktop-refined .gallery-b{grid-column:1;grid-row:3;}
  .gallery-grid-desktop-refined .gallery-c{grid-column:2;grid-row:3;}
  .gallery-grid-desktop-refined .gallery-d{grid-column:1;grid-row:4;}
  .gallery-grid-desktop-refined .gallery-e{grid-column:2;grid-row:4;}
  .gallery-grid-desktop-refined .gallery-f{grid-column:1;grid-row:5;}
  .gallery-grid-desktop-refined .gallery-g{grid-column:2;grid-row:5 / span 2;}
  .gallery-grid-desktop-refined .gallery-h{grid-column:1;grid-row:6;}
}
@media (max-width:780px){
  .gallery-grid-desktop-refined{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px;}
  .gallery-grid-desktop-refined .gallery-item{grid-column:auto !important;grid-row:auto !important;}
  .gallery-grid-desktop-refined .gallery-item img{aspect-ratio:4 / 3;height:auto;}
  .gallery-grid-desktop-refined .gallery-a img{aspect-ratio:4 / 4.4;}
}


/* v5.3b complete desktop gallery rebuild */
.gallery-grid-desktop-refined{display:none !important;}
.gallery-rebuilt{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.78fr) minmax(0,.78fr);grid-auto-rows:185px;gap:22px;align-items:stretch;}
.gallery-card{margin:0;border-radius:26px;overflow:hidden;box-shadow:0 18px 34px rgba(0,0,0,.08);background:#ddd;}
.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;}
.gallery-card--hero{grid-column:1;grid-row:1 / span 3;}
.gallery-card--tall-1{grid-column:2;grid-row:1 / span 2;}
.gallery-card--tall-2{grid-column:3;grid-row:1 / span 2;}
.gallery-card--wide-1{grid-column:2 / span 2;grid-row:3 / span 2;}
.gallery-card--small-1{grid-column:1;grid-row:4 / span 1;}
.gallery-card--small-2{grid-column:1;grid-row:5 / span 1;}
.gallery-card--wide-2{grid-column:2;grid-row:5 / span 2;}
.gallery-card--wide-3{grid-column:3;grid-row:5 / span 2;}
@media (max-width:1100px){
  .gallery-rebuilt{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:16px;}
  .gallery-card--hero{grid-column:1 / span 2;grid-row:1 / span 2;}
  .gallery-card--tall-1{grid-column:1;grid-row:3 / span 2;}
  .gallery-card--tall-2{grid-column:2;grid-row:3 / span 2;}
  .gallery-card--wide-1{grid-column:1 / span 2;grid-row:5 / span 2;}
  .gallery-card--small-1{grid-column:1;grid-row:7;}
  .gallery-card--small-2{grid-column:2;grid-row:7;}
  .gallery-card--wide-2{grid-column:1;grid-row:8 / span 2;}
  .gallery-card--wide-3{grid-column:2;grid-row:8 / span 2;}
}
@media (max-width:780px){
  .gallery-rebuilt{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px;}
  .gallery-card,.gallery-card--hero,.gallery-card--tall-1,.gallery-card--tall-2,.gallery-card--wide-1,.gallery-card--small-1,.gallery-card--small-2,.gallery-card--wide-2,.gallery-card--wide-3{grid-column:auto !important;grid-row:auto !important;}
  .gallery-card img{aspect-ratio:4/3;height:auto;}
}


/* live prep legal + klaro */
.stories-placeholder{display:grid;gap:14px;justify-items:start;padding:28px;border:1px solid rgba(0,0,0,.08);border-radius:28px;background:rgba(255,255,255,.7);max-width:680px}
.stories-placeholder h3{margin:0;font-size:clamp(1.4rem,2vw,2rem);line-height:.95}
.stories-placeholder p{margin:0;max-width:42ch;color:var(--text-soft)}
.stories-embed-target{width:100%}
.footer-inner{align-items:start}
.footer-meta{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.footer-meta p{margin:0;color:rgba(255,255,255,.6);font-size:.95rem}

.legal-page{background:var(--bg);color:var(--text)}
.legal-main{padding-top:140px;padding-bottom:80px}
.legal-wrap{display:grid;gap:28px}
.legal-intro h1{margin:0 0 18px;font-size:clamp(2.5rem,6vw,5rem);line-height:.92;max-width:10ch}
.legal-intro p{margin:0;max-width:60ch;color:var(--text-soft)}
.legal-card{padding:32px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08)}
.legal-card h2,.legal-card h3{margin-top:0}
.legal-card h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:.95;margin-bottom:18px}
.legal-card h3{font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.legal-card p,.legal-card li{color:rgba(255,255,255,.88);line-height:1.65}
.legal-card ul{padding-left:20px;margin:0}
.legal-card + .legal-card{margin-top:0}
.klaro .cookie-modal,.klaro .cookie-notice{font-family:inherit}
@media (max-width:780px){
  .legal-main{padding-top:110px;padding-bottom:64px}
  .legal-card{padding:22px;border-radius:20px}
  .stories-placeholder{padding:20px;border-radius:20px}
}

/* v5.6 live polish overrides */
.brand img,.footer-logo{width:auto;display:block}
.brand img{height:42px}
.hero-copy{position:relative}
.hero-anniversary-badge{position:absolute;right:-8px;bottom:-54px;width:124px;height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.28));opacity:.96;pointer-events:none}
.hero-actions-main{align-items:flex-start}
.hero-actions-main .btn{min-width:0}
.story-step{min-height:32svh}
.story-copy-box{padding:28px 24px;border-radius:26px}
.story-copy-box h3{font-size:clamp(2rem,3vw,3rem);line-height:.96}
.story-copy-box p{font-size:1.05rem;line-height:1.5;max-width:22ch}
.story-visual img{object-fit:cover}
.story-mobile-image img{aspect-ratio:4/5;object-fit:cover}
.gallery-editorial{grid-template-columns:1.4fr .9fr;grid-auto-rows:auto;align-items:start;gap:28px 24px}
.gallery-row{display:contents}
.gallery-row--hero > .gallery-shot--lead{grid-column:1;grid-row:1 / span 2}
.gallery-row--hero > .gallery-side-stack{grid-column:2;grid-row:1;display:grid;gap:24px}
.gallery-row--balanced > .gallery-shot--wide:first-child{grid-column:2;grid-row:2}
.gallery-row--balanced > .gallery-shot--wide:last-child{grid-column:1;grid-row:3}
.gallery-row--mosaic{grid-column:2;grid-row:3;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-self:end}
.gallery-shot,.gallery-side-stack .gallery-shot{margin:0}
.gallery-shot img{display:block;width:100%;height:100%;object-fit:cover;border-radius:28px;box-shadow:0 18px 42px rgba(0,0,0,.12);transition:transform .35s ease, box-shadow .35s ease}
.gallery-shot:hover img{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,.18)}
.gallery-shot--lead img{aspect-ratio:4/5}
.gallery-side-stack .gallery-shot img{aspect-ratio:4/5}
.gallery-row--balanced .gallery-shot--wide img{aspect-ratio:16/10}
.gallery-row--mosaic .gallery-shot img{aspect-ratio:1/1}
.references-grid{align-items:stretch}
.ref-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:32px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}
.featured-references{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.featured-references span{padding:16px 18px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);justify-content:flex-start}
.stories-hint{margin-top:18px;color:var(--muted);font-size:.95rem}
.image-lightbox{position:fixed;inset:0;z-index:1400;background:rgba(2,5,9,.92);display:grid;place-items:center;padding:24px}
.image-lightbox img{max-width:min(92vw,1280px);max-height:86vh;border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;top:18px;right:22px;border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;border-radius:999px;font-size:34px;line-height:1;cursor:pointer}
.mobile-nav{z-index:1200}
.nav-toggle{z-index:1201}
@media (max-width: 980px){
  .featured-references{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-editorial{grid-template-columns:1fr;gap:18px}
  .gallery-row,.gallery-row--mosaic,.gallery-row--hero > .gallery-side-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .gallery-row--hero > .gallery-shot--lead,.gallery-row--balanced > .gallery-shot--wide:last-child,.gallery-row--balanced > .gallery-shot--wide:first-child{grid-column:auto;grid-row:auto}
  .gallery-row--hero > .gallery-shot--lead{grid-column:1 / -1}
  .gallery-row--hero > .gallery-side-stack{grid-column:1 / -1}
  .gallery-row--balanced .gallery-shot--wide:first-child,.gallery-row--balanced .gallery-shot--wide:last-child{grid-column:1 / -1}
}
@media (max-width: 780px){
  .brand img{height:38px}
  .hero-copy{max-width:100%;text-align:center}
  .hero-anniversary-badge{position:relative;right:auto;bottom:auto;width:108px;margin:0 auto 18px;display:block}
  .hero-actions-main{align-items:center;justify-content:center}
  .hero-actions-main .btn{width:min(100%,320px)}
  .section-copy,.lead{max-width:32ch;margin-left:auto;margin-right:auto;text-align:center}
  .intro .copy,.references .section-heading,.stories-head>div,.cta-box{display:grid;justify-items:start}
  .intro .copy .section-copy,.references .section-heading .section-copy{margin-left:0;margin-right:0;text-align:left}
  .story-step{min-height:auto}
  .story-copy-box{padding:24px 20px}
  .story-copy-box h3{font-size:clamp(1.85rem,7.8vw,2.5rem)}
  .story-mobile-image img{aspect-ratio:4/5}
  .gallery-editorial,.gallery-row,.gallery-row--hero > .gallery-side-stack,.gallery-row--mosaic{display:grid;grid-template-columns:1fr;gap:16px}
  .gallery-shot img,.gallery-side-stack .gallery-shot img,.gallery-row--balanced .gallery-shot--wide img,.gallery-row--mosaic .gallery-shot img{aspect-ratio:4/5}
  .references-grid{grid-template-columns:1fr;gap:14px}
  .featured-references{grid-template-columns:1fr}
  .featured-references span{justify-content:flex-start}
  .footer-inner{display:grid;gap:18px}
  .footer-logo{height:28px}
  .footer-links{text-align:left}
  .ref-copy{padding:24px}
}


/* v5.6a hotfixes: hide accidental lightbox overlay + stronger logo */
.image-lightbox[hidden]{display:none !important}
body.lightbox-open{overflow:hidden}
.image-lightbox{z-index:2000}
.brand img{height:56px}
.footer-logo{height:34px}
@media (max-width:780px){
  .brand img{height:48px}
  .footer-logo{height:26px}
}

/* v5.7 live polish overrides */
.site-header{background:rgba(5,7,11,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{min-height:92px;align-items:center}
.brand{padding:10px 14px;border-radius:26px;background:rgba(255,255,255,.98)}
.brand img{height:58px !important;max-width:none}
.footer-logo{height:64px !important;filter:none !important}
.footer-inner{align-items:center;gap:36px}
.footer-inner > div:first-child{display:grid;gap:10px;max-width:340px}
.footer-links{gap:12px}
@media (max-width:780px){
  .header-inner{min-height:84px}
  .brand{padding:8px 12px}
  .brand img{height:46px !important}
  .footer-inner{gap:22px}
  .footer-logo{height:48px !important}
}

.hero-inner{position:relative}
.hero-copy{max-width:min(920px,64vw)}
.hero-copy h1{max-width:8.4ch !important;width:min(100%,8.4ch)}
.hero-copy .lead{max-width:34rem}
.hero-anniversary-badge{right:0 !important;top:34px !important;bottom:auto !important;width:160px !important;filter:brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.28));opacity:.94}
@media (max-width:980px){
  .hero-copy{max-width:100%}
}
@media (max-width:780px){
  .hero-copy h1{max-width:6.9ch !important}
  .hero-anniversary-badge{position:relative !important;top:auto !important;right:auto !important;width:110px !important;margin:4px auto 18px}
}

.intro .copy h2{max-width:10.6ch !important;width:min(100%,10.6ch)}
.story .section-heading h2{max-width:12.2ch !important;width:min(100%,12.2ch)}
.section-plain .section-heading h2,
#bildwelt .section-heading h2{max-width:12.6ch !important;width:min(100%,12.6ch)}
#referenzen .section-heading h2{max-width:12.8ch !important;width:min(100%,12.8ch)}
#storys .stories-head h2{max-width:11.2ch !important;width:min(100%,11.2ch)}
@media (max-width:780px){
  .intro .copy h2{max-width:8.8ch !important}
  .story .section-heading h2{max-width:8.8ch !important}
  #bildwelt .section-heading h2{max-width:8.4ch !important}
  #referenzen .section-heading h2{max-width:8.6ch !important}
  #storys .stories-head h2{max-width:8.2ch !important}
}

.story-copy-box{max-width:420px !important;padding:24px 22px 20px !important}
.story-copy-box h3{font-size:clamp(1.8rem,2vw,3rem) !important;line-height:.96 !important;max-width:8.5ch !important}
.story-copy-box p{font-size:1.02rem !important;line-height:1.55 !important;max-width:20ch}
.story-track{gap:22px !important}
.story-step{min-height:22svh !important}
.story-visual{top:110px !important;height:calc(100svh - 140px) !important;min-height:640px !important}
.story-image img{object-position:center center !important}
@media (max-width:780px){
  .story-copy-box{padding:20px 18px 18px !important}
  .story-copy-box h3{font-size:1.55rem !important}
  .story-copy-box p{font-size:1rem !important}
}

/* gallery desktop calmer, consistent */
.gallery-grid{grid-template-columns:1.45fr .95fr !important;grid-auto-rows:280px !important;gap:22px !important;align-items:start}
.gallery-item{transform:none !important}
.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}
.gallery-item:nth-child(1){grid-column:1;grid-row:1 / span 2}
.gallery-item:nth-child(2){grid-column:2;grid-row:1}
.gallery-item:nth-child(3){grid-column:2;grid-row:2}
.gallery-item:nth-child(4){grid-column:1;grid-row:3}
.gallery-item:nth-child(5){grid-column:2;grid-row:3}
.gallery-item:nth-child(6){grid-column:1;grid-row:4 / span 2}
.gallery-item:nth-child(7){grid-column:2;grid-row:4}
.gallery-item:nth-child(8){grid-column:2;grid-row:5}
.gallery-item:nth-child(n+9){display:none}
.gallery-item img{height:100%;width:100%;object-fit:cover}
.gallery-item:hover{transform:translateY(-4px) !important}
@media (max-width:980px){
  .gallery-grid{grid-template-columns:1fr 1fr !important;grid-auto-rows:220px !important}
  .gallery-item:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .gallery-item:nth-child(2){grid-column:1;grid-row:3}
  .gallery-item:nth-child(3){grid-column:2;grid-row:3}
  .gallery-item:nth-child(4){grid-column:1;grid-row:4}
  .gallery-item:nth-child(5){grid-column:2;grid-row:4}
  .gallery-item:nth-child(6){grid-column:1 / span 2;grid-row:5 / span 2}
  .gallery-item:nth-child(7){grid-column:1;grid-row:7}
  .gallery-item:nth-child(8){grid-column:2;grid-row:7}
}
@media (max-width:780px){
  .gallery-grid{grid-template-columns:1fr !important;grid-auto-rows:auto !important;gap:14px !important}
  .gallery-item:nth-child(n){display:block;grid-column:auto !important;grid-row:auto !important}
  .gallery-item img{aspect-ratio:4/3;height:auto}
}

.stories-head{align-items:end}
.stories-head .btn{align-self:flex-end}
.stories-placeholder{max-width:760px !important;padding:32px !important;background:#fff !important;border:1px solid rgba(0,0,0,.12) !important}
.stories-placeholder h3,.stories-placeholder p{color:#111 !important}
.stories-placeholder .btn{width:auto !important;background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important;opacity:1 !important}
@media (max-width:780px){
  .stories-head{align-items:start}
  .stories-head .btn{width:100%;align-self:stretch}
  .stories-placeholder{padding:22px !important}
}


/* v5.8 final visual polish */
html,body{overflow-x:hidden;}
.container{width:min(calc(100% - 72px),1500px);}
.header-inner{min-height:104px;padding:18px 0;}
.brand{padding:0;background:none;box-shadow:none;border-radius:0;}
.brand img{height:88px !important;width:auto;object-fit:contain;}
.main-nav{gap:28px;font-size:15px;}
.header-cta{min-height:52px;padding:0 26px;font-size:15px;}
.hero-inner{justify-content:space-between;align-items:flex-end;padding-top:180px;padding-bottom:92px;gap:40px;}
.hero-copy{max-width:760px;}
.hero-copy h1{max-width:11.2ch;font-size:clamp(4rem,8vw,7.3rem);margin-bottom:24px;}
.hero-copy .lead{max-width:36rem;font-size:clamp(1.05rem,1.35vw,1.34rem);}
.hero-actions-main{align-items:flex-start;justify-content:flex-start;}
.hero-brand-badge{position:absolute;right:4%;bottom:7%;z-index:3}
.hero-anniversary-badge{position:relative !important;top:auto !important;right:auto !important;bottom:auto !important;width:156px !important;display:block;filter:brightness(0) invert(1) drop-shadow(0 12px 28px rgba(0,0,0,.34));opacity:.96;}
.intro .split-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:72px;}
.intro .copy h2{max-width:10.8ch !important;width:min(100%,10.8ch);font-size:clamp(3.2rem,6.4vw,6rem);line-height:.92;}
.intro .section-copy{max-width:33rem;}
.story .section-heading h2{max-width:11.3ch !important;width:min(100%,11.3ch);font-size:clamp(3.2rem,6.4vw,6rem);}
.story-layout{grid-template-columns:minmax(400px,480px) minmax(0,1fr) !important;gap:44px !important;align-items:start;}
.story-track{gap:18px;}
.story-step{min-height:26svh;}
.story-copy-box{max-width:420px !important;padding:30px 26px 24px !important;border-radius:30px !important;background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04)) !important;border:1px solid rgba(255,255,255,.12) !important;box-shadow:0 16px 40px rgba(0,0,0,.18);}
.story-copy-box h3{font-size:clamp(2.2rem,2.8vw,3.2rem) !important;max-width:8.5ch !important;line-height:.94 !important;}
.story-copy-box p{font-size:1.04rem !important;line-height:1.6 !important;max-width:22ch;}
.story-visual{top:118px !important;height:min(76svh,820px) !important;min-height:620px !important;}
.section-plain .section-heading h2,#bildwelt .section-heading h2{max-width:12.5ch !important;width:min(100%,12.5ch);font-size:clamp(3.2rem,6.2vw,6rem);}
.gallery-editorial{display:grid !important;grid-template-columns:1.55fr 1fr !important;gap:28px 24px !important;align-items:start;}
.gallery-row{display:grid;gap:24px;}
.gallery-row--hero{grid-template-columns:1fr .92fr !important;}
.gallery-row--hero .gallery-shot--lead img{height:620px;object-fit:cover;}
.gallery-side-stack{display:grid !important;grid-template-rows:1fr 1fr;gap:24px;}
.gallery-shot--portrait img{height:298px;object-fit:cover;}
.gallery-row--balanced{grid-template-columns:1fr 1fr !important;}
.gallery-row--balanced .gallery-shot img{height:350px;object-fit:cover;}
.gallery-row--mosaic{grid-template-columns:repeat(3,1fr) !important;}
.gallery-row--mosaic .gallery-shot img{height:230px;object-fit:cover;}
.gallery-shot{overflow:hidden;border-radius:28px;box-shadow:0 18px 40px rgba(0,0,0,.12);}
#referenzen .section-heading h2{max-width:10.8ch !important;width:min(100%,10.8ch);font-size:clamp(3.2rem,6.2vw,6rem);}
.references-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.ref-card img{height:250px;object-fit:cover;}
.ref-copy{padding:34px 28px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));}
.ref-copy h3{font-size:clamp(2rem,2.6vw,3rem);max-width:7ch;line-height:.96;}
.references-list-wrap{padding:34px 36px;border-radius:28px;}
.references-columns{gap:28px;}
.stories-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;}
.stories-head h2{max-width:10.2ch !important;width:min(100%,10.2ch);font-size:clamp(3.2rem,6.2vw,6rem);}
.stories-placeholder{max-width:760px !important;padding:34px !important;border-radius:28px !important;background:#fff !important;}
.stories-placeholder p{max-width:38ch;color:#111 !important;}
.stories-placeholder .btn{width:auto !important;min-width:240px;}
.cta-box h2{max-width:11ch !important;width:min(100%,11ch);font-size:clamp(3.2rem,6.2vw,6rem);}
.site-footer{padding:48px 0 56px !important;}
.footer-inner{display:grid !important;grid-template-columns:minmax(260px,.9fr) minmax(0,1fr) auto;gap:36px;align-items:start;}
.footer-logo{height:92px !important;width:auto;filter:none !important;margin-bottom:16px;}
.footer-links{grid-template-columns:repeat(2,minmax(0,max-content));display:grid;gap:12px 26px;text-align:left;}
.footer-meta{justify-self:end;text-align:right;}
.footer-inner p{font-size:1rem;line-height:1.55;}
.stories-embed{padding-top:8px;}
@media (max-width:1100px){.container{width:min(calc(100% - 40px),1500px);} .main-nav,.header-cta{display:none;} .nav-toggle{display:block;} .header-inner{min-height:92px;} .brand img{height:72px !important;} .hero-inner{display:block;padding-top:138px;} .hero-brand-badge{margin-top:26px;display:flex;justify-content:flex-end;} .story-layout{grid-template-columns:1fr !important;} .story-visual{display:none !important;} .stories-head{grid-template-columns:1fr;} .footer-inner{grid-template-columns:1fr 1fr;} .footer-meta{justify-self:start;text-align:left;}}
@media (max-width:780px){.container{width:min(calc(100% - 28px),1500px);} .header-inner{min-height:86px;padding:10px 0;} .brand img{height:56px !important;} .nav-toggle{width:48px;height:48px;} .mobile-nav{top:calc(100% + 8px);left:14px;right:14px;padding:18px;border-radius:20px;} .hero-inner{padding-top:120px;padding-bottom:62px;} .hero-copy h1{max-width:7.1ch;font-size:clamp(3.1rem,13vw,4.8rem);margin-bottom:18px;} .hero-copy .lead{max-width:24rem;font-size:1rem;line-height:1.58;} .hero-actions-main{width:min(100%,320px);display:grid;gap:12px;} .hero-brand-badge{justify-content:flex-start;margin-top:18px;} .hero-anniversary-badge{width:96px !important;filter:brightness(0) invert(1) drop-shadow(0 10px 22px rgba(0,0,0,.25));} .intro .split-grid{grid-template-columns:1fr;gap:22px;} .intro .copy h2{max-width:7.4ch !important;width:min(100%,7.4ch);font-size:clamp(2.8rem,12vw,4.4rem);} .intro-main-card img,.intro-accent-card img{height:220px;aspect-ratio:4/3;object-fit:cover;} .story .section-heading h2{max-width:7.9ch !important;width:min(100%,7.9ch);font-size:clamp(2.8rem,11vw,4.2rem);} .story-track{gap:14px;} .story-step{min-height:auto;} .story-copy-box{max-width:none !important;padding:22px 18px !important;border-radius:24px !important;} .story-copy-box h3{font-size:clamp(1.75rem,9.2vw,2.5rem) !important;max-width:9.2ch !important;} .story-copy-box p{font-size:.98rem !important;max-width:none;} .story-mobile-image img{height:250px;border-radius:24px;} #bildwelt .section-heading h2{max-width:8.2ch !important;width:min(100%,8.2ch);font-size:clamp(2.8rem,11vw,4.2rem);} .gallery-editorial,.gallery-row,.gallery-row--hero,.gallery-row--balanced,.gallery-row--mosaic,.gallery-side-stack{display:grid !important;grid-template-columns:1fr !important;gap:14px !important;} .gallery-shot img,.gallery-row--hero .gallery-shot--lead img,.gallery-shot--portrait img,.gallery-row--balanced .gallery-shot img,.gallery-row--mosaic .gallery-shot img{height:220px;aspect-ratio:4/3;object-fit:cover;} #referenzen .section-heading h2{max-width:8.2ch !important;width:min(100%,8.2ch);font-size:clamp(2.8rem,11vw,4.2rem);} .references-grid{grid-template-columns:1fr !important;gap:14px;} .ref-card img{height:220px;} .ref-copy{padding:24px 20px;} .featured-references.stacked{grid-template-columns:1fr !important;} .references-list-wrap{padding:20px 18px;} .stories-head h2{max-width:7.4ch !important;width:min(100%,7.4ch);font-size:clamp(2.8rem,11vw,4.2rem);} .stories-placeholder{padding:22px !important;} .stories-placeholder .btn{min-width:0;width:100% !important;} .cta-box h2{max-width:8.4ch !important;width:min(100%,8.4ch);font-size:clamp(2.8rem,11vw,4.2rem);} .site-footer{padding:28px 0 32px !important;} .footer-inner{grid-template-columns:1fr !important;gap:18px;} .footer-logo{height:68px !important;margin-bottom:10px;} .footer-links{grid-template-columns:1fr;gap:10px;} .footer-meta{text-align:left;justify-self:start;}}


@media (max-width:1100px){
  .header-inner{padding:14px 0}
  .brand img{height:46px}
}

@media (max-width:700px){
  .header-inner{padding:12px 0}
  .brand img{height:40px}
}


@media (max-width:1100px){
  .header-inner{padding:14px 0}
  .brand img{height:44px}
}

@media (max-width:700px){
  .header-inner{padding:12px 0}
  .brand img{height:40px}
}


/* Runde B final combo */
.story .section-heading h2 br,
.story-copy-box h3 br{display:block}

@media (max-width:780px){
  .hero-inner{padding:126px 0 56px !important;align-items:flex-start !important}
  .hero-copy{max-width:100% !important;width:100% !important;text-align:left !important}
  .hero-copy h1{max-width:7.3ch !important;font-size:clamp(2.75rem,10.2vw,4.05rem) !important;line-height:.95 !important;letter-spacing:-.045em !important;margin-bottom:18px !important;text-align:left !important}
  .hero-copy .lead{max-width:19.5rem !important;font-size:1rem !important;line-height:1.5 !important;margin-left:0 !important;margin-right:0 !important;text-align:left !important}
  .hero-actions{margin-top:22px !important;gap:12px !important;flex-direction:column !important;align-items:flex-start !important;width:100% !important}
  .hero-actions .btn{width:auto !important;min-width:260px !important;max-width:100% !important;justify-content:center !important}
  .hero-brand-badge{right:4% !important;bottom:4.5% !important}
  .hero-anniversary-badge{width:82px !important}

  .story .section-heading{margin-bottom:26px !important}
  .story .section-heading h2{max-width:none !important;font-size:clamp(2.6rem,11vw,3.8rem) !important;line-height:.95 !important}
  .story-layout{display:grid !important;grid-template-columns:1fr !important;gap:18px !important}
  .story-track{gap:18px !important;padding-bottom:0 !important}
  .story-step{display:grid !important;grid-template-columns:minmax(0,1fr) 132px !important;gap:14px !important;align-items:stretch !important;min-height:auto !important;padding:0 !important}
  .story-copy-box{max-width:none !important;min-height:0 !important;height:auto !important;padding:24px 20px 20px !important;border-radius:26px !important}
  .story-copy-box h3{font-size:clamp(1.78rem,7.2vw,2.45rem) !important;line-height:.98 !important;max-width:none !important;hyphens:none !important}
  .story-copy-box p{font-size:1rem !important;line-height:1.48 !important;max-width:18ch !important}
  .story-step.is-active .story-copy-box{transform:none !important}
  .story-mobile-image{display:block !important;margin-top:0 !important;align-self:stretch !important;border-radius:24px !important}
  .story-mobile-image img{height:100% !important;min-height:220px !important;aspect-ratio:4/5 !important}
  .story-visual{display:none !important}
}


/* === Final gallery cleanup: simple 3-column desktop, 1-column mobile === */
#bildwelt .section-heading,
#kompetenzen .section-heading{margin-left:auto;margin-right:auto;}

.gallery-editorial,
.gallery-grid,
.gallery-grid-desktop-refined{display:none !important;}

.gallery-simple{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}

.gallery-tile{
  margin:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 34px rgba(0,0,0,.08);
  background:#ddd;
}

.gallery-tile img{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  display:block;
}

@media (max-width: 780px){
  #kompetenzen .section-heading,
  #bildwelt .section-heading{
    text-align:left;
  }

  #kompetenzen .section-heading .section-copy,
  #bildwelt .section-heading .section-copy{
    margin-left:0;
    margin-right:0;
  }

  .gallery-simple{
    grid-template-columns:1fr;
    gap:16px;
  }

  .gallery-tile{border-radius:22px;}

  .gallery-tile img{
    aspect-ratio:4 / 3;
  }
}


/* recovery patch: keep clean gallery + restore working story headline/sticky */
.story{overflow:visible !important;overflow-x:visible !important;position:relative;}
.story > .container,.story-layout,.story-track{overflow:visible !important;}
.story-layout{display:grid !important;grid-template-columns:minmax(0,460px) minmax(0,1fr) !important;gap:48px !important;align-items:start !important;}
.story-layout > *{min-width:0;}
.story .section-heading h2{max-width:none !important;width:100% !important;font-size:clamp(3.2rem,6.2vw,6rem) !important;line-height:.92 !important;}
.story-track{padding-bottom:220px !important;}
.story-step{min-height:26svh !important;}
.story-copy-box{max-width:420px !important;}
.story-visual{position:-webkit-sticky !important;position:sticky !important;top:104px !important;align-self:start !important;height:calc(100vh - 136px) !important;min-height:620px !important;max-height:860px !important;overflow:hidden !important;display:block !important;}
.story-image,.story-image img{height:100%;}

@media (max-width:1100px){
  .story{overflow-x:visible !important;}
  .story-layout{grid-template-columns:1fr !important;gap:18px !important;}
  .story-visual{display:none !important;}
}

@media (max-width:780px){
  .story .container{width:min(calc(100% - 28px),1500px) !important;}
  .story .section-heading{margin-bottom:24px !important;}
  .story .section-heading h2{max-width:none !important;width:100% !important;font-size:clamp(2.6rem,11vw,3.8rem) !important;line-height:.95 !important;}
  .story-layout{grid-template-columns:1fr !important;gap:18px !important;}
  .story-track{gap:18px !important;padding-bottom:0 !important;}
  .story-step{display:grid !important;grid-template-columns:minmax(0,1fr) 132px !important;gap:14px !important;align-items:stretch !important;min-height:auto !important;padding:0 !important;}
  .story-copy-box{max-width:none !important;padding:24px 20px 20px !important;}
  .story-mobile-image{display:block !important;margin-top:0 !important;}
  .story-visual{display:none !important;}
}

/* story sticky fallback via JS */
.story-layout{position:relative !important;}
.story-visual.is-js-sticky{position:fixed !important;z-index:3;}
.story-visual.is-js-bottom{position:absolute !important;right:0;bottom:0;top:auto !important;}
@media (max-width:1100px){
  .story-visual.is-js-sticky,.story-visual.is-js-bottom{position:relative !important;left:auto !important;top:auto !important;bottom:auto !important;width:auto !important;}
}

/* === April 2026: references section cleanup === */
#referenzen .section-heading,
#referenzen .references-grid,
#referenzen .references-list-wrap{
  width:min(calc(100% - 56px), 1440px);
  margin-inline:auto;
}

#referenzen .section-heading h2{
  max-width:12.5ch;
  width:min(100%,12.5ch);
}

#referenzen .section-heading .section-copy{
  max-width:40rem;
}

#referenzen .references-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin-bottom:26px;
}

#referenzen .ref-card,
#referenzen .ref-copy{
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

#referenzen .ref-card{
  aspect-ratio:1 / 1;
  background:rgba(255,255,255,.04);
}

#referenzen .ref-card::after{
  display:none;
}

#referenzen .ref-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#referenzen .ref-copy{
  grid-column:1 / -1;
  min-height:auto;
  padding:30px 32px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.08));
}

#referenzen .ref-copy h3{
  margin:0;
}

#referenzen .ref-copy p{
  max-width:44rem;
  margin:14px 0 0;
}

#referenzen .references-list-wrap{
  padding:30px 32px;
}

#referenzen .featured-references.stacked{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}

#referenzen .featured-references.stacked span{
  min-height:62px;
  padding:16px 18px;
  border-radius:20px;
  transform:none !important;
  justify-content:flex-start;
  text-align:left;
}

#referenzen .references-columns,
#referenzen .references-columns-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

@media (max-width:1100px){
  #referenzen .references-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #referenzen .ref-copy{
    grid-column:1 / -1;
  }
  #referenzen .featured-references.stacked,
  #referenzen .references-columns,
  #referenzen .references-columns-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:780px){
  #referenzen .section-heading,
  #referenzen .references-grid,
  #referenzen .references-list-wrap{
    width:min(calc(100% - 28px), 1440px);
  }

  #referenzen .section-heading{
    text-align:left;
  }

  #referenzen .section-heading h2{
    max-width:8.8ch !important;
    width:min(100%,8.8ch);
  }

  #referenzen .section-heading .section-copy,
  #referenzen .ref-copy p{
    max-width:none;
  }

  #referenzen .references-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:18px;
  }

  #referenzen .ref-card{
    aspect-ratio:4 / 3;
    border-radius:24px;
  }

  #referenzen .ref-copy{
    padding:22px 18px;
    border-radius:24px;
  }

  #referenzen .references-list-wrap{
    padding:20px 18px;
  }

  #referenzen .featured-references.stacked,
  #referenzen .references-columns,
  #referenzen .references-columns-3{
    grid-template-columns:1fr !important;
    gap:12px;
  }

  #referenzen .featured-references.stacked span{
    min-height:56px;
  }
}


/* iPhone Safari mobile-menu hit-area fix */
.site-header{overflow:visible !important;-webkit-transform:translateZ(0);transform:translateZ(0);isolation:isolate;}
.site-header .container,.header-inner{overflow:visible !important;position:relative;z-index:2;}
.mobile-nav{overflow:visible !important;z-index:1300;}
.nav-toggle{position:relative;z-index:1401;pointer-events:auto !important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;}
.nav-toggle span{pointer-events:none;}
@media (max-width:1100px){
  .site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
  .nav-toggle{display:block !important;}
  .main-nav,.header-cta{display:none !important;}
}


/* cleanup: hide legacy duplicate mobile menu buttons and respect hidden placeholders */
.nav-toggle-proxy,.mobile-menu-proxy,[data-mobile-proxy-toggle],[data-proxy-nav-toggle]{display:none !important;}
[data-storys-placeholder][hidden],[data-storys-embed][hidden]{display:none !important;}


/* April 2026 mobile customer corrections */
@media (max-width:780px){
  #das-sind-wir .container,
  #kompetenzen .container,
  #bildwelt .container,
  #referenzen .container{
    width:min(calc(100% - 40px), 1440px) !important;
    margin-inline:auto !important;
  }

  #das-sind-wir .copy,
  #kompetenzen .section-heading,
  #bildwelt .section-heading,
  #referenzen .section-heading{
    text-align:left !important;
    justify-items:start !important;
  }

  #das-sind-wir .section-copy,
  #kompetenzen .section-heading .section-copy,
  #bildwelt .section-heading .section-copy,
  #referenzen .section-heading .section-copy{
    margin-left:0 !important;
    margin-right:auto !important;
    text-align:left !important;
    max-width:32rem !important;
  }

  #kompetenzen .section-heading h2,
  #bildwelt .section-heading h2{
    max-width:none !important;
    width:100% !important;
    font-size:clamp(2.4rem, 9.8vw, 3.6rem) !important;
    line-height:.95 !important;
    text-wrap:pretty;
    hyphens:none;
  }

  #das-sind-wir .intro-stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    min-height:auto !important;
  }

  #das-sind-wir .intro-main-card,
  #das-sind-wir .intro-accent-card{
    position:relative !important;
    inset:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    margin:0 !important;
    border-width:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }

  #das-sind-wir .intro-main-card img,
  #das-sind-wir .intro-accent-card img,
  #referenzen .ref-card img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    display:block !important;
  }

  #referenzen .ref-card{
    aspect-ratio:auto !important;
  }
}

/* v10b customer mobile polish */
@media (max-width:780px){
  #kompetenzen .section-heading .section-copy{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:auto !important;
    max-width:32rem !important;
  }

  #das-sind-wir .intro-main-card,
  #das-sind-wir .intro-accent-card{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
  }

  #das-sind-wir .intro-main-card img,
  #das-sind-wir .intro-accent-card img{
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
  }

  #referenzen .references-grid{
    width:min(calc(100% - 40px), 1440px) !important;
  }

  #referenzen .ref-card{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
    min-height:0 !important;
  }

  #referenzen .ref-card img{
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
  }
}


/* mobile references image centering fix */
@media (max-width: 780px){
  .references-grid .ref-card{width:100%;margin:0 auto;}
  .references-grid .ref-card img{width:100%;height:240px;object-fit:cover;object-position:center center;display:block;}
}


/* v10d final mobile polish: stories copy left, references 4:3, CTA centered */
.ref-card{margin:0}
@media (max-width: 780px){
  .stories-head,
  .stories-head > div,
  .stories-head .section-copy{
    text-align:left !important;
    align-items:flex-start !important;
    justify-items:start !important;
  }
  .stories-head .section-copy{
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
  }
  .references-grid .ref-card,
  .references-grid .ref-card img{
    width:100% !important;
  }
  .references-grid .ref-card img{
    display:block;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .cta-box,
  .cta-box .eyebrow,
  .cta-box h2,
  .cta-box .section-copy,
  .cta-box .cta-actions{
    text-align:center !important;
    justify-items:center !important;
    align-items:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .cta-box .section-copy{
    max-width:28rem !important;
  }
}
