:root{--blue:#111cf5;--cream:#e8e2d2;--ink:#17161a;--line:rgba(23,22,26,.2);--mono:'DM Mono',monospace;--serif:'Instrument Serif',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--mono);font-size:14px;cursor:none}a{color:inherit;text-decoration:none}.blue-section{background:var(--blue);color:var(--cream)}.beige-section{background:var(--cream);color:var(--ink)}.section-pad{padding:7vw 2.7vw}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;padding:22px 2.7vw;display:flex;justify-content:space-between;mix-blend-mode:difference;color:white;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.site-header nav{display:flex;gap:28px}.mini-logo{opacity:0}.cursor-dot{width:12px;height:12px;border-radius:50%;background:var(--cream);position:fixed;z-index:200;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;padding:8.8vw 2.7vw 2vw}.hero-kicker,.hero-time{position:absolute;top:14%;font-size:10px;text-transform:uppercase;letter-spacing:.22em}.hero-kicker{left:2.7vw}.hero-time{right:2.7vw}.hero h1{font-family:var(--serif);font-size:clamp(96px,15vw,260px);line-height:.72;font-weight:400;letter-spacing:-.055em;margin:0;position:relative;z-index:2}.hero h1 span{display:block}.hero h1 span:nth-child(2){margin-left:1.4vw}.hero-orb{position:absolute;bottom:7%;left:2.7vw;width:13vw;height:13vw;min-width:120px;min-height:120px;border-radius:50%;background:var(--cream)}.hero-intro{position:absolute;bottom:4.6%;left:18%;max-width:470px;font-family:var(--serif);font-size:clamp(18px,2vw,30px);font-style:italic;line-height:1.1}.hero-glow{position:absolute;right:3%;bottom:-10%;width:35vw;height:35vw;background:radial-gradient(circle,rgba(255,122,228,.42),transparent 64%);filter:blur(15px)}.discipline-strip{overflow:hidden;border-bottom:1px solid var(--line);padding:18px 0}.marquee-track{width:max-content;display:flex;gap:22px;animation:marquee 25s linear infinite;font:italic clamp(24px,3.2vw,48px)/1 var(--serif)}.marquee-track i{font-style:normal;color:var(--blue)}@keyframes marquee{to{transform:translateX(-50%)}}.section-heading-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:2vw}.section-heading-row h2{font:italic clamp(36px,5vw,80px)/.9 var(--serif);margin:0}.section-heading-row span{text-transform:uppercase;font-size:9px;letter-spacing:.15em}.work-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.work-card{aspect-ratio:1/1.07;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .45s cubic-bezier(.2,.8,.2,1);cursor:pointer}.work-card:hover{transform:translateY(-12px) rotate(-1deg)}.card-no{font:italic clamp(50px,7vw,100px)/1 var(--serif);align-self:center;margin-top:auto;margin-bottom:auto}.card-name{font-size:10px;text-transform:uppercase}.card-blue{background:var(--blue);color:var(--cream)}.card-sand{background:#d4cdbd}.card-black{background:#12111b;color:var(--cream)}.selected-intro{min-height:70vh;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line)}.selected-intro h2,.about h2,.archive h2{font:400 clamp(88px,11vw,190px)/.73 var(--serif);letter-spacing:-.05em;margin:2vw 0 0}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.18em}.selected-meta{font-size:10px;text-align:right;line-height:1.8}.project-row{display:grid;grid-template-columns:2fr 1.2fr .5fr .4fr;align-items:center;padding:28px 2.7vw;border-top:1px solid var(--line);min-height:120px;transition:padding .35s}.project-row:hover{padding-left:4vw}.project-row.inverted{background:var(--blue);color:var(--cream)}.project-title{font:italic clamp(32px,4vw,66px)/1 var(--serif)}.project-type,.project-year{font-size:9px;text-transform:uppercase}.project-index{font:italic clamp(38px,5vw,74px)/1 var(--serif);text-align:right}.about-intro{min-height:70vh;display:flex;flex-direction:column;justify-content:end}.about-blue{display:flex;justify-content:flex-end;min-height:38vh}.about-blue p{max-width:520px;font:italic clamp(26px,4vw,62px)/1.02 var(--serif);margin:0}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about-copy{font:italic clamp(24px,3vw,46px)/1.05 var(--serif)}dl div{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-top:1px solid var(--line)}dt{text-transform:uppercase;font-size:9px}dd{margin:0}.hello-band{padding:5vw 2.7vw}.hello-band span{font:italic clamp(80px,12vw,210px)/.8 var(--serif)}.archive-head{min-height:72vh;display:flex;flex-direction:column;justify-content:end}.archive-head>p:last-child{max-width:530px;font:italic 24px/1.1 var(--serif)}.archive-list>div{display:grid;grid-template-columns:1fr 5fr 1fr;padding:20px 2.7vw;border-top:1px solid rgba(232,226,210,.25);background:var(--blue);color:var(--cream);transition:background .25s,color .25s}.archive-list>div:hover{background:var(--cream);color:var(--ink)}.archive-list span:first-child,.archive-list span:last-child{font-size:9px;text-transform:uppercase}.archive-end{text-align:center;padding:90px 20px;font:italic 26px/1 var(--serif)}.contact-hero{min-height:85vh;display:flex;flex-direction:column;justify-content:end}.contact-hero h2{font:400 clamp(120px,18vw,300px)/.62 var(--serif);letter-spacing:-.06em;margin:20px 0 35px}.contact-hero>p:last-child{max-width:560px;font:italic clamp(20px,2.8vw,42px)/1.05 var(--serif)}.contact-card{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;min-height:48vh}.contact-wordmark{font:italic clamp(50px,7vw,120px)/.77 var(--serif)}.contact-links{display:flex;flex-direction:column;justify-content:center}.contact-links a{padding:18px 0;border-top:1px solid var(--line);transition:padding-left .25s}.contact-links a:hover{padding-left:12px}.footer{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);min-height:55vh;align-content:start}.footer-hi{grid-column:1/-1;align-self:end;font:italic clamp(80px,13vw,210px)/.8 var(--serif);margin-top:16vw}.project-modal{position:fixed;inset:0;z-index:300;background:var(--cream);transform:translateY(100%);transition:transform .7s cubic-bezier(.65,0,.2,1);overflow:auto}.project-modal.open{transform:translateY(0)}.modal-close{position:fixed;right:25px;top:20px;background:none;border:none;font:42px var(--serif);cursor:pointer}.modal-inner{padding:12vw 3vw}.modal-inner h2{font:400 clamp(100px,15vw,240px)/.8 var(--serif);margin:3vw 0}.modal-inner>p{max-width:540px}.modal-image-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:8vw}.modal-image-grid div{background:var(--blue);min-height:45vh}.modal-image-grid div:nth-child(2){background:#cfc7b5}.modal-image-grid div:nth-child(3){grid-column:1/-1;background:#15131b;min-height:60vh}@media(max-width:800px){body{cursor:auto}.cursor-dot{display:none}.site-header{padding:18px}.site-header nav{gap:14px;font-size:8px}.hero{padding:24vh 18px 20px}.hero h1{font-size:27vw;line-height:.72}.hero-orb{bottom:12%;left:18px;width:30vw;height:30vw}.hero-intro{display:none}.hero-time{display:none}.section-pad{padding:90px 18px}.work-cards{grid-template-columns:1fr}.selected-intro{min-height:60vh}.project-row{grid-template-columns:1fr auto;padding:22px 18px}.project-type,.project-year{display:none}.about-details,.contact-card{grid-template-columns:1fr}.about-blue{justify-content:flex-start}.archive-list>div{grid-template-columns:50px 1fr}.archive-list span:last-child{display:none}.footer{grid-template-columns:1fr}.footer-hi{margin-top:120px}.modal-image-grid{grid-template-columns:1fr}.modal-image-grid div:nth-child(3){grid-column:auto}}


/* 2026-07-11 refinement: compact sections + editorial five-part navigation */
.site-header.editorial-nav{
  display:grid;
  grid-template-columns:1fr 1fr auto 1fr 1fr;
  align-items:center;
  gap:clamp(18px,4vw,72px);
  padding:28px 2.7vw;
  mix-blend-mode:normal;
  color:var(--blue);
  background:linear-gradient(to bottom,var(--cream) 0 76%,transparent 100%);
  font-size:clamp(10px,.9vw,14px);
  font-weight:500;
  letter-spacing:0;
}
.site-header.editorial-nav>a{text-decoration:underline;text-underline-offset:3px}
.site-header.editorial-nav>a:nth-child(1),.site-header.editorial-nav>a:nth-child(2){justify-self:start}
.site-header.editorial-nav>a:nth-child(4),.site-header.editorial-nav>a:nth-child(5){justify-self:end}
.site-header.editorial-nav .mini-logo{
  opacity:1;
  justify-self:center;
  font:italic clamp(25px,2.6vw,44px)/1 var(--serif);
  text-decoration:none;
  letter-spacing:-.06em;
  transform:rotate(-4deg);
}
.hero{height:100svh;min-height:620px;padding-top:clamp(110px,10vw,155px)}
.hero h1{font-size:clamp(88px,13vw,220px);line-height:.72}
.hero-intro{bottom:4%;left:auto;right:2.7vw;max-width:min(36vw,520px);font-size:clamp(18px,1.75vw,29px)}
.hero-orb{bottom:4%;width:10vw;height:10vw;min-width:96px;min-height:96px}
.section-pad{padding:clamp(72px,6vw,105px) 2.7vw}
.selected-grid{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.selected-intro{min-height:58svh;padding-top:clamp(90px,8vw,130px);padding-bottom:4vw}
.selected-intro h2,.about h2,.archive h2{font-size:clamp(74px,9vw,150px)}
.project-row{min-height:88px;padding-top:18px;padding-bottom:18px}
.about-intro,.archive-head{min-height:62svh;padding-top:clamp(100px,9vw,145px);padding-bottom:4vw}
.about-blue{min-height:30svh;padding-top:4vw;padding-bottom:4vw}
.about-details{padding-top:4vw;padding-bottom:5vw}
.archive-end{padding:48px 20px}
.contact-hero{min-height:76svh;padding-top:clamp(110px,10vw,150px);padding-bottom:4vw}
.contact-card{min-height:38svh;padding-top:4vw;padding-bottom:4vw}
.footer{min-height:42svh;padding-top:3vw;padding-bottom:3vw}
.footer-hi{margin-top:7vw}

@media(max-width:800px){
  .site-header.editorial-nav{grid-template-columns:1fr auto 1fr;padding:18px;gap:12px}
  .site-header.editorial-nav>a:nth-child(2),.site-header.editorial-nav>a:nth-child(4){display:none}
  .site-header.editorial-nav>a:nth-child(1){justify-self:start}.site-header.editorial-nav>a:nth-child(5){justify-self:end}
  .site-header.editorial-nav .mini-logo{grid-column:2;grid-row:1}
  .hero{padding-top:25vh;min-height:620px}
  .hero h1{font-size:25vw}
  .hero-intro{display:block;left:18px;right:18px;bottom:4%;max-width:none;font-size:18px}
  .hero-orb{display:none}
}


/* Separate landing experiment — intentionally isolated from index.html */
.experiment-page{cursor:auto;background:#efeee7;color:var(--blue);min-height:100svh;overflow:hidden}
.experiment-nav{position:fixed;z-index:10;inset:0 0 auto;display:grid;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;padding:clamp(22px,3vw,48px) 1.8vw;font:500 clamp(13px,1.3vw,23px)/1 var(--mono);text-transform:uppercase}
.experiment-nav a{text-decoration:underline;text-underline-offset:4px}.experiment-nav a:nth-child(1),.experiment-nav a:nth-child(2){justify-self:start}.experiment-nav a:nth-child(4),.experiment-nav a:nth-child(5){justify-self:end}
.experiment-logo{font:italic clamp(30px,3vw,54px)/1 var(--serif)!important;text-decoration:none!important;transform:rotate(-7deg);letter-spacing:-.08em}
.experiment-stage{height:100svh;min-height:680px;position:relative;padding:clamp(105px,9vw,145px) 2vw 2vw;display:grid;grid-template-rows:1fr auto}
.experiment-index{position:absolute;left:8%;top:48%;font-size:10px;letter-spacing:.18em}
.frame-wrap{position:relative;place-self:center;width:min(29vw,430px);aspect-ratio:.72/1;margin-top:1vh}
.corner{position:absolute;font-size:clamp(30px,3vw,52px);line-height:1}.tl{left:-18%;top:-4%}.tr{right:-18%;top:-4%}.bl{left:-18%;bottom:-4%}.br{right:-18%;bottom:-4%}
.poster-stack{position:relative;width:100%;height:100%;overflow:hidden;background:#17161a;box-shadow:0 20px 45px rgba(17,28,245,.13)}
.poster{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:clamp(48px,6vw,96px);line-height:.72;letter-spacing:-.05em;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s}
.poster small{font:10px var(--mono);letter-spacing:.16em}.poster-a{background:var(--blue);color:var(--cream);transform:translate(-7%,-5%) rotate(-4deg)}.poster-b{background:#f33b62;color:#17161a;transform:translate(7%,3%) rotate(4deg);mix-blend-mode:screen}.poster-c{background:#b68cff;color:var(--blue);transform:translate(0,11%) rotate(-1deg);mix-blend-mode:multiply}
.frame-wrap:hover .poster-a{transform:translate(-13%,-8%) rotate(-7deg)}.frame-wrap:hover .poster-b{transform:translate(13%,1%) rotate(7deg)}.frame-wrap:hover .poster-c{transform:translate(0,15%) rotate(-2deg)}
.experiment-bottom{display:grid;grid-template-columns:1fr 2.2fr 1fr;align-items:end;gap:3vw;padding:0 3.4vw 2.2vw}.experiment-bottom h1{margin:0;text-align:center;text-transform:uppercase;font:500 clamp(20px,2.25vw,39px)/.9 Arial,sans-serif;letter-spacing:-.045em}.experiment-bottom h1 span{color:#6f68c8}.touch-link,.experiment-bottom p{font:500 clamp(13px,1.35vw,24px)/1 Arial,sans-serif;text-transform:uppercase;color:#6f68c8}.experiment-bottom p{text-align:right;margin:0}.back-note{position:absolute;right:2vw;bottom:1vw;font-size:9px;text-transform:uppercase;letter-spacing:.15em}
@media(max-width:800px){.experiment-page{overflow:auto}.experiment-nav{grid-template-columns:1fr auto 1fr}.experiment-nav a:nth-child(2),.experiment-nav a:nth-child(4){display:none}.experiment-logo{grid-column:2;grid-row:1}.experiment-stage{height:auto;min-height:100svh;padding-top:120px;grid-template-rows:auto auto}.frame-wrap{width:58vw;margin-top:5vh}.experiment-index{left:18px;top:50%}.experiment-bottom{grid-template-columns:1fr;padding:70px 18px 45px;text-align:center}.experiment-bottom h1{grid-row:1}.touch-link,.experiment-bottom p{text-align:center}.back-note{position:static;display:block;text-align:center;padding-bottom:20px}}


/* v4: echte Einzelseiten statt einer langen Landingpage */
.site-header.editorial-nav{
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:100%;
  left:0;
  right:0;
  padding-left:2.2vw;
  padding-right:2.2vw;
}
.site-header.editorial-nav>a{justify-self:center!important;white-space:nowrap}
.site-header.editorial-nav .mini-logo{position:absolute;left:50%;transform:translateX(-50%) rotate(-4deg)}
.landing-page main{min-height:100svh}
.inner-page main{padding-top:88px}
.inner-page .selected-grid,.inner-page .selected-list,.inner-page .about,.inner-page .archive,.inner-page .contact{min-height:calc(100svh - 88px)}
.inner-page .selected-grid{padding-top:clamp(56px,5vw,88px)}
.inner-page .selected-intro,.inner-page .about-intro,.inner-page .archive-head{min-height:calc(100svh - 88px)}
.inner-page .contact-hero{min-height:calc(100svh - 88px)}
@media(max-width:800px){
  .site-header.editorial-nav{display:grid;grid-template-columns:1fr 1fr auto 1fr 1fr;padding:18px 10px;font-size:8px;gap:4px}
  .site-header.editorial-nav>a{display:block!important;justify-self:center!important}
  .site-header.editorial-nav .mini-logo{position:static;transform:rotate(-4deg);grid-column:3;grid-row:1}
  .inner-page main{padding-top:68px}
}


/* v5 corrections: separate pages only, centered navigation, no gradients */
.site-header.editorial-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:88px;
  padding:0 2.7vw;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  column-gap:clamp(16px,3vw,64px);
  background:var(--cream);
  color:var(--blue);
  mix-blend-mode:normal;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:clamp(10px,.9vw,16px);
}
.site-header.editorial-nav::before,
.site-header.editorial-nav::after{content:none!important;display:none!important;background:none!important}
.site-header.editorial-nav>a{
  position:static!important;
  transform:none!important;
  justify-self:center!important;
  text-decoration:underline;
  text-underline-offset:4px;
  white-space:nowrap;
}
.site-header.editorial-nav>a:nth-child(1){grid-column:1}
.site-header.editorial-nav>a:nth-child(2){grid-column:2}
.site-header.editorial-nav .mini-logo{
  grid-column:3;
  justify-self:center!important;
  opacity:1;
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(22px,2vw,34px);
  letter-spacing:-.04em;
  text-decoration:none;
  color:var(--blue);
}
.site-header.editorial-nav>a:nth-child(4){grid-column:4}
.site-header.editorial-nav>a:nth-child(5){grid-column:5}

/* Landing page is exactly one viewport and contains no additional sections */
.landing-page{overflow:hidden;background:var(--blue)}
.landing-page main{height:100svh;overflow:hidden}
.landing-page .hero{height:100svh;min-height:0;padding-top:clamp(120px,11vw,170px)}
.landing-page .discipline-strip{display:none!important}

/* remove every decorative gradient/glow */
.hero-glow{display:none!important;background:none!important;filter:none!important}
.hero,.blue-section,.beige-section,.inner-page,body{background-image:none!important}

@media(max-width:800px){
  .site-header.editorial-nav{
    height:72px;
    padding:0 12px;
    grid-template-columns:1fr 1fr auto 1fr 1fr;
    column-gap:6px;
    font-size:7px;
    letter-spacing:.04em;
  }
  .site-header.editorial-nav>a{display:block!important;white-space:normal;text-align:center;line-height:1.15}
  .site-header.editorial-nav .mini-logo{font-size:20px}
  .landing-page .hero{padding-top:22vh}
}

/* v6: landing page contains exactly one section each: landing, work, archive, about, contact */
.landing-page .hero-glow{display:none!important}
.landing-page .home-section{min-height:100svh}
.landing-page .selected-grid{display:flex;flex-direction:column;justify-content:center}
.landing-page .archive-head{min-height:52svh}
.landing-page .about-intro{min-height:46svh}
.landing-page .about-blue{min-height:24svh}
.landing-page .about-details{min-height:30svh;align-items:center}
.landing-page .contact-hero{min-height:58svh}
.landing-page .contact-card{min-height:34svh}
.landing-page .footer{min-height:auto;padding-top:3vw;padding-bottom:3vw}
.landing-page .footer-hi{margin-top:5vw}

/* Corrections requested — July 2026 */
html, body { background: var(--cream); }
.blue-section, .beige-section, .work-card, .project-row, .contact-card, .footer {
  background-image: none !important;
}
.site-header {
  left: 50%;
  width: min(760px, calc(100% - 32px));
  transform: translateX(-50%);
  padding: 22px 0;
  display: block;
}
.site-header nav {
  display: grid;
  grid-template-columns: 1fr 1.35fr auto 1fr 1fr;
  align-items: center;
  width: 100%;
  gap: clamp(14px, 3vw, 42px);
  text-align: center;
}
.site-header nav a { white-space: nowrap; }
.site-header .mini-logo {
  opacity: 1;
  font-weight: 500;
  letter-spacing: .22em;
  justify-self: center;
}
.hero-kicker {
  z-index: 6;
  top: 11%;
  color: inherit;
}
.hero h1 { padding-top: 6vh; }
.hero-orb, .hero-glow { display: none !important; }
.hero-intro { left: 2.7vw; bottom: 4.5%; max-width: 560px; }
.selected-intro { min-height: 58vh; }
.about-intro, .archive-head { min-height: 58vh; }
.contact-hero { min-height: 74vh; }
@media (max-width: 720px) {
  .site-header { width: calc(100% - 20px); padding-top: 16px; }
  .site-header nav { gap: 7px; grid-template-columns: 1fr 1.35fr auto 1fr 1fr; font-size: 8px; letter-spacing: .08em; }
  .hero-kicker { top: 12%; }
  .hero h1 { padding-top: 10vh; }
}

/* Update: six selected works, filter submenu, About Me images, lean footer, imprint */
.work-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 28px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.work-filter{
  appearance:none;
  border:1px solid currentColor;
  border-radius:999px;
  background:transparent;
  color:inherit;
  padding:8px 14px;
  font:500 10px/1 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.work-filter.active,.work-filter:hover{background:var(--ink);color:var(--cream)}
.work-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.work-card[hidden]{display:none!important}
.card-type{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.75}
.card-rose{background:#df7897;color:var(--ink)}
.card-lilac{background:#b9a4e8;color:var(--ink)}
.card-green{background:#a8c5a1;color:var(--ink)}

.about-intro{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:5vw;
  align-items:end;
}
.about-heading-copy h2{white-space:nowrap}
.about-blue{
  display:grid;
  grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);
  align-items:center;
  gap:5vw;
}
.image-placeholder{
  border:1px solid currentColor;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
}
.image-placeholder small{font-size:8px;opacity:.65}
.image-placeholder-large{aspect-ratio:4/5;max-height:70vh}
.image-placeholder-small{aspect-ratio:4/3;width:100%;max-width:520px}

.footer{
  min-height:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:24px!important;
  padding-bottom:24px!important;
}
.footer a{text-decoration:underline;text-underline-offset:4px}
.footer-hi{display:none!important}

.legal-page{cursor:auto;background:var(--cream)}
.legal-page .cursor-dot{display:none}
.legal-header{
  position:sticky;top:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 2.7vw;
  background:var(--cream);border-bottom:1px solid var(--line);
  text-transform:uppercase;font-size:10px;letter-spacing:.12em;
}
.legal-header .mini-logo{opacity:1}
.legal-main{max-width:940px;margin:0 auto;padding:10vw 2.7vw 12vw}
.legal-main h1{font:400 clamp(76px,12vw,170px)/.8 var(--serif);letter-spacing:-.05em;margin:20px 0 70px}
.legal-main section{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);gap:4vw;padding:30px 0;border-top:1px solid var(--line)}
.legal-main h2{margin:0;font:italic clamp(26px,3vw,46px)/1 var(--serif)}
.legal-main p{margin:0;line-height:1.8;max-width:680px}
.legal-main mark{background:#fff08a;padding:0 .18em}
.legal-warning{border:1px solid var(--ink);padding:18px;margin-bottom:50px;line-height:1.6}
.privacy-page .legal-main,
.legal-left-page .legal-main{
  max-width:none;
  margin:0;
  padding:8vw 2.7vw 10vw;
  text-align:left;
}
.privacy-page .legal-main h1,
.legal-left-page .legal-main h1{
  max-width:980px;
}
.privacy-page .legal-main section,
.legal-left-page .legal-main section{
  display:block;
  max-width:980px;
  padding:28px 0;
}
.privacy-page .legal-main h2,
.legal-left-page .legal-main h2{
  margin:0 0 18px;
}
.privacy-page .legal-main p,
.legal-left-page .legal-main p{
  max-width:860px;
  margin:0 0 14px;
}

@media(max-width:800px){
  .work-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-intro,.about-blue{grid-template-columns:1fr}
  .about-heading-copy h2{white-space:normal}
  .image-placeholder-large{width:min(78vw,420px);justify-self:end}
  .image-placeholder-small{width:min(76vw,440px)}
  .legal-main section{grid-template-columns:1fr;gap:14px}
}
@media(max-width:520px){.work-cards{grid-template-columns:1fr}}

/* About me revision */
.about .about-intro{
  min-height:72svh;
  align-items:center;
  padding-top:clamp(92px,8vw,132px);
  padding-bottom:clamp(42px,5vw,78px);
}
.about .about-heading-copy{align-self:center;padding-top:0}
.about .about-heading-copy h2{margin-top:0}
.about-intro-text{
  max-width:560px;
  margin:clamp(16px,2vw,28px) 0 0;
  font:400 clamp(13px,1vw,16px)/1.7 var(--mono);
}
.about-photo{
  margin:0;
  justify-self:end;
  width:min(36vw,460px);
  transform:rotate(-2.5deg);
}
.about-photo img{
  display:block;
  width:100%;
  height:auto;
}
.about .about-blue{
  grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);
  align-items:start;
  min-height:auto;
  padding-top:clamp(30px,3vw,46px);
  padding-bottom:clamp(34px,3.5vw,54px);
}
.about-blue-kicker{
  max-width:240px;
  font-size:9px;
  letter-spacing:.16em;
  line-height:1.6;
  text-transform:uppercase;
}
.about-bio{
  max-width:760px;
  display:block;
  font:400 clamp(12px,.9vw,14px)/1.75 var(--mono);
}
.about-bio p{margin:0 0 12px}
.about-bio p:last-child{margin-bottom:0}
.about-bio strong{
  font-family:var(--mono);
  font-size:1em;
  font-weight:700;
  line-height:inherit;
}

@media(max-width:800px){
  .about .about-intro{min-height:auto;gap:34px}
  .about-photo{width:min(82vw,420px);justify-self:center}
  .about .about-blue{grid-template-columns:1fr;gap:28px}
  .about-bio{font-size:13px}
}

/* About screenshot layout */
.about-snapshot{
  background:var(--blue);
  color:var(--cream);
  min-height:100svh;
}
.about-snapshot-grid{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  grid-template-rows:auto 1fr;
  column-gap:2.4vw;
  row-gap:clamp(34px,5vw,64px);
  align-items:center;
}
.about-snapshot .about-heading-copy{
  align-self:end;
  max-width:560px;
  color:var(--cream);
}
.about-snapshot .about-heading-copy h2{
  margin:0;
  color:var(--cream);
}
.about-snapshot .about-intro-text{
  max-width:540px;
  margin:clamp(20px,2vw,30px) 0 0;
  font:400 clamp(12px,.94vw,14px)/1.65 var(--mono);
  color:var(--cream);
}
.about-snapshot .about-photo{
  margin:0;
  width:auto;
  transform:none;
}
.about-snapshot .about-photo img{
  display:block;
  width:100%;
  height:auto;
}
.about-photo-top{
  justify-self:center;
  align-self:end;
  width:min(30vw,390px)!important;
  transform:translateY(140px) rotate(3deg)!important;
}
.about-photo-bottom{
  justify-self:start;
  align-self:start;
  width:min(34vw,430px)!important;
  transform:translateX(-1vw) rotate(-6deg)!important;
}
.about-snapshot .about-bio{
  justify-self:start;
  align-self:center;
  max-width:760px;
  transform:translateX(-3vw);
  display:block;
  font:400 clamp(12px,.95vw,14.5px)/1.55 var(--mono);
  color:var(--cream);
}
.about-snapshot .about-bio p{
  margin:0 0 18px;
}
.about-snapshot .about-bio p:last-child{
  margin-bottom:0;
}

@media(max-width:800px){
  .about-snapshot-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    min-height:auto;
    row-gap:38px;
    padding-top:110px;
  }
  .about-photo-top,
  .about-photo-bottom{
    width:min(76vw,360px)!important;
    justify-self:center;
  }
  .about-snapshot .about-bio{
    font-size:12px;
  }
}


/* July 2026: simplified Selected Work + seamless marquee */
.work-subnav{display:none!important}
.section-heading-row{
  display:block;
  margin-bottom:clamp(42px,5vw,78px);
}
.section-heading-row h2{
  font-size:clamp(44px,5.8vw,92px);
  margin-bottom:14px;
}
.section-heading-row span{
  display:block;
  text-align:left;
}
.marquee-track{
  display:flex;
  width:max-content;
  gap:0;
  animation:marquee-seamless 34s linear infinite;
  will-change:transform;
}
.marquee-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:22px;
  padding-right:22px;
}
@keyframes marquee-seamless{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation-play-state:paused}
}

/* Corrected layered envelope animation */
.envelope-hero{
  min-height:100svh;
  height:100svh;
  position:relative;
  overflow:hidden;
  padding:0!important;
  display:grid;
  place-items:center;
}

.envelope-hero .hero-kicker{
  position:absolute;
  top:clamp(92px,11vh,126px);
  left:2.7vw;
  z-index:10;
}

.envelope-hero .hero-time{
  position:absolute;
  top:clamp(118px,14vh,154px);
  right:2.7vw;
  z-index:10;
}

.mail-scene{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  width:min(1180px,90vw);
  height:min(930px,86vh);
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  z-index:3;
  -webkit-tap-highlight-color:transparent;
}

.mail-object{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  transform:translate3d(0,105vh,0) scale(.95);
  animation:mailSwooshIn .9s cubic-bezier(.18,.86,.24,1.04) .18s forwards;
}

.closed-state,
.open-state{
  position:absolute;
  inset:0;
  display:block;
}

.closed-state{
  opacity:1;
  visibility:visible;
  z-index:5;
}

.open-state{
  opacity:0;
  visibility:hidden;
  z-index:4;
}

.mail-closed,
.mail-open-back,
.mail-open-front,
.mail-letter{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  user-select:none;
  pointer-events:none;
  will-change:transform,opacity;
}

.mail-closed{
  z-index:5;
  filter:drop-shadow(0 28px 28px rgba(0,0,0,.14));
}

.mail-open-back{
  z-index:1;
  filter:drop-shadow(0 28px 28px rgba(0,0,0,.12));
}

.mail-letter{
  z-index:2;
  opacity:0;
  transform:translate3d(0,18%,0) scale(.96);
  transform-origin:center 72%;
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.15));
}

.mail-open-front{
  z-index:3;
}

.mail-scene.is-opening .closed-state{
  animation:hideClosed .16s linear forwards;
}

.mail-scene.is-opening .open-state{
  visibility:visible;
  animation:showOpen .01s linear .15s forwards;
}

.mail-scene.is-opening .mail-letter{
  animation:letterOut .55s cubic-bezier(.2,.78,.22,1) .12s forwards;
}

.mail-scene.is-open .closed-state{
  opacity:0;
  visibility:hidden;
}

.mail-scene.is-open .open-state{
  opacity:1;
  visibility:visible;
}

.mail-scene.is-open .mail-letter{
  opacity:1;
  transform:translate3d(0,-12%,0) scale(1.03);
}

.mail-scene.is-closing .closed-state{
  opacity:0;
  visibility:visible;
  animation:showClosed .18s linear .88s forwards;
}

.mail-scene.is-closing .open-state{
  opacity:1;
  visibility:visible;
  animation:hideOpen .18s linear .88s forwards;
}

.mail-scene.is-closing .mail-letter{
  opacity:1;
  animation:letterIn .9s cubic-bezier(.4,0,.35,1) forwards;
}

.envelope-hint{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  margin:0;
  color:var(--cream);
  font:500 10px/1 var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
  z-index:7;
}

@keyframes mailSwooshIn{
  0%{transform:translate3d(0,105vh,0) scale(.95)}
  70%{transform:translate3d(0,-1.5vh,0) scale(1.01)}
  100%{transform:translate3d(0,0,0) scale(1)}
}

@keyframes hideClosed{
  from{opacity:1;visibility:visible}
  to{opacity:0;visibility:hidden}
}

@keyframes showOpen{
  from{opacity:0}
  to{opacity:1}
}

@keyframes letterOut{
  0%{
    opacity:0;
    transform:translate3d(0,18%,0) scale(.96);
  }
  18%{
    opacity:1;
    transform:translate3d(0,12%,0) scale(.98);
  }
  72%{
    opacity:1;
    transform:translate3d(0,-13.5%,0) scale(1.035);
  }
  100%{
    opacity:1;
    transform:translate3d(0,-12%,0) scale(1.03);
  }
}

@keyframes letterIn{
  0%{
    opacity:1;
    transform:translate3d(0,-12%,0) scale(1.03);
  }
  72%{
    opacity:1;
    transform:translate3d(0,12%,0) scale(.98);
  }
  100%{
    opacity:0;
    transform:translate3d(0,18%,0) scale(.96);
  }
}

@keyframes showClosed{
  from{opacity:0}
  to{opacity:1}
}

@keyframes hideOpen{
  from{opacity:1;visibility:visible}
  to{opacity:0;visibility:hidden}
}

@media(max-width:800px){
  .mail-scene{
    width:min(118vw,860px);
    height:80vh;
  }

  .mail-scene.is-open .mail-letter{
    transform:translate3d(0,-10%,0) scale(1.01);
  }

  .envelope-hero .hero-kicker{
    top:82px;
    left:18px;
  }

  .envelope-hero .hero-time{
    display:none;
  }
}


/* Final tuning: slightly flatter, larger first-screen composition */
.mail-object{
  transform-origin:center 58%;
}
.mail-open-back,
.mail-open-front,
.mail-closed{
  transform:scaleX(1.06) scaleY(.98);
}
.mail-letter{
  transform-origin:center 78%;
}


/* === Strong envelope size / motion overrides === */
.mail-scene{
  width:min(1320px,96vw) !important;
  height:min(980px,88vh) !important;
  transform:translateY(1.5vh);
}

.mail-object{
  width:100% !important;
  height:100% !important;
  transform-origin:center 62% !important;
}

.mail-open-back,
.mail-open-front,
.mail-closed{
  transform:scaleX(1.16) scaleY(.90) !important;
}

.mail-letter{
  transform-origin:center 80% !important;
  opacity:0;
  transform:translate3d(0,14%,0) scale(.82) !important;
}

/* Open end-state: letter is smaller and remains visually tucked into envelope */
.mail-scene.is-open .mail-letter{
  opacity:1 !important;
  transform:translate3d(0,-5.5%,0) scale(.88) !important;
}

/* Slower, smoother pull-out */
.mail-scene.is-opening .mail-letter{
  animation:letterOutFinal 1.15s cubic-bezier(.18,.72,.18,1) .28s forwards !important;
}

/* Slower return with a small hold before the envelope swaps shut */
.mail-scene.is-closing .mail-letter{
  animation:letterInFinal 1.05s cubic-bezier(.42,0,.28,1) forwards !important;
}

.mail-scene.is-closing .closed-state{
  animation:showClosedFinal .24s ease .98s forwards !important;
}

.mail-scene.is-closing .open-state{
  animation:hideOpenFinal .24s ease .98s forwards !important;
}

@keyframes letterOutFinal{
  0%{
    opacity:0;
    transform:translate3d(0,14%,0) scale(.82);
  }
  16%{
    opacity:1;
    transform:translate3d(0,10%,0) scale(.84);
  }
  72%{
    opacity:1;
    transform:translate3d(0,-6.5%,0) scale(.89);
  }
  100%{
    opacity:1;
    transform:translate3d(0,-5.5%,0) scale(.88);
  }
}

@keyframes letterInFinal{
  0%{
    opacity:1;
    transform:translate3d(0,-5.5%,0) scale(.88);
  }
  78%{
    opacity:1;
    transform:translate3d(0,9%,0) scale(.84);
  }
  100%{
    opacity:0;
    transform:translate3d(0,14%,0) scale(.82);
  }
}

@keyframes showClosedFinal{
  from{opacity:0;visibility:visible}
  to{opacity:1;visibility:visible}
}

@keyframes hideOpenFinal{
  from{opacity:1;visibility:visible}
  to{opacity:0;visibility:hidden}
}

@media(max-width:800px){
  .mail-scene{
    width:112vw !important;
    height:78vh !important;
    transform:translateY(2vh);
  }

  .mail-open-back,
  .mail-open-front,
  .mail-closed{
    transform:scaleX(1.10) scaleY(.92) !important;
  }

  .mail-scene.is-open .mail-letter{
    transform:translate3d(0,-4%,0) scale(.84) !important;
  }
}


/* Final proportional envelope correction */
.mail-scene{
  width:min(1180px,88vw) !important;
  height:min(900px,84vh) !important;
  transform:translateY(0) !important;
}

.mail-open-back,
.mail-open-front,
.mail-closed{
  transform:none !important;
}

.mail-object{
  transform-origin:center center !important;
}

.mail-letter{
  transform-origin:center 80% !important;
}

.mail-scene.is-open .mail-letter{
  transform:translate3d(0,-5%,0) scale(.88) !important;
}

@media(max-width:800px){
  .mail-scene{
    width:min(96vw,820px) !important;
    height:76vh !important;
  }

  .mail-open-back,
  .mail-open-front,
  .mail-closed{
    transform:none !important;
  }
}


/* Make the complete envelope composition substantially larger, proportionally */
.mail-scene{
  width:100vw !important;
  height:92vh !important;
  max-width:none !important;
  max-height:none !important;
  transform:translateY(1.5vh) !important;
}

.closed-state,
.open-state{
  transform:scale(1.48) !important;
  transform-origin:center 62% !important;
}

.mail-open-back,
.mail-open-front,
.mail-closed{
  transform:none !important;
}

@media(max-width:800px){
  .mail-scene{
    width:100vw !important;
    height:86vh !important;
  }

  .closed-state,
  .open-state{
    transform:scale(1.34) !important;
    transform-origin:center 62% !important;
  }
}


/* One-click permanent-open stability */
.mail-scene.is-opening .open-state,
.mail-scene.is-open .open-state{
  opacity:1 !important;
  visibility:visible !important;
}

.mail-scene.is-opening .closed-state,
.mail-scene.is-open .closed-state{
  opacity:0 !important;
  visibility:hidden !important;
}

.mail-scene.is-opening .mail-letter{
  animation-fill-mode:forwards !important;
}

.mail-scene.is-open .mail-letter{
  opacity:1 !important;
  transform:translate3d(0,-5%,0) scale(.88) !important;
}

.mail-scene:disabled{
  cursor:default;
}


/* =========================================================
   FINAL LANDING REVEAL
   Smaller envelope, one long text line, delayed scroll cue
   ========================================================= */

/* Make the complete envelope composition smaller while preserving proportions. */
.mail-scene{
  width:88vw !important;
  height:78vh !important;
  transform:translateY(-2.5vh) !important;
}

.closed-state,
.open-state{
  transform:scale(1.20) !important;
  transform-origin:center 58% !important;
}

/* Stable permanent open state */
.mail-scene.is-opening .open-state,
.mail-scene.is-open .open-state{
  opacity:1 !important;
  visibility:visible !important;
}

.mail-scene.is-opening .closed-state,
.mail-scene.is-open .closed-state{
  opacity:0 !important;
  visibility:hidden !important;
}

.mail-scene.is-opening .mail-letter{
  animation:letterOutFinal 1.15s cubic-bezier(.18,.72,.18,1) .28s forwards !important;
  animation-fill-mode:forwards !important;
}

.mail-scene.is-open .mail-letter{
  opacity:1 !important;
  transform:translate3d(0,-5%,0) scale(.88) !important;
}

/* Original click hint */
.envelope-hint{
  transition:opacity .3s ease;
}

.envelope-hint.is-hidden{
  opacity:0 !important;
  pointer-events:none;
}

/* Text reveal area */
.hero-reveal{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  width:min(1180px,92vw);
  z-index:20;
  text-align:center;
  pointer-events:none;
}

.hero-description{
  margin:0 auto;
  max-width:1120px;
  color:var(--cream);
  font:italic clamp(17px,1.55vw,25px)/1.18 var(--serif);
  white-space:normal;
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .85s ease,
    transform .85s cubic-bezier(.2,.75,.2,1);
}

.hero-description.is-visible{
  opacity:1;
  transform:translateY(0);
}

.hero-scroll{
  margin:13px 0 0;
  color:var(--cream);
  font:500 10px/1 var(--mono);
  letter-spacing:.19em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .6s ease,
    transform .6s ease;
}

.hero-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media(min-width:1100px){
  .hero-description{
    white-space:nowrap;
  }
}

@media(max-width:800px){
  .mail-scene{
    width:96vw !important;
    height:69vh !important;
    transform:translateY(-1vh) !important;
  }

  .closed-state,
  .open-state{
    transform:scale(1.08) !important;
  }

  .hero-reveal{
    width:90vw;
    bottom:14px;
  }

  .hero-description{
    max-width:90vw;
    font-size:16px;
    line-height:1.2;
  }

  .hero-scroll{
    margin-top:10px;
    font-size:9px;
  }
}


/* Final requested hero adjustments */
.mail-scene{
  width:96vw !important;
  height:88vh !important;
  transform:translateY(-1.5vh) !important;
}

.closed-state,
.open-state{
  transform:scale(1.38) !important;
  transform-origin:center 57% !important;
}

.hero-reveal{
  bottom:54px !important;
  width:min(1400px,94vw) !important;
}

.hero-description{
  max-width:1320px !important;
  font-size:clamp(26px,2.15vw,36px) !important;
  line-height:1.12 !important;
  white-space:normal !important;
  text-wrap:balance;
}

.hero-scroll{
  margin-top:22px !important;
}

@media(min-width:1200px){
  .hero-description{
    max-width:1240px !important;
  }
}

@media(max-width:800px){
  .mail-scene{
    width:100vw !important;
    height:76vh !important;
    transform:translateY(-1vh) !important;
  }

  .closed-state,
  .open-state{
    transform:scale(1.18) !important;
  }

  .hero-reveal{
    bottom:24px !important;
    width:92vw !important;
  }

  .hero-description{
    max-width:92vw !important;
    font-size:19px !important;
    line-height:1.18 !important;
  }
}

.mail-scene{transform:translateY(-1vh) scale(.92)!important;}
.hero-reveal{bottom:24px!important;}
.hero-description{margin-top:24px!important;max-width:72%!important;}
.hero-scroll{margin-top:34px!important;}


/* final spacing tweak */
.mail-scene{
    transform: translateY(-3.5vh) scale(.92)!important;
}

.hero-reveal{
    bottom: 8px!important;
}

.hero-description{
    margin-top: 42px!important;
}


/* Only addition: the uploaded floral PNG behind the existing hero content */
.hero-flower-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  display:block;
  z-index:1;
  pointer-events:none;
  user-select:none;
}

/* === Zwergenwiese case study === */
.work-card-image{position:relative;overflow:hidden;background:#dce7d5;color:#fff}
.work-card-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.work-card-image:hover>img{transform:scale(1.035)}
.work-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.58))}
.work-card-image .card-no,.work-card-image .card-name,.work-card-image .card-type{position:relative;z-index:2;text-shadow:0 1px 18px rgba(0,0,0,.25)}
.work-card-image .card-no{opacity:0}
.work-card-image .card-name{font-size:12px;letter-spacing:.08em}

.project-modal{background:#f3efe6;color:#17161a}
.project-modal .modal-close{z-index:420;width:54px;height:54px;border-radius:50%;background:#f3efe6;border:1px solid rgba(23,22,26,.25);line-height:1;display:grid;place-items:center}
.case-study{padding-top:0}
.case-study figure{margin:0;overflow:hidden}
.case-study img{display:block;width:100%;height:100%;object-fit:cover}
.case-hero{min-height:100svh;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);border-bottom:1px solid var(--line)}
.case-hero-copy{padding:clamp(110px,11vw,175px) 3.2vw 5vw;display:flex;flex-direction:column;justify-content:flex-end}
.case-hero h2{font:400 clamp(76px,10vw,170px)/.76 var(--serif);letter-spacing:-.055em;margin:18px 0 34px}
.case-lead{max-width:590px;font:italic clamp(24px,2.8vw,46px)/1.03 var(--serif);margin:0 0 56px}
.case-meta{margin-top:auto}
.case-meta div{grid-template-columns:110px 1fr}
.case-hero-image{min-height:100svh;background:#cbd6bb}
.case-big-copy{max-width:1200px;font:400 clamp(42px,6.2vw,105px)/.94 var(--serif);letter-spacing:-.035em;margin:0}
.case-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch}
.case-grid figure{min-height:420px;background:#ded8ca}
.case-grid .span-7{grid-column:span 7}.case-grid .span-5{grid-column:span 5}.case-grid .span-6{grid-column:span 6}.case-grid .span-8{grid-column:span 8}.case-grid .span-4{grid-column:span 4}
.case-grid-a .span-7:first-child{min-height:72vh}
.image-contained img{object-fit:contain;padding:8%;mix-blend-mode:multiply}
.mint-panel{background:#d8e3cf!important}
.case-note{padding:clamp(34px,4vw,70px);background:#195c36;color:#f3efe6;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px}
.case-note span{font:italic clamp(44px,6vw,90px)/1 var(--serif);margin-bottom:auto}
.case-note h3,.merch-copy h3{font:italic clamp(38px,4.8vw,78px)/.95 var(--serif);font-weight:400;margin:20px 0}
.case-note p{max-width:470px;line-height:1.65}
.identity-band{background:#b8cda5;min-height:64vh;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:6vw;padding:7vw}
.identity-band img{width:min(420px,65vw);height:auto;object-fit:contain;justify-self:center}
.identity-band p{font:italic clamp(34px,4.8vw,78px)/1 var(--serif);margin:0}
.case-grid-b figure{min-height:68vh}
.case-grid-b .span-8{min-height:60vh}
.case-note-bottom{background:#ef9fc0;color:#17161a}
.merch-section{background:#e8e2d2}
.merch-copy{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:4vw}
.merch-copy h3{margin:0}
.merch-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.merch-images figure{min-height:70vh}
.case-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.case-back{appearance:none;border:0;background:none;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

@media(max-width:800px){
 .case-hero{grid-template-columns:1fr}.case-hero-copy{min-height:72svh}.case-hero-image{min-height:62svh}
 .case-grid{grid-template-columns:1fr}.case-grid [class*="span-"]{grid-column:auto}.case-grid figure,.case-grid-b figure,.case-grid-b .span-8{min-height:54vh}
 .identity-band{grid-template-columns:1fr;min-height:auto;padding:100px 24px}.identity-band p{text-align:center}
 .merch-copy{grid-template-columns:1fr;gap:20px}.merch-images{grid-template-columns:1fr}.merch-images figure{min-height:58vh}
 .case-footer{align-items:flex-start;gap:24px;flex-direction:column}
}

/* Zwergenwiese refinement: compact overview + animated pattern */
.case-hero{min-height:82svh;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.case-hero-copy{padding:clamp(96px,9vw,135px) 3.2vw 3.5vw}
.case-hero h2{font-size:clamp(64px,8vw,125px);margin:14px 0 24px}
.case-lead{font-size:clamp(20px,2vw,32px);line-height:1.08;margin-bottom:34px;max-width:520px}
.case-hero-image{min-height:82svh}
.case-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line);padding-top:18px}
.case-meta div{display:block!important;padding:0!important;border:0!important}
.case-meta dt{margin-bottom:8px}.case-meta dd{font-size:11px;line-height:1.5}
.case-intro{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:7vw;align-items:end}
.case-big-copy{font-size:clamp(38px,4.8vw,74px);line-height:.98;max-width:980px}
.case-intro-small{font-size:13px;line-height:1.75;max-width:430px;margin:0}
.case-grid{gap:10px}
.case-grid figure{min-height:340px}
.case-grid-a .span-7:first-child{min-height:58vh}
.case-grid-b figure{min-height:54vh}.case-grid-b .span-8{min-height:48vh}
.case-note{min-height:340px;padding:clamp(28px,3vw,48px)}
.case-note span{font-size:clamp(34px,4.5vw,64px)}
.case-note h3,.merch-copy h3{font-size:clamp(32px,3.8vw,58px)}
.image-contained img{padding:5%}
.tissue-paper{position:relative}.tissue-paper figcaption{position:absolute;left:18px;bottom:16px;background:#f3efe6;padding:8px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.identity-band{min-height:46vh;padding:5vw 7vw;grid-template-columns:.55fr 1.45fr}
.identity-band img{width:min(280px,45vw)}
.identity-band h3{font:italic clamp(34px,4.3vw,66px)/.98 var(--serif);font-weight:400;margin:12px 0 20px;max-width:850px}
.identity-band div>p:last-child{font:400 13px/1.7 var(--mono);max-width:620px}
.merch-images figure{min-height:56vh}

.pattern-motion{height:min(56vh,620px);min-height:430px;position:relative;overflow:hidden;background:#dbe6d2;border-block:1px solid var(--line)}
.pattern-track{position:absolute;inset:-15%;background-color:#f1efe5;background-image:linear-gradient(45deg,#175b2f 25%,transparent 25%),linear-gradient(-45deg,#175b2f 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#175b2f 75%),linear-gradient(-45deg,transparent 75%,#175b2f 75%);background-size:76px 76px;background-position:0 0,0 38px,38px -38px,-38px 0;animation:checkerMove 12s linear infinite;transform:rotate(-2deg) scale(1.08)}
.pattern-motion::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(219,230,210,.92) 0 30%,transparent 52% 100%)}
.motion-copy{position:absolute;z-index:3;left:5vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;max-width:430px}
.motion-copy span{font:italic clamp(44px,6vw,92px)/.84 var(--serif)}
.motion-copy small{margin-top:24px;text-transform:uppercase;letter-spacing:.16em}
.motion-jars{position:absolute;z-index:2;right:-2vw;top:50%;width:min(62vw,880px);transform:translateY(-50%);animation:jarFloat 4.8s ease-in-out infinite}
.motion-jars img{width:100%;height:auto;display:block;filter:drop-shadow(0 28px 25px rgba(0,0,0,.16))}
@keyframes checkerMove{to{background-position:76px 0,76px 38px,114px -38px,38px 0}}
@keyframes jarFloat{0%,100%{transform:translateY(-50%) rotate(-1deg)}50%{transform:translateY(-54%) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.pattern-track,.motion-jars{animation:none}}

@media(max-width:800px){
 .case-hero{min-height:auto}.case-hero-copy{min-height:auto;padding:100px 20px 44px}.case-hero-image{min-height:55svh}
 .case-meta{grid-template-columns:1fr;gap:12px}.case-intro{grid-template-columns:1fr;gap:30px}
 .case-big-copy{font-size:42px}.pattern-motion{min-height:520px}.pattern-motion::after{background:linear-gradient(to bottom,rgba(219,230,210,.92) 0 42%,transparent 68%)}
 .motion-copy{left:24px;right:24px;top:28%;transform:none}.motion-copy span{font-size:50px}.motion-jars{width:100vw;right:-16vw;top:69%}
 .case-grid figure,.case-grid-b figure,.case-grid-b .span-8{min-height:44vh}.case-note{min-height:320px}
 .identity-band{padding:80px 24px}.identity-band img{width:min(210px,55vw)}.identity-band h3{font-size:42px}
 .merch-images figure{min-height:48vh}
}

/* Zwergenwiese v3 — kompakter, ruhiger, bessere Projektübersicht */
.case-hero{
  min-height:68svh!important;
  max-height:760px;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)!important;
}
.case-hero-copy{padding:clamp(88px,7.5vw,112px) 3.2vw 2.8vw!important}
.case-hero h2{font-size:clamp(58px,6.8vw,104px)!important;margin:10px 0 18px!important}
.case-lead{font-size:clamp(18px,1.65vw,27px)!important;margin-bottom:24px!important}
.case-hero-image{min-height:68svh!important;max-height:760px}
.case-hero-image img{object-position:center}
.case-meta{gap:12px!important;padding-top:14px!important}

.case-intro{padding-top:clamp(48px,4vw,70px)!important;padding-bottom:clamp(48px,4vw,70px)!important}
.case-big-copy{font-size:clamp(32px,3.8vw,58px)!important;line-height:1!important}

.pattern-motion{height:min(43vh,470px)!important;min-height:340px!important}
.motion-jars{
  right:5vw!important;
  top:50%!important;
  width:min(31vw,390px)!important;
  transform:translateY(-50%)!important;
  animation:none!important;
}
.motion-jars img{height:min(39vh,410px)!important;width:100%!important;object-fit:contain!important;filter:drop-shadow(0 22px 20px rgba(0,0,0,.13))}
.motion-copy span{font-size:clamp(38px,4.7vw,72px)!important}

.case-grid{gap:10px!important;padding-top:clamp(42px,4vw,66px)!important;padding-bottom:clamp(42px,4vw,66px)!important}
.case-grid figure{min-height:0!important;height:min(40vw,470px)!important}
.case-grid-a .span-7:first-child{min-height:0!important;height:min(40vw,470px)!important}
.case-grid .span-12{grid-column:span 12}
.compact-wide{height:min(38vw,440px)!important}
.case-note{min-height:0!important;height:min(40vw,470px)!important;padding:clamp(24px,2.5vw,38px)!important}
.case-note span{font-size:clamp(30px,3.4vw,50px)!important}
.case-note h3,.merch-copy h3{font-size:clamp(28px,3.2vw,48px)!important}
.compact-note{height:auto!important;min-height:240px!important;display:grid!important;grid-template-columns:auto minmax(260px,.8fr) minmax(260px,1fr);align-items:end;gap:3vw}
.compact-note span{margin:0!important;align-self:start}
.compact-note h3{margin:0!important}
.compact-note p{margin:0}

.packaging-story{background:#d8e3cf;display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:4vw;align-items:center;padding-top:clamp(48px,4vw,72px)!important;padding-bottom:clamp(48px,4vw,72px)!important}
.packaging-copy h3{font:italic clamp(30px,3.7vw,56px)/.98 var(--serif);font-weight:400;margin:14px 0 20px}
.packaging-copy>p:last-child{font-size:12px;line-height:1.7;max-width:470px}
.packaging-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.packaging-images figure{height:min(31vw,390px);margin:0;overflow:hidden;background:#efe9de}
.packaging-images img{width:100%;height:100%;display:block;object-fit:cover}
.packaging-images .image-contained img{object-fit:contain;padding:5%}
.tissue-paper figcaption{left:12px!important;bottom:12px!important;max-width:calc(100% - 24px)}

.identity-band{min-height:0!important;padding:clamp(48px,4.5vw,78px) 7vw!important}
.identity-band img{width:min(220px,30vw)!important}
.identity-band h3{font-size:clamp(30px,3.5vw,52px)!important}

.case-grid-b figure{min-height:0!important;height:min(39vw,460px)!important}
.merch-section{padding-top:clamp(48px,4vw,70px)!important;padding-bottom:clamp(48px,4vw,70px)!important}
.merch-copy{margin-bottom:26px!important}
.merch-images figure{min-height:0!important;height:min(38vw,450px)!important}

@media(max-width:800px){
  .case-hero{max-height:none;grid-template-columns:1fr!important}.case-hero-image{min-height:42svh!important;max-height:480px}
  .pattern-motion{height:450px!important;min-height:450px!important}.motion-jars{width:min(56vw,310px)!important;right:2vw!important;top:70%!important}.motion-jars img{height:260px!important}
  .case-grid figure,.case-grid-a .span-7:first-child,.compact-wide,.case-grid-b figure,.merch-images figure{height:52vh!important;max-height:520px}
  .case-note{height:auto!important;min-height:300px!important}
  .compact-note{grid-template-columns:1fr;gap:18px}
  .packaging-story{grid-template-columns:1fr}.packaging-images{grid-template-columns:1fr}.packaging-images figure{height:48vh;max-height:480px}
}

/* === Zwergenwiese clean revision: straight pattern, calm layout, uncropped imagery === */
.case-study{--zw-green:#145c2f;--zw-cream:#f2efe6;--zw-apricot:#f3a36f}
.case-hero{min-height:0!important;max-height:none!important;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr)!important;align-items:stretch}
.case-hero-copy{padding:clamp(82px,7vw,108px) 3.2vw 34px!important;min-height:680px!important;display:flex;flex-direction:column}
.case-hero h2{font-size:clamp(58px,6.7vw,102px)!important;line-height:.86!important;margin:16px 0 30px!important}
.case-lead{font-size:clamp(19px,1.55vw,27px)!important;line-height:1.2!important;max-width:590px!important;margin:0 0 48px!important}
.case-meta{margin-top:auto!important}
.case-hero-image{height:680px!important;min-height:0!important;max-height:none!important;background:#dce8d5;padding:34px!important;display:grid!important;place-items:center!important}
.case-hero-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}

.case-intro{padding-top:clamp(76px,6.5vw,112px)!important;padding-bottom:clamp(76px,6.5vw,112px)!important;align-items:start!important}
.case-big-copy{font-size:clamp(36px,4.1vw,62px)!important;line-height:1.02!important;margin:0!important}
.case-intro-small{padding-top:14px!important;font-size:13px!important;line-height:1.8!important}

.pattern-motion{height:430px!important;min-height:430px!important;background:var(--zw-cream)!important;border-block:1px solid var(--line)!important}
.pattern-track{inset:-80px!important;transform:none!important;background-color:#f5f2e9!important;background-image:linear-gradient(45deg,var(--zw-green) 25%,transparent 25%),linear-gradient(-45deg,var(--zw-green) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--zw-green) 75%),linear-gradient(-45deg,transparent 75%,var(--zw-green) 75%)!important;background-size:72px 72px!important;background-position:0 0,0 36px,36px -36px,-36px 0!important;animation:checkerMoveStraight 12s linear infinite!important}
.pattern-motion::after{background:linear-gradient(90deg,rgba(242,239,230,.95) 0 32%,rgba(242,239,230,.45) 45%,transparent 62%)!important}
.motion-copy{left:4.5vw!important;max-width:520px!important}
.motion-copy span{font-size:clamp(37px,4.2vw,66px)!important;line-height:.92!important}
.motion-jars{right:3.2vw!important;top:50%!important;width:min(58vw,780px)!important;height:360px!important;transform:translateY(-50%)!important;animation:none!important;display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;gap:clamp(6px,1.4vw,20px)!important}
.motion-jars img{width:31%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.13))!important}
@keyframes checkerMoveStraight{to{background-position:72px 0,72px 36px,108px -36px,36px 0}}

.case-grid{gap:14px!important}
.case-grid figure{background:#e9e5da!important;overflow:hidden!important}
.case-grid figure img{object-fit:contain!important;padding:12px!important;background:#e9e5da!important}
.case-grid-a .span-7:first-child{height:520px!important}
.case-grid-a .span-7:first-child img{padding:0!important;object-fit:contain!important;background:#ece7dc!important}
.compact-wide{height:520px!important}
.compact-wide img{padding:0!important;object-fit:contain!important}
.case-note{height:520px!important;background:var(--zw-green)!important}
.case-note h3{max-width:620px!important}

.packaging-story{background:#dbe7d3!important}
.packaging-images figure{height:380px!important;background:#f0ece3!important}
.packaging-images img{object-fit:contain!important;padding:18px!important}
.packaging-images .tissue-paper img{object-fit:contain!important;padding:10px!important}

.identity-band{background:#bfd3ae!important}
.case-grid-b{position:relative!important;grid-template-columns:repeat(12,1fr)!important;gap:14px!important}
.case-grid-b figure{height:500px!important;background:#e9e5da!important}
.case-grid-b figure img{object-fit:contain!important;padding:0!important}
.case-note-bottom{background:var(--zw-apricot)!important;color:var(--ink)!important}
.compact-note{min-height:250px!important}

.merch-section{overflow:hidden}
.merch-images{align-items:start!important;gap:22px!important}
.merch-images figure{height:460px!important;background:#eee9df!important}
.merch-images figure:first-child{transform:translateY(28px) rotate(-1.2deg)}
.merch-images figure:last-child{transform:translateY(-18px) rotate(1deg)}
.merch-images img{object-fit:contain!important;padding:16px!important}

@media(max-width:900px){
 .case-hero{grid-template-columns:1fr!important}.case-hero-copy{min-height:auto!important}.case-hero-image{height:520px!important}
 .pattern-motion{height:620px!important;min-height:620px!important}.pattern-motion::after{background:linear-gradient(to bottom,rgba(242,239,230,.96) 0 34%,rgba(242,239,230,.5) 48%,transparent 68%)!important}
 .motion-copy{top:20%!important;left:24px!important;right:24px!important;transform:none!important}
 .motion-jars{top:68%!important;left:3vw!important;right:3vw!important;width:94vw!important;height:300px!important;justify-content:center!important}
 .case-grid-a .span-7:first-child,.compact-wide,.case-note,.case-grid-b figure,.merch-images figure{height:440px!important}
 .merch-images figure:first-child,.merch-images figure:last-child{transform:none!important}
}

@media(max-width:560px){
 .case-hero-image{height:390px!important;padding:18px!important}.case-lead{margin-bottom:30px!important}
 .pattern-motion{height:560px!important;min-height:560px!important}.motion-copy span{font-size:43px!important}.motion-jars{height:245px!important}
 .case-grid-a .span-7:first-child,.compact-wide,.case-note,.case-grid-b figure,.merch-images figure{height:360px!important}
 .packaging-images figure{height:350px!important}
}

/* === Zwergenwiese — Loveable reference rebuild (project only) === */
.zw-case{--cream:#f1eee5;--ink:#171713;--green:#15572c;--pink:#eeb7c5;--blue:#a8d7e6;--lilac:#c8bce5;--orange:#f39a63;background:var(--cream);color:var(--ink);font-family:var(--sans);padding-top:0!important}
.zw-case *{box-sizing:border-box}.zw-case figure{margin:0}.zw-case img{display:block;width:100%;height:100%;object-fit:cover}.zw-pad{padding:clamp(54px,6vw,96px) clamp(24px,5.5vw,88px)}
.zw-project-nav{height:58px;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;border-bottom:1px solid rgba(0,0,0,.15);background:rgba(241,238,229,.96);backdrop-filter:blur(10px);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.zw-project-nav>img{width:27px;height:27px;object-fit:contain}.zw-project-nav>div{display:flex;gap:26px}.zw-project-nav a{color:inherit;text-decoration:none}.zw-project-nav>span{justify-self:end}
.zw-hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px;border-bottom:1px solid rgba(0,0,0,.14)}.zw-hero-copy{padding:clamp(80px,8vw,128px) clamp(28px,5.5vw,88px) 48px;display:flex;flex-direction:column}.zw-kicker,.zw-section-no{font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 38px}.zw-hero h2,.zw-case h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.zw-hero h2{font-size:clamp(60px,6.8vw,110px);line-height:.9;margin:0 0 34px}.zw-hero h2 em{font-weight:400;color:var(--green)}.zw-summary{max-width:480px;font-size:13px;line-height:1.55;margin:0 0 40px}.zw-meta{margin-top:auto;border-top:1px solid rgba(0,0,0,.18);padding-top:17px}.zw-meta div{display:grid;grid-template-columns:100px 1fr;margin:6px 0}.zw-meta dt{font-size:8px;letter-spacing:.12em}.zw-meta dd{margin:0;font-size:10px}.zw-hero-image{min-height:700px;overflow:hidden}.zw-hero-image img{object-position:center}
.zw-intro{padding-bottom:70px}.zw-intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:start}.zw-intro h3,.zw-title-row h3,.zw-packaging>h3,.zw-campaign>h3{font-size:clamp(38px,4vw,66px);line-height:.98;margin:0}.zw-two-copy{display:grid;grid-template-columns:1fr 1fr;gap:34px;font-size:11px;line-height:1.7}.zw-two-copy p{margin:0}
.zw-logo-band{background:var(--green);color:var(--cream);min-height:330px;padding:58px clamp(24px,5.5vw,88px);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.zw-section-no.light{color:rgba(255,255,255,.7)}.zw-logo-band h3{font-size:clamp(46px,5vw,82px);margin:0 0 20px}.zw-logo-band p:last-child{max-width:460px;font-size:11px;line-height:1.7}.zw-logo-band img{justify-self:center;width:min(390px,55vw);height:160px;object-fit:contain;filter:brightness(0) invert(1)}
.zw-title-row{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.zw-title-row>p{max-width:420px;font-size:11px;line-height:1.65;margin:0}.zw-color-grid{margin-top:46px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px}.zw-color-grid div:nth-child(n+4){height:94px}.zw-color-grid .apricot{background:var(--pink)}.zw-color-grid .cherry{background:var(--blue)}.zw-color-grid .pear{background:var(--lilac)}.zw-color-grid .green{background:#0e4f29}.zw-color-grid .orange{background:var(--orange)}.zw-color-grid .paper{background:#e6dfd1}.zw-color-labels{display:grid;grid-template-columns:repeat(3,1fr);font-size:9px}.zw-color-labels span{padding:9px 0 26px;border-top:1px solid rgba(0,0,0,.13)}
.zw-products{padding-top:30px}.zw-product-grid{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.zw-product-grid figure{height:510px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:30px}.zw-product-grid figure.apricot{background:var(--pink)}.zw-product-grid figure.cherry{background:var(--blue)}.zw-product-grid figure.pear{background:var(--lilac)}.zw-product-grid img{height:78%;width:78%;object-fit:contain}.zw-product-grid figcaption{text-align:center;margin-top:12px}.zw-product-grid strong{display:block;font-family:var(--serif);font-size:20px}.zw-product-grid small{font-size:9px}
.zw-packaging{padding-top:58px}.zw-packaging>h3{margin-bottom:40px}.zw-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zw-mosaic figure{height:420px;background:#e8e3d8;overflow:hidden}.zw-mosaic img{object-fit:cover}.zw-checker{background-color:#f5f2e9!important;background-image:linear-gradient(45deg,var(--green) 25%,transparent 25%),linear-gradient(-45deg,var(--green) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--green) 75%),linear-gradient(-45deg,transparent 75%,var(--green) 75%)!important;background-size:32px 32px!important;background-position:0 0,0 16px,16px -16px,-16px 0!important}
.zw-campaign{padding-top:48px}.zw-campaign>h3{margin-bottom:40px}.zw-campaign-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.zw-campaign-grid figure{height:600px;overflow:hidden}.zw-campaign-grid img{object-fit:cover}
.zw-footer{background:var(--green);color:var(--cream);border-top:18px solid transparent;border-image:repeating-linear-gradient(90deg,var(--cream) 0 20px,var(--green) 20px 40px) 18;min-height:260px;padding:58px clamp(24px,5.5vw,88px);display:flex;justify-content:space-between;align-items:end}.zw-footer h3{font-size:clamp(36px,4vw,62px);margin:0 0 18px}.zw-footer a{color:inherit;font-size:11px}.zw-footer>p{font-size:8px;line-height:1.6;text-align:right}
@media(max-width:800px){.zw-project-nav{grid-template-columns:auto 1fr}.zw-project-nav>div{display:none}.zw-project-nav>span{justify-self:end}.zw-hero,.zw-intro-grid,.zw-logo-band,.zw-title-row{grid-template-columns:1fr}.zw-hero-image{min-height:520px}.zw-logo-band{gap:40px}.zw-two-copy{grid-template-columns:1fr}.zw-product-grid{grid-template-columns:1fr}.zw-product-grid figure{height:440px}.zw-mosaic,.zw-campaign-grid{grid-template-columns:1fr}.zw-mosaic figure,.zw-campaign-grid figure{height:440px}.zw-color-grid{grid-auto-rows:105px}.zw-footer{align-items:start;gap:40px;flex-direction:column}.zw-footer>p{text-align:left}}

/* Zwergenwiese refinements — requested July 2026 */
.zw-case .zw-project-nav{display:none!important}
.zw-case .zw-hero{min-height:760px}
.zw-case .zw-hero-copy{padding-top:clamp(72px,7vw,108px);padding-bottom:clamp(70px,8vw,120px);justify-content:center}
.zw-case .zw-summary{margin-bottom:0}
.zw-case .zw-hero-image{min-height:760px}
.zw-case .zw-hero-image img{object-fit:cover;object-position:center center}

.zw-case .zw-color-grid{
  margin-top:46px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:0;
}
.zw-case .zw-color-grid>div{
  position:relative;
  aspect-ratio:1/1;
  height:auto!important;
  display:flex;
  align-items:flex-end;
  padding:14px;
}
.zw-case .zw-color-grid span{
  font-size:9px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.zw-case .zw-color-grid .label-apricot{background:#ef9d70}
.zw-case .zw-color-grid .label-cherry{background:#c62828;color:#f1eee5}
.zw-case .zw-color-grid .label-pear{background:#79a83b}
.zw-case .zw-color-grid .label-pink{background:#eeb7c5}
.zw-case .zw-color-grid .label-blue{background:#a8d7e6}
.zw-case .zw-color-grid .label-lilac{background:#c8bce5}
.zw-case .zw-color-grid .brand-green{background:#15572c;color:#f1eee5}
.zw-case .zw-color-grid .brand-cream{background:#e6dfd1}
.zw-case .zw-color-labels{display:none!important}

.zw-case .zw-product-grid{gap:14px}
.zw-case .zw-product-grid figure{height:600px;padding:20px 18px 26px}
.zw-case .zw-product-grid img{width:96%;height:88%;object-fit:contain}
.zw-case .zw-product-grid figcaption{margin-top:2px}
.zw-case .zw-footer{display:none!important}

@media(max-width:800px){
  .zw-case .zw-hero,.zw-case .zw-hero-image{min-height:520px}
  .zw-case .zw-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zw-case .zw-product-grid figure{height:520px}
  .zw-case .zw-product-grid img{width:100%;height:90%}
}

.zw-case .zw-bottom-images{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.zw-case .zw-bottom-images figure{
  height:720px;
  overflow:hidden;
}
.zw-case .zw-bottom-images img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:800px){
  .zw-case .zw-bottom-images{grid-template-columns:1fr}
  .zw-case .zw-bottom-images figure{height:520px}
}

/* Archive project: Stadtkampagne */
.city-case{--cream:#f1eee5;--ink:#171713;--green:#111112;background:var(--cream);color:var(--ink)}
.city-case .zw-hero-image{background:#111112}
.city-case .zw-hero-image img{object-fit:cover;object-position:center}
.city-case .zw-hero h2 em{color:#111112}
.city-case .zw-summary{max-width:520px}
.city-case .city-montage{padding-top:48px}
.city-case .city-montage>h3{max-width:960px}
.city-case .city-montage figure{height:min(64vw,760px);min-height:520px;background:#111112;margin-top:40px;overflow:hidden}
.city-case .city-montage img{width:100%;height:100%;object-fit:cover}

@media(max-width:800px){
  .city-case .city-montage figure{height:54vh;min-height:360px}
}

/* Archive list cleanup */
.selected-list .project-row{grid-template-columns:minmax(0,1fr) auto}
.selected-list .project-type,
.selected-list .project-year{display:none}

/* Archive project: Studierendenwerk coming soon */
.coming-soon-case{--cream:#f6f4ef;--ink:#17161a;--green:#e30613;background:var(--cream);color:var(--ink)}
.coming-soon-case .zw-hero{background:#f6f4ef}
.coming-soon-case .zw-hero h2 em{color:#e30613}
.coming-soon-case .zw-summary{max-width:560px}
.coming-soon-case .coming-soon-visual{background:#f6f4ef;padding:clamp(26px,4vw,72px);display:grid;place-items:center}
.coming-soon-case .coming-soon-visual img{object-fit:contain;filter:contrast(1.08) saturate(1.05)}
.coming-soon-case .coming-soon-note{border-top:1px solid rgba(23,22,26,.14)}
.coming-soon-case .coming-soon-note h3{max-width:760px}

/* Selected project: Demokratie feiern */
.democracy-card .work-card-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.5))}
.democracy-card img{object-position:center}
.democracy-case{--cream:#f4f1ea;--ink:#111;--green:#ff2bbf;background:var(--cream);color:var(--ink)}
.democracy-case .zw-hero h2 em{color:#ff2bbf}
.democracy-case .zw-summary{max-width:590px}
.democracy-case .zw-hero-image{background:#d9d6cf;padding:0}
.democracy-case .zw-hero-image img{object-fit:cover;object-position:center}
.democracy-case .democracy-statement{background:#111;color:#f4f1ea;grid-template-columns:1fr;min-height:420px}
.democracy-case .democracy-statement>div{max-width:960px}
.democracy-case .democracy-statement h3{color:#ff2bbf}
.democracy-case .democracy-posters figure{height:min(62vw,760px);min-height:520px;background:#111;margin-top:40px}
.democracy-case .democracy-posters img{object-fit:cover;object-position:center}
.democracy-case .democracy-context{border-top:1px solid rgba(17,17,17,.14)}
.democracy-case .democracy-coming{background:#ff2bbf;color:#111}
.democracy-case .democracy-coming h3{max-width:980px}
.democracy-case .democracy-coming>p:last-child{max-width:620px;font-size:13px;line-height:1.7;margin:28px 0 0}

@media(max-width:800px){
  .democracy-case .democracy-posters figure{height:52vh;min-height:380px}
}


/* Larger jars in 'Drei Sorten, ein System' */
.zw-case .zw-system-grid img,
.zw-case .zw-system figure img{
  max-width: 92% !important;
  width:92% !important;
  margin:auto;
  display:block;
}


/* Gläser in „Drei Sorten, ein System“ größer und exakt mittig */
.zw-case .zw-product-grid figure {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.zw-case .zw-product-grid figure img {
  display: block !important;
  width: auto !important;
  height: 86% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}

@media (max-width: 800px) {
  .zw-case .zw-product-grid figure img {
    height: 84% !important;
  }
}


/* Optische Zentrierung der drei freigestellten Gläser */
.zw-case .zw-product-grid figure img {
  transform: translateX(1.4%) !important;
}

/* Das echte Karosystem statt eines generierten CSS-Musters */
.zw-case .zw-checker{
  background:none!important;
}
.zw-case .zw-checker img{
  width:100%;
  height:100%;
  object-fit:cover;
}


/* Final requested polish: hex codes + tissue/sticker asset */
.zw-case .zw-color-grid span{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}
.zw-case .zw-color-grid span b{
  font:inherit;
  font-size:8px;
  letter-spacing:.06em;
  opacity:.72;
}
.zw-case .zw-tissue-sticker{
  background:#e8e3d8!important;
}
.zw-case .zw-tissue-sticker img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
}


/* Lunar Year case study */
.lunar-card{background:#111;color:#fff}.lunar-card>img{object-position:center}.lunar-card .work-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.48),transparent 48%)}
.ly-case{--ly-cream:#f1eadc;--ly-ink:#171713;--ly-red:#c51f2d;background:var(--ly-cream);color:var(--ly-ink);font-family:var(--sans)}
.ly-case figure{margin:0;overflow:hidden}.ly-case img{display:block;width:100%;height:100%;object-fit:cover}.ly-pad{padding:clamp(64px,7vw,112px) clamp(24px,5.5vw,88px)}
.ly-hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px;border-bottom:1px solid rgba(0,0,0,.14)}.ly-hero-copy{padding:clamp(72px,7vw,108px) clamp(28px,5.5vw,88px);display:flex;flex-direction:column;justify-content:center}.ly-kicker,.ly-section-no,.ly-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.ly-kicker{color:var(--ly-red);margin:0 0 34px}.ly-hero h2,.ly-case h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.ly-hero h2{font-size:clamp(58px,6.5vw,108px);line-height:.88;margin:0 0 34px}.ly-hero h2 em,.ly-overview h3 em{color:var(--ly-red);font-weight:400}.ly-summary{max-width:550px;font-size:14px;line-height:1.65;margin:0 0 44px}.ly-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid rgba(0,0,0,.18);padding-top:18px;margin:0}.ly-meta div{display:block}.ly-meta dt{font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.ly-meta dd{font-size:11px;margin:0}.ly-hero-image{min-height:760px}.ly-hero-image img{object-position:center}
.ly-overview{border-bottom:1px solid rgba(0,0,0,.14)}.ly-overview h3{font-size:clamp(54px,7vw,106px);line-height:.9;margin:0 0 24px}.ly-overview>p:not(.ly-section-no){max-width:650px;font-size:14px;line-height:1.65;margin:0 0 56px}.ly-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ly-triptych figure{aspect-ratio:1.35}.ly-triptych img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.ly-triptych figure:hover img{transform:scale(1.025)}
.ly-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(36px,6vw,100px);align-items:center;border-bottom:1px solid rgba(0,0,0,.14)}.ly-feature-reverse{grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}.ly-feature figure{aspect-ratio:1.48}.ly-feature-copy{max-width:420px}.ly-symbol{display:block;color:var(--ly-red);font-family:serif;font-size:54px;line-height:1;margin-bottom:14px}.ly-label{color:var(--ly-red);margin:0 0 10px}.ly-feature h3{font-size:clamp(42px,5vw,78px);line-height:.95;margin:0 0 20px}.ly-feature-copy>p:last-child{font-size:13px;line-height:1.65;margin:0}
@media(max-width:800px){.ly-hero,.ly-feature,.ly-feature-reverse{grid-template-columns:1fr}.ly-hero-image{min-height:480px}.ly-meta{grid-template-columns:repeat(2,1fr)}.ly-triptych{grid-template-columns:1fr}.ly-triptych figure,.ly-feature figure{aspect-ratio:1.35}.ly-feature-reverse .ly-feature-copy{order:2}.ly-feature-reverse figure{order:1}}

/* Lunar Year: final hero mockup */
.lunar-card img{object-position:center center}
.ly-hero-image img{object-position:center center}


/* Cursor bleibt auch über geöffneten Projektansichten sichtbar */
.cursor-dot{
  z-index:99999!important;
  display:block;
}
.project-modal,.project-modal *{cursor:none;}
@media(max-width:800px){
  .cursor-dot{display:none;}
  .project-modal,.project-modal *{cursor:auto;}
}

/* === Archive project: 2026 Calendar === */
.calendar-row{cursor:pointer}
.calendar-case{background:#e8e2d2;color:#17161a;min-height:100vh}
.calendar-case figure{margin:0;overflow:hidden}
.calendar-case img{display:block;width:100%;height:100%;object-fit:cover}
.calendar-pad{padding:clamp(76px,7vw,118px) 3.2vw}
.calendar-section-no,.calendar-kicker{margin:0 0 24px;font:500 9px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase}
.calendar-hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:4vw;padding:clamp(95px,9vw,145px) 3.2vw 5vw;background:#e8e2d2}
.calendar-hero-copy h2{margin:0 0 32px;font:400 clamp(66px,8.2vw,145px)/.78 var(--serif);letter-spacing:-.055em}
.calendar-hero-copy h2 em{font-weight:400}
.calendar-summary{max-width:610px;margin:0;font:400 clamp(19px,1.9vw,29px)/1.12 var(--serif)}
.calendar-hero-image{aspect-ratio:4/3;box-shadow:0 24px 70px rgba(23,22,26,.10)}
.calendar-poster-section{background:#58bfce;color:#17161a}
.calendar-poster-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:7vw;align-items:start}
.calendar-copy{position:sticky;top:110px}
.calendar-copy h3,.calendar-origin-copy h3{margin:0 0 28px;font:400 clamp(48px,6.2vw,105px)/.83 var(--serif);letter-spacing:-.045em}
.calendar-copy p,.calendar-origin-copy>p:last-child{max-width:520px;margin:0;font:400 clamp(15px,1.25vw,20px)/1.6 var(--mono)}
.calendar-poster-grid figure{width:min(100%,720px);justify-self:end;box-shadow:0 22px 55px rgba(23,22,26,.14)}
.calendar-poster-grid figure img{height:auto;object-fit:contain}
.calendar-origin{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:8vw;align-items:center;background:#f2d91c}
.calendar-origin-image{aspect-ratio:3/4;max-height:72vh;justify-self:center;transform:rotate(2.5deg);box-shadow:0 20px 40px rgba(23,22,26,.13);background:#fff}
.calendar-origin-image img{object-position:center}
.calendar-end{padding:3.2vw;background:#17161a}
.calendar-end figure{width:100%;aspect-ratio:16/10}
@media(max-width:800px){
  .calendar-hero,.calendar-poster-grid,.calendar-origin{grid-template-columns:1fr}
  .calendar-hero{padding:110px 18px 60px;gap:42px}
  .calendar-pad{padding:80px 18px}
  .calendar-hero-image{aspect-ratio:4/3}
  .calendar-copy{position:static}
  .calendar-poster-grid figure{width:100%}
  .calendar-origin-image{width:min(78vw,440px);max-height:none}
  .calendar-end{padding:18px}
  .calendar-end figure{aspect-ratio:4/3}
}

/* Calendar refinements — full-bleed hero, transparent handwriting, full-bleed ending */
.calendar-hero{
  min-height:760px;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:0;
  padding:0;
  border-bottom:1px solid rgba(23,22,26,.14);
}
.calendar-hero-copy{
  padding:clamp(72px,7vw,108px) clamp(28px,5.5vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.calendar-hero-image{
  min-height:760px;
  aspect-ratio:auto;
  box-shadow:none;
}
.calendar-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.calendar-origin-image{
  width:min(100%,560px);
  aspect-ratio:auto;
  max-height:none;
  background:transparent;
  box-shadow:none;
  transform:none;
  overflow:visible!important;
}
.calendar-origin-image img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.calendar-end{
  padding:0;
  background:#17161a;
  min-height:72vh;
}
.calendar-end figure{
  width:100%;
  height:72vh;
  aspect-ratio:auto;
}
.calendar-end img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:800px){
  .calendar-hero{grid-template-columns:1fr;min-height:0;padding:0;gap:0}
  .calendar-hero-copy{padding:110px 18px 60px}
  .calendar-hero-image{min-height:560px;aspect-ratio:auto}
  .calendar-origin-image{width:min(88vw,520px)}
  .calendar-end{padding:0;min-height:60vh}
  .calendar-end figure{height:60vh;aspect-ratio:auto}
}

/* Calendar v3 — clean handwriting + quiet final section */
.calendar-origin{
  background:#e8e2d2!important;
  min-height:88vh;
  padding-top:clamp(96px,9vw,150px);
  padding-bottom:clamp(100px,10vw,170px);
  border-top:1px solid rgba(23,22,26,.14);
}
.calendar-origin-copy{
  align-self:center;
}
.calendar-origin-copy h3{
  max-width:760px;
}
.calendar-origin-copy>p:not(.calendar-section-no):not(.calendar-closing){
  max-width:590px;
}
.calendar-origin-image{
  width:min(100%,620px)!important;
  justify-self:center;
}
.calendar-origin-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.calendar-closing{
  margin:clamp(52px,6vw,92px) 0 0!important;
  padding-top:24px;
  border-top:1px solid rgba(23,22,26,.28);
  max-width:680px!important;
  font:italic clamp(24px,3.2vw,48px)/1.04 var(--serif)!important;
  letter-spacing:-.02em;
}
.calendar-end{display:none!important}
@media(max-width:800px){
  .calendar-origin{min-height:0;padding-top:82px;padding-bottom:96px;gap:64px}
  .calendar-origin-image{width:min(92vw,520px)!important}
  .calendar-closing{margin-top:48px!important}
}


/* Calendar v5 — more breathing room in origin section */
.calendar-origin{
  padding-left:clamp(44px,6vw,110px)!important;
  padding-right:clamp(44px,6vw,110px)!important;
  column-gap:clamp(70px,8vw,150px)!important;
}
.calendar-origin-copy{
  max-width:720px;
}
.calendar-origin-image{
  width:min(100%,470px)!important;
  justify-self:end!important;
  margin-right:clamp(6px,2vw,34px);
}
@media(max-width:1100px){
  .calendar-origin{
    grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
    padding-left:clamp(34px,5vw,70px)!important;
    padding-right:clamp(34px,5vw,70px)!important;
    column-gap:clamp(44px,6vw,85px)!important;
  }
  .calendar-origin-image{width:min(100%,400px)!important;margin-right:0}
}
@media(max-width:800px){
  .calendar-origin{
    grid-template-columns:1fr;
    padding-left:24px!important;
    padding-right:24px!important;
    gap:58px!important;
  }
  .calendar-origin-image{
    width:min(76vw,360px)!important;
    justify-self:center!important;
    margin-right:0;
  }
}


/* Calendar v6 — aligned origin + personal closing section */
.calendar-origin{
  min-height:0!important;
  padding-top:clamp(76px,7vw,118px)!important;
  padding-bottom:clamp(76px,7vw,118px)!important;
  align-items:start!important;
}
.calendar-origin-copy{
  align-self:start!important;
}
.calendar-origin-image{
  width:min(100%,340px)!important;
  justify-self:end!important;
  align-self:start!important;
  margin-right:clamp(10px,2vw,28px)!important;
}
.calendar-origin-image img{width:100%!important;height:auto!important;}
.calendar-personal{
  background:#e8e2d2;
  border-top:1px solid rgba(23,22,26,.14);
  padding-top:clamp(84px,8vw,130px);
  padding-bottom:clamp(96px,9vw,150px);
}
.calendar-personal-grid{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:clamp(60px,8vw,140px);
  align-items:start;
}
.calendar-personal-grid h3{
  margin:0;
  font:400 clamp(48px,6.2vw,105px)/.83 var(--serif);
  letter-spacing:-.045em;
}
.calendar-personal-copy{max-width:650px;justify-self:end;}
.calendar-personal-copy p{
  margin:0;
  font:400 clamp(15px,1.25vw,20px)/1.6 var(--mono);
}
.calendar-personal-closing{
  margin-top:clamp(44px,5vw,72px)!important;
  padding-top:24px;
  border-top:1px solid rgba(23,22,26,.28);
  font:italic clamp(25px,3.1vw,46px)/1.06 var(--serif)!important;
  letter-spacing:-.02em;
}
@media(max-width:1100px){
  .calendar-origin-image{width:min(100%,300px)!important;margin-right:0!important;}
}
@media(max-width:800px){
  .calendar-origin{padding-top:80px!important;padding-bottom:84px!important;gap:50px!important;}
  .calendar-origin-image{width:min(64vw,280px)!important;justify-self:center!important;}
  .calendar-personal-grid{grid-template-columns:1fr;gap:42px;}
  .calendar-personal-copy{justify-self:start;max-width:none;}
}

/* Calendar v8 — align origin copy with section above */
.calendar-origin{
  padding-left:3.2vw!important;
  padding-right:3.2vw!important;
}
@media(max-width:800px){
  .calendar-origin{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* === Selected project: Walksafe+ === */
.walksafe-card{background:#d9e8f3;position:relative;overflow:hidden}
.walksafe-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.walksafe-card .work-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.30),rgba(0,0,0,0) 46%)}
.walksafe-card .card-no,.walksafe-card .card-name,.walksafe-card .card-type{position:relative;z-index:2;color:#111}
.walksafe-card .card-name,.walksafe-card .card-type{text-shadow:0 1px 16px rgba(255,255,255,.55)}

.ws-case{--ws-ink:#111014;--ws-blue:#a9cce9;--ws-pink:#ef8bbb;--ws-cream:#e8e2d2;background:var(--ws-cream);color:var(--ws-ink);min-height:100vh}
.ws-case figure{margin:0;overflow:hidden}.ws-case img{display:block;max-width:100%}.ws-pad{padding:clamp(78px,7vw,118px) 3.2vw}.ws-section-no,.ws-kicker{margin:0 0 26px;font:500 9px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase}.ws-section-no.light{color:rgba(255,255,255,.74)}
.ws-hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);background:linear-gradient(145deg,#c9deef 0%,#a9cce9 31%,#ef8bbb 70%,#f4dcc8 100%);overflow:hidden}
.ws-hero-copy{padding:clamp(100px,9vw,150px) 3.8vw clamp(65px,6vw,100px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.ws-hero-copy h2{margin:0 0 34px;font:400 clamp(66px,8.1vw,142px)/.78 var(--serif);letter-spacing:-.055em}.ws-hero-copy h2 em{font-weight:400}.ws-summary{max-width:660px;margin:0;font:italic clamp(20px,2vw,31px)/1.12 var(--serif)}
.ws-hero-visual{display:grid;place-items:center;padding:8vw 5vw 6vw;min-height:100svh}.ws-hero-visual img{width:min(78%,720px);height:auto;filter:drop-shadow(0 28px 54px rgba(31,15,37,.18));transform:rotate(2deg)}
.ws-problem{background:var(--ws-cream);border-top:1px solid rgba(17,16,20,.16)}.ws-two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(50px,8vw,140px);align-items:start}.ws-two-col h3,.ws-solution h3,.ws-features h3,.ws-prototype h3,.ws-poster h3,.ws-film h3,.ws-end h3{margin:0;font:400 clamp(52px,6.4vw,108px)/.84 var(--serif);letter-spacing:-.045em}.ws-copy{max-width:660px;justify-self:end}.ws-copy p,.ws-solution-head>p,.ws-features-head>p,.ws-prototype-copy>p:last-child,.ws-poster-copy>p,.ws-film-head>p:last-child,.ws-end>p:last-child{font:400 clamp(15px,1.22vw,20px)/1.65 var(--mono);margin:0}.ws-copy p+p{margin-top:24px}
.ws-solution{background:#111014;color:#f4eee3}.ws-solution-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:8vw;align-items:end}.ws-solution-head>p{max-width:650px;justify-self:end;color:rgba(244,238,227,.8)}.ws-factor-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:clamp(70px,8vw,126px)}.ws-factor-row span{border:1px solid rgba(244,238,227,.5);border-radius:999px;padding:15px 18px;text-align:center;font:500 9px/1 var(--mono);letter-spacing:.13em}
.ws-features{background:linear-gradient(135deg,#f3d8e6 0%,#d6e8f4 50%,#f1e5d5 100%)}.ws-features-head{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end}.ws-features-head>p{max-width:540px;justify-self:end}.ws-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(17,16,20,.18);margin-top:clamp(60px,7vw,110px);border:1px solid rgba(17,16,20,.18)}.ws-feature-grid article{background:rgba(232,226,210,.72);padding:clamp(28px,3.2vw,54px);min-height:330px}.ws-feature-grid article>span{display:block;font:500 9px/1 var(--mono);letter-spacing:.18em;margin-bottom:42px}.ws-feature-grid h4{margin:0 0 20px;font:italic clamp(34px,4vw,62px)/.95 var(--serif)}.ws-feature-grid p{max-width:600px;margin:0;font:400 13px/1.65 var(--mono)}
.ws-prototype{display:grid;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);gap:7vw;align-items:center;background:#e8e2d2;padding:clamp(86px,8vw,140px) 5vw}.ws-prototype-copy{max-width:680px}.ws-prototype-copy>p:last-child{margin-top:32px;max-width:600px}.ws-phone{display:flex;justify-content:center;align-items:center;min-height:720px;overflow:visible!important}.ws-phone img{width:min(100%,430px);height:auto;filter:drop-shadow(0 24px 38px rgba(17,16,20,.18))}
.ws-poster{background:#ef8bbb}.ws-poster-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:7vw;align-items:start}.ws-poster-copy{position:sticky;top:110px}.ws-poster-copy>p{margin-top:30px;max-width:520px}.ws-poster-grid figure{width:min(100%,700px);justify-self:end;box-shadow:0 24px 60px rgba(17,16,20,.18)}.ws-poster-grid figure img{width:100%;height:auto}
.ws-film{background:#111014;color:#f4eee3}.ws-film-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:7vw;align-items:end;margin-bottom:clamp(48px,6vw,90px)}.ws-film-head .ws-section-no{grid-column:1/-1;margin-bottom:0}.ws-film-head>p:last-child{max-width:510px;justify-self:end;color:rgba(244,238,227,.78)}.ws-video-frame{width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}.ws-video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.ws-end{min-height:76vh;background:linear-gradient(145deg,#b6d6ec 0%,#ef8bbb 62%,#f2dfcf 100%);display:flex;flex-direction:column;justify-content:flex-end}.ws-end h3{max-width:1050px}.ws-end>p:last-child{max-width:720px;margin-top:36px;font:italic clamp(21px,2.2vw,34px)/1.14 var(--serif)}
@media(max-width:900px){.ws-hero,.ws-two-col,.ws-solution-head,.ws-features-head,.ws-prototype,.ws-poster-grid,.ws-film-head{grid-template-columns:1fr}.ws-hero{min-height:0}.ws-hero-copy{padding:110px 18px 64px}.ws-hero-visual{min-height:520px;padding:40px 18px 70px}.ws-hero-visual img{width:min(82vw,540px)}.ws-pad{padding:80px 18px}.ws-copy,.ws-solution-head>p,.ws-features-head>p,.ws-film-head>p:last-child{justify-self:start;max-width:none}.ws-factor-row{grid-template-columns:repeat(2,1fr)}.ws-feature-grid{grid-template-columns:1fr}.ws-feature-grid article{min-height:0}.ws-prototype{padding:80px 18px}.ws-phone{min-height:0;padding-top:28px}.ws-phone img{width:min(70vw,360px)}.ws-poster-copy{position:static}.ws-poster-grid figure{width:100%}.ws-film-head .ws-section-no{grid-column:auto}.ws-end{min-height:64vh}}
@media(max-width:520px){.ws-factor-row{grid-template-columns:1fr}.ws-feature-grid article{padding:28px 22px}}

/* === Walksafe+ refinement — July 2026 === */
.ws-case{--ws-ink:#111014;--ws-blue:#b9d6ee;--ws-pink:#ef8bbb;--ws-cream:#e8e2d2;background:var(--ws-cream);color:var(--ws-ink)}
.ws-hero{background:var(--ws-cream)!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:100svh}
.ws-hero-copy{padding-left:3.8vw;padding-right:4.8vw}
.ws-hero-copy h2{font-size:clamp(58px,7.2vw,126px);max-width:900px}
.ws-summary{max-width:610px}
.ws-hero-visual{padding:0!important;min-height:100svh!important;display:block!important;background:var(--ws-cream)}
.ws-hero-visual img{width:100%!important;height:100%!important;min-height:100svh;object-fit:cover;object-position:center center;filter:none!important;transform:none!important}

.ws-solution{background:var(--ws-pink)!important;color:var(--ws-ink)!important}
.ws-solution .ws-section-no.light,.ws-solution .ws-section-no{color:var(--ws-ink)!important}
.ws-solution-head>p{color:var(--ws-ink)!important}
.ws-factor-row span{border-color:rgba(17,16,20,.5);color:var(--ws-ink);background:rgba(232,226,210,.18)}

.ws-features{background:var(--ws-cream)!important}
.ws-feature-grid{background:rgba(17,16,20,.16)}
.ws-feature-grid article{background:var(--ws-cream)!important}

.ws-identity{background:var(--ws-blue);overflow:hidden}
.ws-identity-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:7vw;align-items:center}
.ws-identity-copy h3{margin:0;font:400 clamp(52px,6.4vw,108px)/.84 var(--serif);letter-spacing:-.045em}
.ws-identity-copy>p{max-width:620px;margin:32px 0 0;font:400 clamp(15px,1.22vw,20px)/1.65 var(--mono)}
.ws-logo{width:min(330px,52%);height:auto;margin-top:54px;object-fit:contain}
.ws-mascot-stage{min-height:650px;position:relative;display:flex;align-items:flex-end;justify-content:center}
.ws-mascot{position:absolute;height:auto;object-fit:contain;filter:drop-shadow(0 22px 35px rgba(55,42,90,.08))}
.ws-mascot-one{width:min(48%,430px);left:5%;bottom:8%;transform:rotate(-3deg)}
.ws-mascot-two{width:min(40%,350px);right:5%;bottom:3%;transform:rotate(4deg)}

.ws-prototype{background:var(--ws-cream)!important}
.ws-phone{min-height:720px;overflow:visible!important;background:transparent!important}
.ws-phone video{display:block;width:min(100%,420px);height:auto;border:0;background:transparent;filter:drop-shadow(0 24px 38px rgba(17,16,20,.16))}

.ws-film{background:var(--ws-cream)!important;color:var(--ws-ink)!important}
.ws-film .ws-section-no.light,.ws-film .ws-section-no{color:var(--ws-ink)!important}
.ws-film-head>p:last-child{color:var(--ws-ink)!important}
.ws-video-frame{background:transparent!important}
.ws-video-frame video{background:transparent!important}

.ws-end{background:var(--ws-blue)!important}

@media(max-width:900px){
  .ws-hero{grid-template-columns:1fr}
  .ws-hero-visual{min-height:68svh!important;height:68svh}
  .ws-hero-visual img{min-height:68svh;height:68svh!important}
  .ws-identity-grid{grid-template-columns:1fr}
  .ws-logo{width:min(260px,58%)}
  .ws-mascot-stage{min-height:520px;margin-top:20px}
  .ws-phone video{width:min(74vw,390px)}
}
@media(max-width:520px){
  .ws-hero-visual{min-height:54svh!important;height:54svh}
  .ws-hero-visual img{min-height:54svh;height:54svh!important}
  .ws-mascot-stage{min-height:390px}
  .ws-mascot-one{width:55%;left:0}
  .ws-mascot-two{width:45%;right:0}
}
.ws-phone video{border-radius:58px;overflow:hidden}
.walksafe-card>img{object-position:center 46%}

/* === Walksafe+ refinement 2 === */
.ws-identity-combo{display:block;width:min(100%,620px);height:auto;object-fit:contain;margin:auto}
.ws-mascot-stage{min-height:560px;align-items:center}
.ws-phone{min-height:560px}
.ws-phone video{width:min(100%,330px)}
.ws-video-frame{width:min(82%,1120px);margin-inline:auto;aspect-ratio:16/9}
@media(max-width:900px){
  .ws-mascot-stage{min-height:430px}
  .ws-identity-combo{width:min(82vw,540px)}
  .ws-phone video{width:min(62vw,310px)}
  .ws-video-frame{width:100%}
}
@media(max-width:520px){
  .ws-mascot-stage{min-height:320px}
  .ws-phone video{width:min(70vw,280px)}
}

/* Walksafe+ refinement — visual system alignment + clean prototype start */
.ws-identity-grid{
  align-items:start!important;
}
.ws-identity-copy{
  align-self:start;
}
.ws-logo{display:none!important}
.ws-mascot-stage{
  min-height:0!important;
  align-self:start!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding-top:0!important;
}
.ws-identity-combo{
  width:min(100%,520px)!important;
  max-height:520px;
  object-fit:contain;
  object-position:left top;
  margin:0!important;
}
.ws-phone video{
  background:var(--ws-cream)!important;
}
.ws-phone video[poster]{
  object-fit:contain;
}
@media(max-width:900px){
  .ws-mascot-stage{margin-top:36px!important}
  .ws-identity-combo{width:min(82vw,470px)!important;max-height:none}
}

/* Walksafe+ final spacing + no-load-flash fixes */
.ws-hero-copy{
  justify-content:flex-start!important;
  padding-top:clamp(105px,8.2vw,132px)!important;
}
.ws-mascot-stage{
  justify-content:flex-end!important;
}
.ws-identity-combo{
  margin-left:auto!important;
  margin-right:0!important;
  object-position:right top!important;
  transform:translateX(2.5vw);
}
.ws-phone{
  position:relative;
}
.ws-phone-cover{
  position:absolute;
  z-index:2;
  width:min(100%,330px)!important;
  height:auto;
  inset:auto;
  display:block;
  pointer-events:none;
  opacity:1;
  transition:opacity .12s linear;
  border-radius:58px;
}
.ws-phone-cover.is-hidden{opacity:0}
.ws-phone video{position:relative;z-index:1}
@media(max-width:900px){
  .ws-hero-copy{padding-top:92px!important}
  .ws-identity-combo{transform:translateX(0)}
  .ws-phone-cover{width:min(62vw,310px)!important}
}
@media(max-width:520px){
  .ws-phone-cover{width:min(70vw,280px)!important}
}

/* Prevent project placeholder flash on initial page load */
.project-modal{visibility:hidden;pointer-events:none;}
.project-modal.open{visibility:visible;pointer-events:auto;}

/* Walksafe+ — requested layout/color refinements */
.ws-phone{
  justify-content:flex-end!important;
  padding-right:clamp(8px,2vw,34px);
  transform:translateX(2.5vw);
}
.ws-identity-combo{
  width:min(100%,410px)!important;
  max-height:410px!important;
  transform:translateX(3vw)!important;
}
.ws-feature-grid{
  gap:12px!important;
  background:transparent!important;
  border:0!important;
}
.ws-feature-grid article{
  border:1px solid rgba(17,16,20,.10);
}
.ws-feature-grid article:nth-child(1){background:#f3dda0!important;}
.ws-feature-grid article:nth-child(2){background:#e7b7d0!important;}
.ws-feature-grid article:nth-child(3){background:#bdd6e7!important;}
.ws-feature-grid article:nth-child(4){background:#f0d0bc!important;}

@media(max-width:900px){
  .ws-phone{justify-content:center!important;padding-right:0;transform:none}
  .ws-identity-combo{width:min(76vw,380px)!important;max-height:none!important;transform:none!important}
}

/* Intro copy: hidden from first paint, then a true soft fade once the letter opens. */
#heroReveal{
  visibility:visible !important;
}
#heroReveal[aria-hidden="true"] .hero-description,
#heroReveal[aria-hidden="true"] .hero-scroll{
  opacity:0 !important;
  pointer-events:none;
}

.hero-description{
  opacity:0 !important;
  transform:translateY(12px) !important;
  transition:opacity .95s cubic-bezier(.22,.61,.36,1), transform .95s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity,transform;
}
.hero-description.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.hero-scroll{
  opacity:0 !important;
  transform:translateY(7px) !important;
  transition:opacity .75s ease, transform .75s ease !important;
}
.hero-scroll.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
}

@media (prefers-reduced-motion:reduce){
  .hero-description,.hero-scroll{transition-duration:.01ms!important}
}



/* No intro flash before envelope opens — especially Safari/file:// */
.hero-description[hidden], .hero-scroll[hidden]{display:none !important;}


/* === Landing intro reveal: fixed-position fade only === */
.hero-description{
  opacity:0 !important;
  transform:none !important;
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity;
}
.hero-description.is-visible{
  opacity:1 !important;
  transform:none !important;
}
.hero-scroll{
  opacity:0 !important;
  transform:none !important;
  transition:opacity .75s ease !important;
  will-change:opacity;
}
.hero-scroll.is-visible{
  opacity:1 !important;
  transform:none !important;
}
#heroReveal[aria-hidden="true"] .hero-description,
#heroReveal[aria-hidden="true"] .hero-scroll{
  opacity:0 !important;
}
/* Elements stay in their final place from first paint; only their visibility changes. */
.hero-description[hidden],.hero-scroll[hidden]{display:block !important;}


/* === FINAL landing copy fade: opacity only, no movement === */
#heroReveal .hero-description,
#heroReveal .hero-scroll{
  visibility:visible !important;
  transform:none !important;
  opacity:0 !important;
}
#heroReveal .hero-description{
  transition:opacity .72s ease-out !important;
}
#heroReveal .hero-scroll{
  transition:opacity .55s ease-out !important;
}
#heroReveal[aria-hidden="false"] .hero-description.is-visible,
#heroReveal[aria-hidden="false"] .hero-scroll.is-visible{
  opacity:1 !important;
  transform:none !important;
}


/* Typography project: Neutralisierte Sprachfläche */
.neutral-card{background:#111014;color:#f3efe6}
.neutral-card>img{object-position:center 48%}
.neutral-card .work-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.04) 54%);
}
.neutral-card .card-name,.neutral-card .card-type{color:#f3efe6}

.ns-case{
  --ns-cream:#ded8c8;
  --ns-ink:#111014;
  --ns-yellow:#f2d831;
  --ns-mockup-bg:#e2dccc;
  --ns-line:rgba(17,16,20,.22);
  --ns-section-x:clamp(24px,5.5vw,88px);
  --ns-section-y:clamp(64px,6.2vw,104px);
  --ns-section-y-compact:clamp(34px,3.8vw,62px);
  --ns-label-gap:10px;
  --ns-content-gap:20px;
  --ns-title-size:clamp(56px,6.2vw,108px);
  background:var(--ns-cream);
  color:var(--ns-ink);
  min-height:100vh;
  font-family:var(--mono);
}
.ns-case figure{margin:0;overflow:hidden}
.ns-case img{display:block;width:100%;height:100%;object-fit:cover}
.ns-case video{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.ns-pad{padding:var(--ns-section-y) var(--ns-section-x)}
.ns-kicker,.ns-section-no,.ns-section-label{
  margin:0 0 var(--ns-label-gap);
  font-family:var(--mono);
  font-size:9px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ns-section-no.light{color:inherit}
.ns-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:760px;
  border-bottom:1px solid var(--ns-line);
}
.ns-hero-copy{
  padding:clamp(78px,8vw,126px) clamp(28px,5.5vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ns-hero h2,.ns-section-title{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.045em;
}
.ns-hero h2{
  font-size:clamp(62px,7vw,118px);
  line-height:.82;
  margin-bottom:clamp(32px,4vw,58px);
}
.ns-hero h2 em,.ns-case h3 em{font-style:italic;font-weight:400}
.ns-section-title{
  font-size:var(--ns-title-size);
  line-height:.86;
  margin-bottom:var(--ns-content-gap);
}
.ns-summary,
.ns-copy p,
.ns-magazine-copy p:not(.ns-section-no),
.ns-poster-head p:not(.ns-section-no),
.ns-website-head p:not(.ns-section-no),
.ns-end p:not(.ns-section-no){
  max-width:620px;
  margin:0;
  font-size:clamp(13px,1.1vw,17px);
  line-height:1.75;
}
.ns-hero-image{min-height:760px;background:#bdb5a3}
.ns-hero-image img{object-position:center center}

.ns-statement-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(42px,8vw,130px);
  align-items:start;
}
.ns-copy{display:grid;gap:28px}
.ns-statement{background:var(--ns-yellow)}

.ns-magazine{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  gap:clamp(36px,6vw,92px);
  align-items:start;
  min-height:760px;
  padding:var(--ns-section-y) var(--ns-section-x);
  background:var(--ns-ink);
  color:#f3efe6;
}
.ns-magazine-copy{padding-top:clamp(118px,8.6vw,170px)}
.ns-magazine-copy p:not(.ns-section-no){color:rgba(243,239,230,.72)}
.ns-carousel{width:100%}
.ns-carousel-viewport{
  overflow:hidden;
  background:transparent;
}
.ns-carousel-track{
  display:flex;
  transform:translateX(0);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.ns-carousel figure{
  flex:0 0 100%;
  aspect-ratio:1600/1131;
  background:transparent;
}
.ns-carousel img{
  object-fit:contain;
  transform:scale(1.18);
  transform-origin:center;
}
.ns-carousel-controls{
  display:grid;
  grid-template-columns:auto auto auto;
  justify-content:center;
  align-items:center;
  gap:clamp(22px,4vw,62px);
  margin-top:30px;
  font:600 12px/1 var(--mono);
  letter-spacing:.14em;
}
.ns-carousel-controls button{
  appearance:none;
  width:62px;
  height:62px;
  border:1px solid rgba(243,239,230,.62);
  background:transparent;
  color:#f3efe6;
  display:grid;
  place-items:center;
  font:40px/1 var(--serif);
  cursor:pointer;
}
.ns-carousel-controls button:hover{background:#f3efe6;color:var(--ns-ink)}

.ns-poster{
  background:var(--ns-mockup-bg);
  padding-top:var(--ns-section-y-compact);
  padding-bottom:var(--ns-section-y-compact);
}
.ns-poster-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(28px,5vw,82px);
  align-items:start;
  margin-bottom:clamp(24px,3.2vw,42px);
}
.ns-poster-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  max-width:900px;
  margin:0 auto;
}
.ns-poster-grid figure{
  aspect-ratio:1/1;
  background:var(--ns-mockup-bg);
}
.ns-poster-grid img{object-fit:contain}
.ns-poster-grid img{
  transform:scale(1.18);
  transform-origin:center;
}

.ns-website{
  background:#000;
  color:#f3efe6;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:var(--ns-section-y-compact);
  padding-bottom:var(--ns-section-y-compact);
}
.ns-website-head{
  align-self:flex-start;
  max-width:760px;
  margin:0 0 clamp(22px,3vw,38px);
  text-align:left;
}
.ns-website-head p:not(.ns-section-no){color:rgba(243,239,230,.72)}
.ns-website-visual{
  overflow:visible!important;
  width:min(680px,72vw);
  margin:0 auto;
  background:transparent;
  aspect-ratio:1173/689;
  display:grid;
  place-items:center;
  contain:layout paint;
}
.ns-website-visual video{
  width:100%;
  height:auto;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}

.ns-end{
  background:var(--ns-yellow);
  color:var(--ns-ink);
  min-height:auto;
  display:flex;
  align-items:center;
}
.ns-end>div{max-width:760px}
.ns-end p:not(.ns-section-no){color:rgba(17,16,20,.74)}

@media(max-width:900px){
  .ns-hero,.ns-statement-grid,.ns-magazine,.ns-poster-head{
    grid-template-columns:1fr;
  }
  .ns-hero,.ns-hero-image{min-height:auto}
  .ns-hero-image{height:min(86vh,740px)}
  .ns-section-title,.ns-hero h2{max-width:760px}
  .ns-magazine{min-height:auto}
  .ns-magazine-copy{padding-top:0}
  .ns-poster-grid{grid-template-columns:1fr}
  .ns-poster-grid figure{max-width:520px;width:100%;justify-self:center}
  .ns-website-head{margin-left:0;margin-right:0}
  .ns-website-visual{width:min(560px,86vw)}
}

@media(max-width:520px){
  .ns-hero-copy,.ns-pad,.ns-magazine{padding-left:18px;padding-right:18px}
  .ns-hero-image{height:70vh}
  .ns-carousel img{transform:scale(1.08)}
  .ns-carousel-controls{gap:18px}
  .ns-carousel-controls button{width:54px;height:54px}
  .ns-website-visual{width:100%}
}

/* Neutralisierte Sprachfläche — final alignment pass */
.ns-case{
  --ns-label-gap:10px;
  --ns-content-gap:18px;
}

.ns-case .ns-section-no,
.ns-case .ns-section-label,
.ns-case .ns-kicker{
  display:block;
  margin:0 0 var(--ns-label-gap) !important;
  font-family:var(--mono) !important;
  font-size:9px !important;
  font-style:normal !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.ns-case .ns-section-title{
  margin:0 0 var(--ns-content-gap) !important;
  font-family:var(--serif) !important;
  font-weight:400 !important;
  font-size:var(--ns-title-size) !important;
  line-height:.86 !important;
  letter-spacing:-.045em !important;
}

.ns-magazine{
  min-height:0 !important;
  align-items:start !important;
  padding-top:clamp(54px,5vw,82px) !important;
  padding-bottom:clamp(44px,4.8vw,76px) !important;
}

.ns-magazine-copy{
  padding-top:clamp(94px,7.6vw,142px) !important;
}

.ns-carousel{
  align-self:start;
}

.ns-poster{
  background:#e2dccc !important;
  padding-top:clamp(28px,3.2vw,48px) !important;
  padding-bottom:clamp(28px,3.2vw,48px) !important;
}

.ns-poster-head{
  margin-bottom:clamp(14px,1.8vw,26px) !important;
}

.ns-poster-grid{
  max-width:min(1120px,92vw) !important;
  gap:0 !important;
}

.ns-poster-grid figure{
  background:#e2dccc !important;
  aspect-ratio:1/1 !important;
}

.ns-poster-grid img{
  object-fit:contain !important;
  transform:scale(1.32) !important;
  transform-origin:center !important;
}

.ns-website{
  background:#000 !important;
  color:#f3efe6;
  padding-top:clamp(30px,3.4vw,54px) !important;
  padding-bottom:clamp(34px,3.8vw,60px) !important;
}

.ns-website-head{
  width:min(760px,100%);
  align-self:flex-start !important;
  text-align:left !important;
  margin:0 0 clamp(16px,2.2vw,28px) !important;
}

.ns-website-visual{
  width:min(620px,66vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-self:center !important;
}

.ns-website-visual video{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

.ns-end{
  background:var(--ns-yellow) !important;
}

@media(max-width:900px){
  .ns-magazine-copy{
    padding-top:0 !important;
  }

  .ns-poster-grid{
    max-width:min(620px,88vw) !important;
  }

  .ns-website-visual{
    width:min(520px,86vw) !important;
  }
}

@media(max-width:520px){
  .ns-case .ns-section-no,
  .ns-case .ns-section-label,
  .ns-case .ns-kicker{
    font-size:9px !important;
  }

  .ns-poster-grid img{
    transform:scale(1.24) !important;
  }

  .ns-website-visual{
    width:min(420px,92vw) !important;
  }
}

/* Neutralisierte Sprachfläche — poster/label/screen correction */
article.ns-case p.ns-section-no.ns-section-label{
  font:500 7px/1.2 var(--mono) !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  margin:0 0 8px !important;
  transform:none !important;
}

.ns-poster-grid{
  align-items:start !important;
}

.ns-poster-grid figure{
  display:grid !important;
  place-items:start center !important;
  overflow:hidden !important;
}

.ns-poster-grid img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.12) !important;
  transform-origin:center top !important;
}

.ns-website-visual{
  width:min(540px,58vw) !important;
}

@media(max-width:900px){
  .ns-website-visual{
    width:min(460px,78vw) !important;
  }
}

@media(max-width:520px){
  article.ns-case p.ns-section-no.ns-section-label{
    font-size:7px !important;
  }

  .ns-poster-grid img{
    transform:scale(1.08) !important;
  }

  .ns-website-visual{
    width:min(360px,86vw) !important;
  }
}

/* Neutralisierte Sprachfläche — larger magazine pages */
.ns-magazine{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr) !important;
  gap:clamp(28px,4.6vw,72px) !important;
}

.ns-carousel{
  width:calc(100% + clamp(12px,2.2vw,34px)) !important;
  margin-right:calc(clamp(12px,2.2vw,34px) * -1) !important;
}

.ns-carousel-viewport{
  width:100% !important;
}

.ns-carousel img{
  transform:scale(1.36) !important;
}

@media(max-width:900px){
  .ns-carousel{
    width:100% !important;
    margin-right:0 !important;
  }

  .ns-carousel img{
    transform:scale(1.22) !important;
  }
}

@media(max-width:520px){
  .ns-carousel img{
    transform:scale(1.15) !important;
  }
}

/* Neutralisierte Sprachfläche — restore full posters + reliable MacBook media */
.ns-poster-grid{
  max-width:min(1280px,94vw) !important;
}

.ns-poster-grid figure{
  aspect-ratio:1600/1618 !important;
  display:block !important;
  overflow:visible !important;
  background:#e2dccc !important;
}

.ns-poster-grid img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center top !important;
  transform:none !important;
}

.ns-website-visual{
  position:relative !important;
  width:min(500px,54vw) !important;
}

.ns-website-fallback,
.ns-website-visual video{
  grid-area:1/1;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

.ns-website-fallback{
  position:relative;
  z-index:1;
  display:block;
  opacity:1;
}

.ns-website-visual video{
  position:relative;
  z-index:2;
  opacity:0;
  transition:opacity .18s linear;
}

.ns-website-visual.is-video-ready video{
  opacity:1;
}

.ns-website-visual.is-video-ready .ns-website-fallback{
  opacity:0;
}

@media(max-width:900px){
  .ns-poster-grid{
    max-width:min(720px,88vw) !important;
  }

  .ns-website-visual{
    width:min(430px,74vw) !important;
  }
}

@media(max-width:520px){
  .ns-website-visual{
    width:min(340px,84vw) !important;
  }
}

/* Neutralisierte Sprachfläche — restore project label size + fullscreen website */
article.ns-case p.ns-section-no.ns-section-label,
.ns-case .ns-section-no,
.ns-case .ns-section-label{
  font:500 9px/1.2 var(--mono) !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  margin:0 0 10px !important;
}

.ns-website{
  min-height:100svh !important;
  justify-content:center !important;
  background:#000 !important;
  padding-top:clamp(48px,5vw,82px) !important;
  padding-bottom:clamp(48px,5vw,82px) !important;
}

.ns-website-head{
  margin-bottom:clamp(28px,4vw,58px) !important;
}

.ns-website-visual{
  display:grid !important;
  place-items:center !important;
  width:min(760px,72vw) !important;
  max-height:48svh !important;
  aspect-ratio:1280/752 !important;
  overflow:visible !important;
  background:transparent !important;
}

.ns-website-fallback,
.ns-website-visual video{
  grid-area:1/1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

.ns-website-fallback{
  opacity:1 !important;
  visibility:visible !important;
}

.ns-website-visual video{
  visibility:visible !important;
  background:transparent !important;
}

.ns-website-visual:not(.is-video-ready) video{
  opacity:0 !important;
}

.ns-website-visual.is-video-ready video{
  opacity:1 !important;
}

/* Neutralisierte Sprachfläche — keep full MacBook visible */
.ns-website{
  min-height:100svh !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  align-items:start !important;
  justify-items:center !important;
  row-gap:clamp(18px,2.4vw,36px) !important;
  overflow:hidden !important;
}

.ns-website-head{
  justify-self:start !important;
  margin-bottom:0 !important;
}

.ns-website-visual{
  align-self:center !important;
  width:min(780px,74vw,calc(43svh * 1280 / 752)) !important;
  max-width:100% !important;
  max-height:43svh !important;
  margin:0 auto !important;
}

.ns-website-fallback,
.ns-website-visual video{
  max-width:100% !important;
  max-height:100% !important;
}

@media(max-width:900px){
  .ns-website-visual{
    width:min(620px,86vw,calc(41svh * 1280 / 752)) !important;
    max-height:41svh !important;
  }
}

@media(max-width:520px){
  .ns-website{
    row-gap:22px !important;
  }

  .ns-website-visual{
    width:min(420px,92vw,calc(38svh * 1280 / 752)) !important;
    max-height:38svh !important;
  }
}

/* Neutralisierte Sprachfläche — animated MacBook + left aligned copy */
.ns-website-head{
  width:100% !important;
  max-width:none !important;
  justify-self:stretch !important;
  text-align:left !important;
}

.ns-website-head .ns-section-title,
.ns-website-head p{
  text-align:left !important;
}

.ns-website-head p:not(.ns-section-no){
  max-width:760px !important;
}

.ns-website-fallback{
  opacity:1 !important;
  visibility:visible !important;
}

.ns-website-visual video{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) !important;
  backface-visibility:hidden !important;
  will-change:transform !important;
}

@media(max-width:900px){
  .ns-website{
    min-height:100svh !important;
  }

  .ns-website-visual{
    width:min(640px,86vw) !important;
    max-height:44svh !important;
  }
}

@media(max-width:520px){
  article.ns-case p.ns-section-no.ns-section-label,
  .ns-case .ns-section-no,
  .ns-case .ns-section-label{
    font-size:9px !important;
  }

  .ns-website-visual{
    width:min(420px,92vw) !important;
    max-height:38svh !important;
  }
}

/* Neutralisierte Sprachfläche — whole website heading block flush left */
.ns-website{
  justify-items:stretch !important;
  align-items:start !important;
}

.ns-website-head{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  justify-self:stretch !important;
  align-self:start !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  text-align:left !important;
}

.ns-website-head > *{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

.ns-website-head .ns-section-title{
  max-width:none !important;
}

.ns-website-visual{
  justify-self:center !important;
}

/* Neutralisierte Sprachfläche — force website copy to the left edge */
.ns-case .ns-website{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-height:100svh !important;
  padding-left:var(--ns-section-x) !important;
  padding-right:var(--ns-section-x) !important;
}

.ns-case .ns-website-head{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  align-self:flex-start !important;
  margin:0 0 clamp(26px,3.5vw,48px) 0 !important;
  padding:0 !important;
  transform:none !important;
  text-align:left !important;
}

.ns-case .ns-website-head .ns-section-label,
.ns-case .ns-website-head .ns-section-title,
.ns-case .ns-website-head p{
  display:block !important;
  margin-left:0 !important;
  margin-right:0 !important;
  transform:none !important;
  text-align:left !important;
}

.ns-case .ns-website-head .ns-section-title{
  width:100% !important;
  max-width:none !important;
}

.ns-case .ns-website-head p:not(.ns-section-no){
  max-width:760px !important;
}

.ns-case .ns-website-visual{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:520px){
  .ns-case .ns-website{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

/* === Archive project: Raster === */
.raster-row{cursor:pointer}
.raster-case{
  --ra-cream:#e8e2d2;
  --ra-ink:#09090b;
  --ra-blue:#111cf5;
  background:var(--ra-cream);
  color:var(--ra-ink);
  min-height:100vh;
  font-family:var(--mono);
}
.raster-case figure{margin:0;overflow:hidden;background:#f4f1ea}
.raster-case img{display:block;width:100%;height:100%;object-fit:cover}
.raster-pad{padding:clamp(68px,6.6vw,112px) clamp(24px,5.5vw,88px)}
.raster-kicker,.raster-section-no{
  margin:0 0 26px;
  font:500 9px/1.2 var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.raster-section-no.light{color:rgba(232,226,210,.72)}
.raster-hero{
  height:100svh;
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  background:var(--ra-ink);
  color:var(--ra-cream);
  overflow:hidden;
}
.raster-hero-copy{
  padding:clamp(64px,6.5vw,104px) clamp(28px,5.5vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.raster-hero h2,.raster-case h3{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.045em;
}
.raster-hero h2{
  font-size:clamp(58px,7vw,118px);
  line-height:.84;
  margin-bottom:34px;
}
.raster-hero h2 em,.raster-case h3 em{font-weight:400}
.raster-summary{
  max-width:620px;
  margin:0;
  font-size:clamp(13px,1.12vw,18px);
  line-height:1.7;
  color:rgba(232,226,210,.74);
}
.raster-hero-image{
  height:100%;
  min-height:0;
  background:var(--ra-ink)!important;
}
.raster-hero-image img{
  object-fit:contain;
  object-position:right bottom;
  padding:0;
  background:var(--ra-ink);
}

.raster-origin{background:var(--ra-cream)}
.raster-origin-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) repeat(3,minmax(160px,.46fr));
  gap:14px;
  align-items:stretch;
}
.raster-origin-grid>div{
  padding-right:clamp(26px,4vw,68px);
  align-self:center;
}
.raster-origin h3,.raster-title-row h3,.raster-poster-head h3{
  font-size:clamp(46px,5.7vw,98px);
  line-height:.86;
  margin:0 0 26px;
}
.raster-origin p:not(.raster-section-no),
.raster-title-row p,
.raster-poster-head p{
  max-width:620px;
  margin:0;
  font-size:clamp(13px,1.12vw,18px);
  line-height:1.7;
}
.raster-origin-grid figure{
  min-height:520px;
  border:1px solid rgba(9,9,11,.14);
}
.raster-origin-grid figure img{object-fit:contain;padding:16px;background:#fff}

.raster-variants{
  background:var(--ra-ink);
  color:var(--ra-cream);
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.raster-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:clamp(34px,6vw,100px);
  align-items:end;
  margin-bottom:clamp(22px,3vw,44px);
}
.raster-title-row p{color:rgba(232,226,210,.72)}
.raster-variant-strip{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:5260/2741;
  background:var(--ra-ink)!important;
}
.raster-variant-strip img{
  object-fit:contain;
  object-position:center center;
  background:var(--ra-ink);
}

.raster-posters{
  background:var(--ra-cream);
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.raster-poster-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);
  gap:clamp(34px,6vw,100px);
  align-items:start;
  margin-bottom:clamp(18px,2.5vw,34px);
}
.raster-poster-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,1.6vw,22px);
  align-items:center;
  width:min(1080px,88vw);
  margin:0 auto;
}
.raster-poster-grid figure{
  background:#e8e2d2;
  min-height:0;
  height:min(54vh,590px);
}
.raster-poster-grid img{
  object-fit:contain;
  background:#e8e2d2;
}

@media(max-width:900px){
  .raster-hero,.raster-origin-grid,.raster-title-row,.raster-poster-head{
    grid-template-columns:1fr;
  }
  .raster-hero{height:auto;min-height:100svh}
  .raster-hero-image{height:58svh;min-height:auto}
  .raster-origin-grid figure{min-height:420px}
  .raster-variants{min-height:auto}
  .raster-variant-strip{height:auto;min-height:0;aspect-ratio:5260/2741}
  .raster-posters{min-height:auto}
  .raster-poster-grid{grid-template-columns:1fr;width:100%}
  .raster-poster-grid figure{min-height:0;height:auto;aspect-ratio:1108/1572}
}

@media(max-width:520px){
  .raster-pad{padding:76px 18px}
  .raster-hero-copy{padding:104px 18px 70px}
  .raster-hero-image{height:48svh}
  .raster-origin-grid figure{min-height:300px}
}

/* === Selected project: Steinboc === */
.steinboc-card img{object-position:center center}
.sb-case{
  --sb-black:#07080b;
  --sb-cream:#f2efe3;
  --sb-blue:#352cff;
  --sb-orange:#ff6a1a;
  background:var(--sb-black);
  color:var(--sb-cream);
  font-family:var(--mono);
}
.sb-case figure{margin:0;overflow:hidden;background:#111318}
.sb-case img{display:block;width:100%;height:100%;object-fit:cover}
.sb-pad{padding:clamp(72px,6.6vw,112px) clamp(24px,5.5vw,88px)}
.sb-kicker,.sb-section-no{
  margin:0 0 30px;
  font:600 9px/1.2 var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.sb-section-no.light{color:rgba(242,239,227,.72)}
.sb-hero{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);
  background:var(--sb-black);
}
.sb-hero-copy{
  padding:clamp(78px,7vw,118px) clamp(28px,5.5vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.sb-hero h2,.sb-case h3{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.045em;
}
.sb-hero h2{
  font-size:clamp(62px,7.2vw,122px);
  line-height:.82;
  margin-bottom:34px;
}
.sb-hero h2 em,.sb-case h3 em{font-weight:400}
.sb-summary{
  max-width:580px;
  margin:0;
  font-size:clamp(13px,1.12vw,18px);
  line-height:1.72;
  color:rgba(242,239,227,.72);
}
.sb-hero-image{min-height:100svh}
.sb-hero-image img{object-position:center center}
.sb-attitude,
.sb-applications{
  background:var(--sb-cream);
  color:var(--sb-black);
}
.sb-attitude-grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(28px,4.6vw,82px);
  align-items:center;
}
.sb-attitude h3,
.sb-title-row h3,
.sb-poster-head h3,
.sb-photo-head h3,
.sb-application-head h3,
.sb-social-copy h3,
.sb-video-head h3{
  font-size:clamp(48px,5.8vw,98px);
  line-height:.86;
  margin:0 0 26px;
}
.sb-attitude p:not(.sb-section-no),
.sb-title-row p:not(.sb-section-no),
.sb-poster-head p:not(.sb-section-no),
.sb-photo-head p:not(.sb-section-no),
.sb-application-head p:not(.sb-section-no),
.sb-social-copy p:not(.sb-section-no),
.sb-video-head p:not(.sb-section-no){
  max-width:660px;
  margin:0;
  font-size:clamp(13px,1.12vw,18px);
  line-height:1.7;
}
.sb-attitude figure{aspect-ratio:1.92;background:#fff}
.sb-attitude figure img{object-fit:cover}
.sb-system,
.sb-posters,
.sb-photos,
.sb-social,
.sb-videos{
  background:var(--sb-black);
  color:var(--sb-cream);
}
.sb-title-row,
.sb-poster-head,
.sb-photo-head,
.sb-video-head{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(300px,.86fr) minmax(280px,.72fr);
  gap:clamp(24px,4vw,74px);
  align-items:end;
  margin-bottom:clamp(28px,3.5vw,54px);
}
.sb-title-row p:not(.sb-section-no),
.sb-poster-head p:not(.sb-section-no),
.sb-photo-head p:not(.sb-section-no),
.sb-social-copy p:not(.sb-section-no),
.sb-video-head p:not(.sb-section-no){color:rgba(242,239,227,.72)}
.sb-system-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.sb-system-grid figure{
  min-height:360px;
  background:#0c0d12;
}
.sb-system-grid .wide{grid-row:span 2}
.sb-system-grid img{object-fit:cover}
.sb-poster-stage{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:14px;
  align-items:stretch;
}
.sb-poster-mockup{
  min-height:clamp(420px,44vw,720px);
  background:#101116;
}
.sb-poster-mockup img{object-position:center center}
.sb-poster-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.sb-poster-strip figure{
  min-height:0;
  aspect-ratio:1685/2385;
  background:#0b0c10;
}
.sb-poster-strip img{
  object-fit:contain;
  background:#0b0c10;
}
.sb-photo-marquee{
  margin-inline:calc(clamp(24px,5.5vw,88px) * -1);
  overflow:hidden;
}
.sb-photo-track{
  width:max-content;
  display:flex;
  gap:14px;
  animation:sbPhotoDrift 54s linear infinite;
  will-change:transform;
}
.sb-photo-track figure{
  width:clamp(220px,20vw,370px);
  aspect-ratio:3/4;
  flex:0 0 auto;
  background:#101116;
}
.sb-photo-track figure:nth-child(2n){
  width:clamp(260px,23vw,420px);
  aspect-ratio:4/5;
}
.sb-photo-track img{object-position:center center}
@keyframes sbPhotoDrift{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 7px),0,0)}
}
.sb-application-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:clamp(28px,5vw,86px);
  align-items:end;
  margin-bottom:clamp(28px,3.5vw,54px);
}
.sb-application-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.sb-application-grid figure{
  min-height:260px;
  background:#fff;
}
.sb-application-grid .wide{
  grid-column:span 2;
}
.sb-application-grid .tall{
  grid-row:span 2;
}
.sb-application-grid img{object-fit:cover}
.sb-social{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  gap:clamp(28px,5vw,86px);
  align-items:start;
}
.sb-social-copy{
  position:sticky;
  top:88px;
}
.sb-social-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.sb-social-grid figure{
  min-height:330px;
  background:#101116;
}
.sb-social-grid .wide{
  grid-column:1/-1;
  min-height:420px;
}
.sb-video-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.sb-video-card{
  min-height:420px;
  aspect-ratio:16/10;
  position:relative;
  background:#020305;
}
.sb-video-card video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:translateZ(0);
}
.sb-video-card figcaption{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:1;
  padding:7px 9px;
  background:rgba(7,8,11,.72);
  color:var(--sb-cream);
  font:600 9px/1.2 var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .sb-hero,
  .sb-attitude-grid,
  .sb-title-row,
  .sb-poster-head,
  .sb-poster-stage,
  .sb-photo-head,
  .sb-application-head,
  .sb-social,
  .sb-video-head{
    grid-template-columns:1fr;
  }
  .sb-hero{min-height:auto}
  .sb-hero-image{min-height:62svh}
  .sb-social-copy{position:static}
  .sb-system-grid,.sb-poster-strip,.sb-application-grid,.sb-social-grid,.sb-video-grid{grid-template-columns:1fr}
  .sb-system-grid .wide,.sb-application-grid .wide,.sb-social-grid .wide{grid-column:auto;grid-row:auto}
  .sb-application-grid .tall{grid-row:auto}
  .sb-system-grid figure,.sb-application-grid figure,.sb-social-grid figure{min-height:300px}
  .sb-poster-mockup{min-height:360px}
  .sb-video-card{min-height:300px}
}
@media(max-width:520px){
  .sb-pad{padding:64px 18px}
  .sb-hero-copy{padding:94px 18px 46px}
  .sb-hero h2,
  .sb-attitude h3,
  .sb-title-row h3,
  .sb-poster-head h3,
  .sb-photo-head h3,
  .sb-application-head h3,
  .sb-social-copy h3,
  .sb-video-head h3{font-size:clamp(46px,14vw,72px)}
  .sb-hero-image{min-height:54svh}
  .sb-poster-mockup{min-height:280px}
  .sb-photo-marquee{margin-inline:-18px}
  .sb-photo-track{animation-duration:42s}
  .sb-photo-track figure{width:210px}
  .sb-photo-track figure:nth-child(2n){width:240px}
  .sb-video-card{min-height:240px}
}

/* Steinboc: refined flow */
.sb-hero{
  grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);
  min-height:92svh;
}
.sb-hero-copy{
  align-items:center;
  text-align:center;
}
.sb-summary{margin-inline:auto}
.sb-hero-image{
  min-height:92svh;
  display:grid;
  place-items:center;
  padding:clamp(22px,3vw,54px);
  background:#000;
}
.sb-hero-image img{
  width:min(82%,680px);
  height:min(82svh,880px);
  object-fit:contain;
}
.sb-logo-mark{
  min-height:clamp(360px,42vw,680px);
  display:grid;
  place-items:center;
  padding:clamp(38px,6vw,92px);
  background:var(--sb-cream);
}
.sb-logo-mark img{
  width:min(70%,430px);
  height:auto;
  object-fit:contain;
}
.sb-identity-board{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  grid-auto-rows:minmax(230px,auto);
  gap:14px;
}
.sb-identity-board figure{
  min-height:0;
  background:#000;
}
.sb-identity-board img{
  object-fit:contain;
}
.sb-stationery{
  grid-row:span 3;
  min-height:clamp(520px,52vw,780px);
}
.sb-poster-stage{
  display:grid;
  grid-template-columns:1fr;
}
.sb-poster-montage{
  position:relative;
  min-height:min(86svh,920px);
  overflow:hidden;
  background:#06070a;
}
.sb-poster-montage figure{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(10px,1.6vw,24px);
  opacity:0;
  transform:translate3d(7%,0,0) scale(.985);
  animation:sbPosterMontage 20s ease-in-out infinite;
  background:#06070a;
}
.sb-poster-montage figure:nth-child(2){animation-delay:5s}
.sb-poster-montage figure:nth-child(3){animation-delay:10s}
.sb-poster-montage figure:nth-child(4){animation-delay:15s}
.sb-poster-montage img{
  width:100%;
  height:100%;
  object-fit:contain;
}
@keyframes sbPosterMontage{
  0%,18%{opacity:0;transform:translate3d(7%,0,0) scale(.985)}
  23%,43%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  48%,100%{opacity:0;transform:translate3d(-7%,0,0) scale(.985)}
}
.sb-mockup-board{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.sb-mockup-board figure{
  min-height:260px;
  background:#000;
}
.sb-mockup-board img{
  object-fit:contain;
}
.sb-mockup-ski{
  grid-column:1/-1;
  min-height:clamp(300px,35vw,560px);
}
.sb-mockup-board figure:nth-child(2),
.sb-mockup-board figure:nth-child(3){
  grid-column:span 3;
}
.sb-mockup-board figure:nth-child(n+4){
  grid-column:span 2;
}
.sb-social{
  grid-template-columns:minmax(270px,.55fr) minmax(0,1.45fr);
}
.sb-digital-board{
  display:grid;
  grid-template-columns:1.1fr .72fr;
  grid-template-areas:
    "posts phone"
    "site site"
    "video video";
  gap:14px;
}
.sb-digital-board figure{
  background:#000;
}
.sb-digital-board img{object-fit:contain}
.sb-digital-posts{grid-area:posts;min-height:360px}
.sb-digital-phone{grid-area:phone;min-height:360px}
.sb-digital-site{grid-area:site;min-height:clamp(280px,32vw,500px)}
.sb-digital-video{
  grid-area:video;
  min-height:clamp(320px,42vw,680px);
}
.sb-imagevideo{
  min-height:clamp(420px,56vw,820px);
  aspect-ratio:16/9;
}
.sb-final-statement{
  min-height:78svh;
  display:grid;
  place-items:center;
  padding:clamp(70px,9vw,140px) clamp(24px,7vw,110px);
  background:var(--sb-blue);
  color:#fff;
}
.sb-final-statement p{
  max-width:1100px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(52px,8vw,142px);
  line-height:.86;
  letter-spacing:-.045em;
  text-align:center;
}
@media(max-width:900px){
  .sb-hero,
  .sb-identity-board,
  .sb-social,
  .sb-digital-board{
    grid-template-columns:1fr;
  }
  .sb-hero-image{min-height:62svh}
  .sb-hero-image img{height:min(58svh,680px)}
  .sb-stationery{grid-row:auto}
  .sb-mockup-board{grid-template-columns:1fr 1fr}
  .sb-mockup-ski,
  .sb-mockup-board figure:nth-child(n){
    grid-column:auto;
  }
  .sb-mockup-ski{grid-column:1/-1}
  .sb-digital-board{
    grid-template-areas:"posts" "phone" "site" "video";
  }
}
@media(max-width:520px){
  .sb-hero{min-height:auto}
  .sb-hero-copy{text-align:left;align-items:flex-start}
  .sb-hero-image{min-height:50svh;padding:18px}
  .sb-hero-image img{width:100%;height:48svh}
  .sb-logo-mark{min-height:300px}
  .sb-identity-board{grid-auto-rows:minmax(190px,auto)}
  .sb-stationery{min-height:300px}
  .sb-poster-montage{min-height:68svh}
  .sb-mockup-board{grid-template-columns:1fr}
  .sb-mockup-board figure{min-height:220px}
  .sb-digital-posts,
  .sb-digital-phone{min-height:260px}
  .sb-final-statement p{text-align:left}
}

/* Steinboc: first three sections matched to the current art direction */
.sb-case .sb-hero{
  min-height:100svh;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  background:#000;
  color:var(--sb-cream);
}
.sb-case .sb-hero-copy{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:clamp(42px,5vw,88px);
  background:#000;
  text-align:left;
}
.sb-hero-panel{
  width:min(100%,680px);
  padding:clamp(42px,4.8vw,74px) clamp(34px,4.3vw,64px);
  background:#070a0c;
}
.sb-case .sb-kicker{
  margin:0 0 clamp(26px,3vw,44px);
  color:var(--sb-cream);
}
.sb-case .sb-hero h2{
  max-width:560px;
  margin:0;
  color:var(--sb-cream);
  font-size:clamp(78px,7.3vw,140px);
  line-height:.8;
  letter-spacing:-.045em;
  text-align:left;
}
.sb-case .sb-hero h2 em{
  display:block;
  font-style:italic;
}
.sb-case .sb-summary{
  max-width:520px;
  margin:clamp(32px,4vw,58px) 0 0;
  color:rgba(244,239,226,.74);
  text-align:left;
}
.sb-case .sb-hero-image{
  min-height:100svh;
  margin:0;
  padding:0;
  background:#000;
  overflow:hidden;
}
.sb-case .sb-hero-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:100svh;
  object-fit:cover;
  object-position:center center;
}

.sb-case .sb-attitude{
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:clamp(70px,8vw,126px) clamp(34px,6.5vw,118px);
  background:var(--sb-cream);
  color:#050608;
}
.sb-case .sb-attitude-grid{
  display:grid;
  grid-template-columns:minmax(320px,.86fr) minmax(360px,1.14fr);
  align-items:center;
  gap:clamp(42px,10vw,170px);
  width:100%;
}
.sb-attitude-copy{
  max-width:620px;
}
.sb-case .sb-section-no{
  margin:0 0 clamp(40px,5vw,72px);
  font-family:var(--mono);
  font-size:clamp(13px,1.05vw,18px);
  font-weight:800;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.sb-case .sb-attitude h3{
  margin:0;
  color:#050608;
  font-size:clamp(70px,6.1vw,116px);
  line-height:.86;
  letter-spacing:-.045em;
}
.sb-case .sb-attitude h3 em{
  display:block;
  font-style:italic;
}
.sb-case .sb-attitude p:not(.sb-section-no){
  max-width:580px;
  margin:clamp(34px,4vw,58px) 0 0;
  color:#050608;
}
.sb-case .sb-logo-mark{
  min-height:0;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  background:transparent;
  aspect-ratio:auto;
}
.sb-case .sb-logo-mark img{
  width:min(42vw,560px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.sb-case .sb-system{
  min-height:100svh;
  padding:clamp(54px,5.5vw,94px) clamp(28px,5.2vw,90px);
  background:#000;
  color:var(--sb-cream);
}
.sb-system-head{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);
  align-items:end;
  gap:clamp(42px,11vw,190px);
  margin:0 0 clamp(30px,3.2vw,52px);
}
.sb-system-title-card{
  width:min(100%,690px);
  padding:clamp(38px,4.2vw,66px) clamp(34px,4.6vw,72px);
  background:#070a0c;
}
.sb-system-title-card .sb-section-no{
  color:rgba(244,239,226,.82);
  margin-bottom:clamp(24px,2.8vw,42px);
}
.sb-case .sb-system h3{
  margin:0;
  color:var(--sb-cream);
  font-size:clamp(66px,5.7vw,112px);
  line-height:.82;
  letter-spacing:-.045em;
}
.sb-case .sb-system h3 em{
  display:block;
  font-style:italic;
}
.sb-system-copy{
  max-width:780px;
  margin:0;
  color:var(--sb-cream);
}
.sb-system-collage{
  margin:0;
  background:#000;
}
.sb-system-collage img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

@media(max-width:920px){
  .sb-case .sb-hero,
  .sb-case .sb-attitude-grid,
  .sb-system-head{
    grid-template-columns:1fr;
  }
  .sb-case .sb-hero-copy{
    min-height:auto;
    place-items:start;
    padding:92px 22px 30px;
  }
  .sb-hero-panel{
    padding:0;
    background:transparent;
  }
  .sb-case .sb-hero-image,
  .sb-case .sb-hero-image img{
    min-height:62svh;
  }
  .sb-case .sb-attitude{
    min-height:auto;
  }
  .sb-case .sb-logo-mark{
    justify-content:start;
  }
  .sb-case .sb-logo-mark img{
    width:min(70vw,440px);
  }
  .sb-system-head{
    align-items:start;
    gap:32px;
  }
}

@media(max-width:560px){
  .sb-case .sb-hero h2,
  .sb-case .sb-attitude h3,
  .sb-case .sb-system h3{
    font-size:clamp(56px,18vw,84px);
  }
  .sb-case .sb-summary,
  .sb-case .sb-attitude p:not(.sb-section-no),
  .sb-system-copy{
    font-size:16px;
    line-height:1.6;
  }
  .sb-case .sb-attitude,
  .sb-case .sb-system{
    padding:72px 20px;
  }
  .sb-system-title-card{
    padding:0;
    background:transparent;
  }
}

/* Steinboc corrections: remove panels, reduce labels, tighten poster layout */
.sb-case .sb-hero{
  grid-template-columns:1fr 1fr;
}
.sb-case .sb-hero-copy{
  justify-items:start;
  padding:clamp(72px,7vw,118px) clamp(24px,5vw,88px);
}
.sb-hero-panel{
  width:min(100%,620px);
  padding:0;
  background:transparent;
}
.sb-case .sb-kicker,
.sb-case .sb-section-no{
  font-size:9px;
  line-height:1.2;
  letter-spacing:.18em;
}
.sb-case .sb-kicker{
  margin-bottom:34px;
}
.sb-case .sb-section-no{
  margin-bottom:34px;
}
.sb-case .sb-hero h2{
  font-size:clamp(62px,6.4vw,110px);
}
.sb-case .sb-summary{
  max-width:520px;
  margin-top:36px;
}

.sb-case .sb-attitude{
  padding:clamp(78px,7vw,118px) clamp(28px,5.5vw,88px);
}
.sb-case .sb-attitude-grid{
  grid-template-columns:minmax(320px,.82fr) minmax(280px,1fr);
  gap:clamp(40px,8vw,126px);
}
.sb-case .sb-attitude h3,
.sb-case .sb-system h3,
.sb-case .sb-poster-head h3{
  font-size:clamp(46px,5vw,82px);
  line-height:.9;
  letter-spacing:-.045em;
}
.sb-case .sb-attitude p:not(.sb-section-no),
.sb-system-copy,
.sb-case .sb-poster-head p:not(.sb-section-no){
  font-size:clamp(13px,1.12vw,18px);
  line-height:1.7;
}
.sb-case .sb-logo-mark img{
  width:auto;
  height:clamp(250px,31vw,430px);
}

.sb-system-head{
  grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);
  align-items:start;
  gap:clamp(42px,10vw,160px);
  margin-bottom:clamp(34px,4vw,64px);
}
.sb-system-title-card{
  width:auto;
  padding:0;
  background:transparent;
}
.sb-system-title-card .sb-section-no{
  margin-bottom:34px;
}
.sb-system-copy{
  justify-self:end;
  max-width:680px;
  margin-top:43px;
}

.sb-case .sb-posters{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(300px,.42fr) minmax(520px,.58fr);
  align-items:center;
  gap:clamp(34px,4.8vw,78px);
  padding:clamp(48px,5vw,76px) clamp(28px,5vw,86px);
  background:#000;
  color:var(--sb-cream);
}
.sb-case .sb-poster-head{
  display:block;
  margin:0;
  text-align:left;
}
.sb-case .sb-poster-head h3{
  max-width:580px;
  margin:0 0 clamp(28px,3vw,42px);
  text-align:left;
}
.sb-case .sb-poster-head p:not(.sb-section-no){
  max-width:560px;
  margin:0;
  text-align:left;
  color:rgba(242,239,227,.72);
}
.sb-case .sb-poster-stage{
  display:block;
  min-width:0;
}
.sb-case .sb-poster-montage{
  height:min(84svh,880px);
  min-height:620px;
  background:#000;
}
.sb-case .sb-poster-montage figure{
  background:#000;
  padding:0;
  opacity:0;
  transform:translate3d(4%,0,0) scale(.995);
  animation:sbPosterMontageVisible 16s ease-in-out infinite;
}
.sb-case .sb-poster-montage figure:nth-child(2){animation-delay:4s}
.sb-case .sb-poster-montage figure:nth-child(3){animation-delay:8s}
.sb-case .sb-poster-montage figure:nth-child(4){animation-delay:12s}
@keyframes sbPosterMontageVisible{
  0%,22%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  28%,100%{opacity:0;transform:translate3d(-4%,0,0) scale(.995)}
}
.sb-case .sb-poster-montage img{
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:920px){
  .sb-case .sb-hero,
  .sb-case .sb-attitude-grid,
  .sb-system-head,
  .sb-case .sb-posters{
    grid-template-columns:1fr;
  }
  .sb-case .sb-logo-mark img{
    width:auto;
    height:min(46vw,300px);
  }
  .sb-system-copy{
    justify-self:start;
    margin-top:0;
  }
  .sb-case .sb-poster-montage{
    height:62svh;
    min-height:420px;
  }
}

/* Steinboc exact correction pass */
.sb-case .sb-logo-mark{
  justify-content:center;
  align-self:center;
}
.sb-case .sb-logo-mark img{
  width:auto;
  height:min(24vw,300px);
  max-height:300px;
}
.sb-system-head{
  align-items:start;
}
.sb-system-copy{
  margin-top:calc(34px + 1.2em);
}
.sb-case .sb-posters{
  grid-template-columns:minmax(300px,.36fr) minmax(620px,.64fr);
  align-items:center;
  min-height:100svh;
}
.sb-case .sb-poster-montage{
  position:relative;
  display:block;
  height:min(78svh,760px);
  min-height:560px;
  overflow:visible;
  background:#000;
}
.sb-case .sb-poster-montage figure,
.sb-case .sb-poster-montage figure:nth-child(n){
  position:absolute;
  inset:auto;
  display:block;
  height:88%;
  width:auto;
  aspect-ratio:1322/2200;
  opacity:1;
  transform:none;
  animation:none;
  padding:0;
  background:#000;
}
.sb-case .sb-poster-montage figure:nth-child(1){
  left:0;
  top:7%;
  z-index:1;
}
.sb-case .sb-poster-montage figure:nth-child(2){
  left:20%;
  top:0;
  z-index:3;
}
.sb-case .sb-poster-montage figure:nth-child(3){
  left:42%;
  top:6%;
  z-index:2;
}
.sb-case .sb-poster-montage figure:nth-child(4){
  right:0;
  top:2%;
  z-index:4;
}
.sb-case .sb-poster-montage img{
  display:block;
  width:auto;
  height:100%;
  object-fit:contain;
}

@media(max-width:920px){
  .sb-case .sb-logo-mark img{
    height:min(44vw,260px);
  }
  .sb-system-copy{
    margin-top:0;
  }
  .sb-case .sb-posters{
    grid-template-columns:1fr;
  }
  .sb-case .sb-poster-montage{
    height:62svh;
    min-height:430px;
  }
  .sb-case .sb-poster-montage figure,
  .sb-case .sb-poster-montage figure:nth-child(n){
    height:74%;
  }
}

/* Steinboc: logo alignment and poster loop */
.sb-case .sb-logo-mark{
  justify-content:end;
  padding-right:clamp(18px,5vw,96px);
}
.sb-case .sb-logo-mark img{
  height:min(23vw,290px);
  max-height:290px;
}
.sb-case .sb-posters{
  grid-template-columns:minmax(300px,.37fr) minmax(560px,.63fr);
}
.sb-case .sb-poster-stage{
  justify-self:end;
  width:min(100%,940px);
}
.sb-case .sb-poster-montage{
  position:relative;
  width:100%;
  height:min(78svh,800px);
  min-height:560px;
  overflow:hidden;
  background:#000;
}
.sb-case .sb-poster-montage figure,
.sb-case .sb-poster-montage figure:nth-child(n){
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  opacity:0;
  transform:none;
  animation:sbPosterGifLoop 16s linear infinite;
  padding:0;
  background:#000;
}
.sb-case .sb-poster-montage figure:nth-child(1){animation-delay:0s}
.sb-case .sb-poster-montage figure:nth-child(2){animation-delay:4s}
.sb-case .sb-poster-montage figure:nth-child(3){animation-delay:8s}
.sb-case .sb-poster-montage figure:nth-child(4){animation-delay:12s}
.sb-case .sb-poster-montage img{
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
@keyframes sbPosterGifLoop{
  0%,24.99%{opacity:1}
  25%,100%{opacity:0}
}

@media(max-width:920px){
  .sb-case .sb-logo-mark{
    justify-content:start;
    padding-right:0;
  }
  .sb-case .sb-poster-stage{
    justify-self:stretch;
    width:100%;
  }
}

/* Steinboc: force poster mockups visible on the right */
.sb-case .sb-posters{
  grid-template-columns:minmax(320px,.35fr) minmax(640px,.65fr);
  align-items:center;
  column-gap:clamp(42px,5vw,96px);
  overflow:hidden;
}
.sb-case .sb-poster-stage{
  justify-self:end;
  align-self:center;
  width:min(58vw,980px);
  min-width:640px;
  display:block;
}
.sb-case .sb-poster-montage{
  position:relative;
  width:100%;
  height:min(74svh,760px);
  min-height:560px;
  overflow:hidden;
  background:#000;
  isolation:isolate;
}
.sb-case .sb-poster-montage figure,
.sb-case .sb-poster-montage figure:nth-child(n){
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  background:#000;
  opacity:0;
  transform:translate3d(4%,0,0) scale(.985);
  animation:sbPosterMockupLoop 16s linear infinite both;
  will-change:opacity,transform;
}
.sb-case .sb-poster-montage figure:nth-child(1){animation-delay:0s}
.sb-case .sb-poster-montage figure:nth-child(2){animation-delay:-12s}
.sb-case .sb-poster-montage figure:nth-child(3){animation-delay:-8s}
.sb-case .sb-poster-montage figure:nth-child(4){animation-delay:-4s}
.sb-case .sb-poster-montage img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
@keyframes sbPosterMockupLoop{
  0%,20%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
  24%,100%{
    opacity:0;
    transform:translate3d(-4%,0,0) scale(.985);
  }
}

@media(max-width:920px){
  .sb-case .sb-posters{
    grid-template-columns:1fr;
    overflow:visible;
  }
  .sb-case .sb-poster-stage{
    width:100%;
    min-width:0;
    justify-self:stretch;
  }
  .sb-case .sb-poster-montage{
    height:64svh;
    min-height:430px;
  }
}

@media(prefers-reduced-motion:reduce){
  .sb-case .sb-poster-montage figure,
  .sb-case .sb-poster-montage figure:nth-child(n){
    animation:none;
    opacity:0;
    transform:none;
  }
  .sb-case .sb-poster-montage figure:first-child{
    opacity:1;
  }
}

/* Steinboc: visible moving poster mockup belt */
.sb-case .sb-posters{
  grid-template-columns:minmax(320px,.34fr) minmax(720px,.66fr);
}
.sb-case .sb-poster-stage{
  width:min(64vw,1120px);
  min-width:720px;
  justify-self:end;
}
.sb-case .sb-poster-montage{
  height:min(72svh,720px);
  min-height:520px;
  overflow:hidden;
}
.sb-case .sb-poster-montage figure,
.sb-case .sb-poster-montage figure:nth-child(n){
  inset:auto;
  top:50%;
  left:0;
  width:min(42vw,520px);
  height:92%;
  display:block;
  opacity:1;
  background:transparent;
  animation:sbPosterMockupBelt 20s linear infinite both;
  will-change:transform;
}
.sb-case .sb-poster-montage figure:nth-child(1){animation-delay:0s}
.sb-case .sb-poster-montage figure:nth-child(2){animation-delay:-5s}
.sb-case .sb-poster-montage figure:nth-child(3){animation-delay:-10s}
.sb-case .sb-poster-montage figure:nth-child(4){animation-delay:-15s}
.sb-case .sb-poster-montage img{
  width:100%;
  height:100%;
  object-fit:contain;
}
@keyframes sbPosterMockupBelt{
  0%{transform:translate3d(125%, -50%, 0) scale(.94)}
  14%{transform:translate3d(78%, -50%, 0) scale(.98)}
  32%{transform:translate3d(34%, -50%, 0) scale(1.04)}
  50%{transform:translate3d(-8%, -50%, 0) scale(1)}
  68%{transform:translate3d(-50%, -50%, 0) scale(.98)}
  100%{transform:translate3d(-118%, -50%, 0) scale(.94)}
}

@media(max-width:920px){
  .sb-case .sb-posters{
    grid-template-columns:1fr;
  }
  .sb-case .sb-poster-stage{
    width:100%;
    min-width:0;
  }
  .sb-case .sb-poster-montage figure,
  .sb-case .sb-poster-montage figure:nth-child(n){
    width:min(76vw,420px);
  }
}

/* Steinboc: fixed-position poster GIF */
.sb-case .sb-posters{
  grid-template-columns:minmax(320px,.38fr) minmax(560px,.62fr);
  align-items:center;
}
.sb-case .sb-poster-stage{
  justify-self:end;
  align-self:center;
  width:min(48vw,760px);
  min-width:560px;
}
.sb-case .sb-poster-montage{
  position:relative;
  width:100%;
  height:min(74svh,760px);
  min-height:540px;
  overflow:hidden;
  background:#000;
}
.sb-case .sb-poster-montage figure,
.sb-case .sb-poster-montage figure:nth-child(n){
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  background:#000;
  opacity:0;
  transform:none;
  animation:sbPosterFixedGif 16s steps(1,end) infinite both;
  will-change:opacity;
}
.sb-case .sb-poster-montage figure:nth-child(1){animation-delay:0s}
.sb-case .sb-poster-montage figure:nth-child(2){animation-delay:-12s}
.sb-case .sb-poster-montage figure:nth-child(3){animation-delay:-8s}
.sb-case .sb-poster-montage figure:nth-child(4){animation-delay:-4s}
.sb-case .sb-poster-montage img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
@keyframes sbPosterFixedGif{
  0%,24.999%{opacity:1}
  25%,100%{opacity:0}
}

@media(max-width:920px){
  .sb-case .sb-posters{
    grid-template-columns:1fr;
  }
  .sb-case .sb-poster-stage{
    width:100%;
    min-width:0;
    justify-self:stretch;
  }
  .sb-case .sb-poster-montage{
    height:64svh;
    min-height:430px;
  }
}

/* Steinboc: one fixed poster spot, images switch in place */
.sb-case .sb-fixed-poster-gif{
  position:relative !important;
  width:100% !important;
  height:min(74svh,760px) !important;
  min-height:540px !important;
  overflow:hidden !important;
  background:#000 !important;
}
.sb-case .sb-fixed-poster-gif figure,
.sb-case .sb-fixed-poster-gif figure:nth-child(n){
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#000 !important;
  opacity:0 !important;
  transform:none !important;
  animation:none !important;
  transition:opacity .22s ease !important;
  z-index:1 !important;
}
.sb-case .sb-fixed-poster-gif figure.is-active{
  opacity:1 !important;
  z-index:3 !important;
}
.sb-case .sb-fixed-poster-gif figure.is-leaving{
  opacity:1 !important;
  z-index:2 !important;
}
.sb-case .sb-fixed-poster-gif img{
  display:block !important;
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
}

/* Steinboc: poster scenes like the reference, fixed switch */
.sb-case .sb-posters{
  grid-template-columns:minmax(320px,40vw) minmax(0,60vw) !important;
  gap:0 !important;
  padding:0 !important;
  min-height:100svh !important;
  overflow:hidden !important;
}
.sb-case .sb-poster-head{
  align-self:center !important;
  padding:clamp(44px,6vw,96px) clamp(28px,5vw,76px) !important;
  max-width:620px !important;
}
.sb-case .sb-poster-stage{
  width:100% !important;
  min-width:0 !important;
  height:100svh !important;
  justify-self:stretch !important;
  align-self:stretch !important;
}
.sb-case .sb-fixed-poster-gif{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  background:#000 !important;
}
.sb-case .sb-fixed-poster-gif figure,
.sb-case .sb-fixed-poster-gif figure:nth-child(n){
  background:#000 !important;
}
.sb-case .sb-fixed-poster-gif img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Steinboc: running mockup and photography rows */
.sb-case .sb-applications{
  display:block !important;
  overflow:hidden !important;
}
.sb-case .sb-running-showcase{
  display:grid !important;
  gap:14px !important;
  margin-inline:calc(clamp(24px,5.5vw,88px) * -1) !important;
  overflow:hidden !important;
}
.sb-case .sb-running-row{
  overflow:hidden !important;
  width:100% !important;
}
.sb-case .sb-running-track{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  width:max-content !important;
  animation:sbRunLeft 46s linear infinite !important;
  will-change:transform !important;
}
.sb-case .sb-running-row.reverse .sb-running-track{
  animation-name:sbRunRight !important;
  animation-duration:52s !important;
}
.sb-case .sb-running-track figure{
  flex:0 0 auto !important;
  width:clamp(190px,18vw,340px) !important;
  height:clamp(150px,16vw,290px) !important;
  margin:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
.sb-case .sb-running-track figure.wide{
  width:clamp(300px,30vw,560px) !important;
}
.sb-case .sb-running-track figure.tall{
  width:clamp(150px,14vw,250px) !important;
  height:clamp(210px,20vw,360px) !important;
}
.sb-case .sb-running-track figure.square{
  width:clamp(190px,17vw,310px) !important;
  height:clamp(190px,17vw,310px) !important;
}
.sb-case .sb-running-track figure.ski{
  width:clamp(250px,28vw,520px) !important;
  height:clamp(180px,18vw,330px) !important;
}
.sb-case .sb-running-track img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.sb-case .sb-photo-runner{
  display:grid !important;
  gap:14px !important;
  margin-top:clamp(22px,3vw,46px) !important;
}
.sb-case .sb-running-row.photos .sb-running-track{
  animation-duration:58s !important;
}
.sb-case .sb-running-row.photos.reverse .sb-running-track{
  animation-duration:64s !important;
}
.sb-case .sb-running-row.photos figure{
  width:clamp(170px,16vw,300px) !important;
  height:clamp(190px,18vw,340px) !important;
}
.sb-case .sb-running-row.photos figure.wide{
  width:clamp(280px,28vw,520px) !important;
}
.sb-case .sb-running-row.photos img{
  object-fit:cover !important;
}
@keyframes sbRunLeft{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 7px),0,0)}
}
@keyframes sbRunRight{
  from{transform:translate3d(calc(-50% - 7px),0,0)}
  to{transform:translate3d(0,0,0)}
}
@media(max-width:720px){
  .sb-case .sb-running-showcase{
    margin-inline:-18px !important;
  }
  .sb-case .sb-running-track figure{
    width:220px !important;
    height:170px !important;
  }
  .sb-case .sb-running-track figure.wide{
    width:320px !important;
  }
  .sb-case .sb-running-track figure.tall{
    width:170px !important;
    height:240px !important;
  }
  .sb-case .sb-running-track figure.square{
    width:210px !important;
    height:210px !important;
  }
  .sb-case .sb-running-track figure.ski{
    width:330px !important;
    height:210px !important;
  }
  .sb-case .sb-running-row.photos figure{
    width:190px !important;
    height:230px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .sb-case .sb-running-track{
    animation:none !important;
  }
}

@media(max-width:920px){
  .sb-case .sb-posters{
    grid-template-columns:1fr !important;
  }
  .sb-case .sb-poster-stage{
    height:68svh !important;
  }
}

/* Steinboc: archive rows without artificial image frames */
.sb-case .sb-running-showcase{
  gap:clamp(12px,1.2vw,18px) !important;
}
.sb-case .sb-running-track{
  align-items:center !important;
  gap:clamp(12px,1.35vw,22px) !important;
}
.sb-case .sb-running-track figure,
.sb-case .sb-running-track figure.wide,
.sb-case .sb-running-track figure.tall,
.sb-case .sb-running-track figure.square,
.sb-case .sb-running-track figure.ski,
.sb-case .sb-running-row.photos figure,
.sb-case .sb-running-row.photos figure.wide{
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.sb-case .sb-running-track img{
  display:block !important;
  width:auto !important;
  height:clamp(185px,16vw,295px) !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.sb-case .sb-running-track figure.tall img,
.sb-case .sb-running-track figure.square img{
  height:clamp(185px,16vw,295px) !important;
}
.sb-case .sb-running-track figure.wide img{
  height:clamp(185px,16vw,295px) !important;
}
.sb-case .sb-running-track figure.ski img{
  height:clamp(215px,20vw,370px) !important;
}
.sb-case .sb-running-row.photos img{
  height:clamp(180px,16vw,300px) !important;
  object-fit:contain !important;
}
.sb-case .sb-running-row.photos figure.wide img{
  height:clamp(180px,16vw,300px) !important;
}

/* Steinboc: digital devices side by side */
.sb-case .sb-digital-devices{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(150px,.36fr) !important;
  grid-template-areas:"laptop phone" !important;
  align-items:end !important;
  gap:clamp(34px,7vw,120px) !important;
  margin-top:clamp(34px,5vw,78px) !important;
}
.sb-case .sb-digital-devices figure{
  background:transparent !important;
}
.sb-case .sb-digital-laptop{
  grid-area:laptop !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
}
.sb-case .sb-digital-laptop video{
  display:block;
  width:100%;
  height:auto;
  max-height:clamp(360px,38vw,650px);
  object-fit:contain;
  background:#000;
}
.sb-case .sb-digital-iphone-video{
  grid-area:phone !important;
  justify-self:center;
  position:relative;
  width:min(230px,18vw);
  min-height:0 !important;
  padding:7px;
  border-radius:34px;
  background:#050505 !important;
  box-shadow:0 18px 48px rgba(0,0,0,.45);
}
.sb-case .sb-digital-iphone-video::before{
  content:"";
  position:absolute;
  z-index:2;
  top:12px;
  left:50%;
  width:36%;
  height:18px;
  border-radius:999px;
  background:#050505;
  transform:translateX(-50%);
}
.sb-case .sb-digital-iphone-video video{
  display:block;
  width:100%;
  aspect-ratio:9/19.5;
  height:auto;
  object-fit:cover;
  border-radius:27px;
  background:#111;
}
.sb-case .sb-digital-devices figcaption{
  margin-top:10px;
  color:rgba(242,238,226,.68);
}

@media(max-width:720px){
  .sb-case .sb-running-track img,
  .sb-case .sb-running-track figure.tall img,
  .sb-case .sb-running-track figure.square img,
  .sb-case .sb-running-track figure.ski img,
  .sb-case .sb-running-track figure.wide img,
  .sb-case .sb-running-row.photos img,
  .sb-case .sb-running-row.photos figure.wide img{
    height:190px !important;
  }
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "laptop"
      "phone" !important;
    align-items:center !important;
  }
  .sb-case .sb-digital-iphone-video{
    width:min(220px,58vw);
  }
}

/* Steinboc: digitale Anwendung wie im Referenz-Screenshot */
.sb-case .sb-social{
  grid-template-columns:minmax(300px,.38fr) minmax(0,1.62fr) !important;
  align-items:center !important;
  min-height:100svh !important;
  overflow:hidden !important;
}
.sb-case .sb-social-copy{
  align-self:center !important;
  max-width:520px !important;
}
.sb-case .sb-digital-devices{
  display:grid !important;
  grid-template-columns:minmax(560px,1fr) minmax(220px,300px) !important;
  grid-template-areas:"laptop phone" !important;
  align-items:end !important;
  justify-self:center !important;
  width:min(100%,1180px) !important;
  gap:clamp(28px,4vw,70px) !important;
  margin-top:0 !important;
}
.sb-case .sb-digital-laptop,
.sb-case .sb-digital-iphone-video{
  position:relative !important;
}
.sb-case .sb-digital-laptop video{
  width:100% !important;
  height:auto !important;
  max-height:min(62svh,720px) !important;
  object-fit:contain !important;
}
.sb-case .sb-digital-iphone-video{
  width:clamp(215px,16vw,300px) !important;
  align-self:end !important;
  margin-bottom:clamp(8px,2.5vw,36px) !important;
}
.sb-case .sb-digital-devices figcaption{
  position:absolute !important;
  z-index:3 !important;
  left:clamp(14px,1.5vw,26px) !important;
  bottom:clamp(12px,1.2vw,22px) !important;
  margin:0 !important;
  color:#f2eee2 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.9) !important;
}
.sb-case .sb-digital-iphone-video figcaption{
  left:14px !important;
  bottom:18px !important;
  font-size:10px !important;
}

@media(max-width:900px){
  .sb-case .sb-social{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    overflow:visible !important;
  }
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "laptop"
      "phone" !important;
    width:100% !important;
    justify-items:center !important;
  }
  .sb-case .sb-digital-laptop video{
    max-height:none !important;
  }
}

/* Steinboc: digitale Anwendung 1:1 wie Referenz mit Laptop + Handy */
.sb-case .sb-social{
  display:grid !important;
  grid-template-columns:minmax(340px,.42fr) minmax(0,.58fr) !important;
  grid-template-rows:auto 1fr !important;
  min-height:100svh !important;
  padding:clamp(70px,7vw,118px) clamp(34px,6vw,106px) clamp(34px,4vw,68px) !important;
  gap:clamp(24px,3vw,46px) clamp(52px,7vw,132px) !important;
  background:#050607 !important;
  overflow:hidden !important;
}

.sb-case .sb-social-copy{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:minmax(340px,.42fr) minmax(0,.58fr) !important;
  column-gap:clamp(52px,7vw,132px) !important;
  align-items:center !important;
  width:100% !important;
  max-width:none !important;
}

.sb-case .sb-social-copy .sb-section-no{
  grid-column:1 !important;
  margin:0 0 clamp(14px,1.4vw,24px) !important;
}

.sb-case .sb-social-copy h3{
  grid-column:1 !important;
  max-width:620px !important;
  margin:0 !important;
  font-size:clamp(70px,7.2vw,148px) !important;
  line-height:.83 !important;
}

.sb-case .sb-social-copy p:not(.sb-section-no){
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  align-self:center !important;
  max-width:660px !important;
  margin:0 !important;
}

.sb-case .sb-digital-devices{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:minmax(620px,.72fr) minmax(220px,.28fr) !important;
  grid-template-areas:"laptop phone" !important;
  align-items:end !important;
  justify-items:center !important;
  justify-self:center !important;
  width:100% !important;
  max-width:1360px !important;
  margin-top:clamp(14px,1.8vw,30px) !important;
  gap:clamp(46px,8vw,148px) !important;
}

.sb-case .sb-digital-laptop{
  grid-area:laptop !important;
  width:100% !important;
  max-width:980px !important;
  background:transparent !important;
}

.sb-case .sb-digital-laptop video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:min(53svh,620px) !important;
  object-fit:contain !important;
  background:#000 !important;
}

.sb-case .sb-digital-iphone-video{
  grid-area:phone !important;
  width:clamp(210px,14vw,280px) !important;
  align-self:end !important;
  margin:0 0 clamp(14px,2.5vw,44px) !important;
  background:#050505 !important;
}

.sb-case .sb-digital-iphone-video video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:min(46svh,560px) !important;
  object-fit:contain !important;
}

@media(max-width:900px){
  .sb-case .sb-social,
  .sb-case .sb-social-copy,
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    grid-template-areas:none !important;
  }

  .sb-case .sb-social-copy p:not(.sb-section-no),
  .sb-case .sb-social-copy h3,
  .sb-case .sb-social-copy .sb-section-no{
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .sb-case .sb-digital-laptop,
  .sb-case .sb-digital-iphone-video{
    grid-area:auto !important;
    width:100% !important;
    max-width:720px !important;
    margin:0 auto !important;
  }
}

/* Steinboc: digitale Anwendung exakt wie Referenz, ohne Labels und ohne Anschnitt */
.sb-case .sb-social{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  min-height:100svh !important;
  padding:clamp(54px,5.5vw,92px) clamp(34px,5.8vw,96px) clamp(28px,3.2vw,54px) !important;
  gap:clamp(22px,2.8vw,42px) !important;
  background:#050607 !important;
  overflow:hidden !important;
}

.sb-case .sb-social-copy{
  display:grid !important;
  grid-template-columns:minmax(360px,42vw) minmax(420px,1fr) !important;
  align-items:center !important;
  column-gap:clamp(56px,8vw,150px) !important;
  width:100% !important;
  max-width:1400px !important;
  justify-self:center !important;
  margin:0 !important;
}

.sb-case .sb-social-copy .sb-section-no{
  grid-column:1 !important;
  grid-row:1 !important;
  margin:0 0 clamp(12px,1.2vw,22px) !important;
  font-size:clamp(13px,1vw,17px) !important;
  line-height:1 !important;
}

.sb-case .sb-social-copy h3{
  grid-column:1 !important;
  grid-row:2 !important;
  margin:0 !important;
  max-width:620px !important;
  font-size:clamp(78px,7.4vw,140px) !important;
  line-height:.84 !important;
}

.sb-case .sb-social-copy p:not(.sb-section-no){
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  align-self:center !important;
  max-width:680px !important;
  margin:0 !important;
}

.sb-case .sb-digital-devices{
  display:grid !important;
  grid-template-columns:minmax(640px,880px) minmax(210px,270px) !important;
  grid-template-areas:"laptop phone" !important;
  align-items:center !important;
  justify-content:center !important;
  justify-items:center !important;
  width:100% !important;
  max-width:1320px !important;
  margin:0 auto !important;
  gap:clamp(72px,10vw,170px) !important;
  transform:none !important;
}

.sb-case .sb-digital-laptop,
.sb-case .sb-digital-iphone-video{
  position:relative !important;
  display:block !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  margin:0 !important;
  transform:none !important;
}

.sb-case .sb-digital-laptop{
  grid-area:laptop !important;
  width:min(100%,880px) !important;
}

.sb-case .sb-digital-laptop video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:52svh !important;
  object-fit:contain !important;
  background:#000 !important;
  transform:none !important;
}

.sb-case .sb-digital-iphone-video{
  grid-area:phone !important;
  width:clamp(220px,15vw,270px) !important;
  align-self:center !important;
}

.sb-case .sb-digital-iphone-video video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:52svh !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
}

.sb-case .sb-digital-devices figcaption{
  display:none !important;
}

@media(max-width:980px){
  .sb-case .sb-social{
    min-height:auto !important;
    overflow:visible !important;
  }

  .sb-case .sb-social-copy,
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    grid-template-areas:none !important;
  }

  .sb-case .sb-social-copy .sb-section-no,
  .sb-case .sb-social-copy h3,
  .sb-case .sb-social-copy p:not(.sb-section-no){
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .sb-case .sb-digital-laptop,
  .sb-case .sb-digital-iphone-video{
    grid-area:auto !important;
    width:min(100%,760px) !important;
  }
}

/* Steinboc precise final fixes: only requested sections */
.sb-case .sb-social-copy .sb-section-no,
.sb-case .sb-video-head .sb-section-no{
  font-size:clamp(7px,.48vw,9px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  margin-bottom:clamp(8px,.75vw,12px) !important;
}

.sb-case .sb-digital-devices{
  width:min(calc(100% - clamp(96px,8vw,160px)),1120px) !important;
  max-width:1120px !important;
  display:flex !important;
  justify-content:center !important;
  justify-items:center !important;
  align-items:flex-end !important;
  gap:clamp(22px,3vw,44px) !important;
  margin:clamp(78px,6.4vw,112px) auto 0 !important;
  transform:none !important;
}

.sb-case .sb-digital-laptop{
  flex:0 1 760px !important;
  width:min(760px,70vw) !important;
  justify-self:auto !important;
}

.sb-case .sb-digital-iphone-video{
  flex:0 0 clamp(190px,13vw,230px) !important;
  width:clamp(190px,13vw,230px) !important;
  justify-self:auto !important;
}

.sb-case .sb-video-head{
  row-gap:0 !important;
  align-items:start !important;
}

.sb-case .sb-video-head h3{
  font-weight:300 !important;
}

.sb-case .sb-video-head p:not(.sb-section-no){
  align-self:start !important;
  padding-top:0 !important;
}

.sb-case .sb-imagevideo{
  width:min(calc(100% - clamp(96px,8vw,160px)),1380px) !important;
  max-width:1380px !important;
}

.sb-case .sb-imagevideo video{
  max-height:64svh !important;
}

.sb-case .sb-final-statement{
  width:calc(100% - clamp(76px,4vw,96px)) !important;
  min-height:clamp(260px,22vw,420px) !important;
  padding:clamp(48px,4.8vw,86px) clamp(54px,7vw,142px) !important;
}

.sb-case .sb-final-statement p{
  max-width:980px !important;
  font-size:clamp(34px,4.1vw,76px) !important;
  line-height:.92 !important;
}

@media(max-width:980px){
  .sb-case .sb-digital-devices{
    width:calc(100% - 32px) !important;
    flex-direction:column !important;
    align-items:center !important;
    margin-top:42px !important;
  }

  .sb-case .sb-digital-laptop{
    width:min(100%,760px) !important;
  }

  .sb-case .sb-digital-iphone-video{
    width:min(62vw,220px) !important;
  }

  .sb-case .sb-imagevideo{
    width:calc(100% - 32px) !important;
  }

  .sb-case .sb-imagevideo video{
    max-height:58svh !important;
  }
}

/* Steinboc: finale Korrektur digitale Anwendung */
.sb-case .sb-social{
  grid-template-rows:max-content max-content !important;
  align-content:center !important;
  min-height:100svh !important;
  padding:clamp(48px,4.8vw,82px) clamp(36px,5.5vw,96px) clamp(48px,4vw,76px) !important;
  row-gap:clamp(34px,4.4vw,74px) !important;
  overflow:visible !important;
}

.sb-case .sb-social-copy{
  align-items:start !important;
}

.sb-case .sb-social-copy .sb-section-no{
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.22em !important;
  margin:0 0 16px !important;
}

.sb-case .sb-social-copy h3{
  font-size:clamp(62px,6.4vw,118px) !important;
  line-height:.86 !important;
  max-width:560px !important;
  overflow:visible !important;
}

.sb-case .sb-social-copy p:not(.sb-section-no){
  align-self:center !important;
}

.sb-case .sb-digital-devices{
  grid-template-columns:minmax(600px,820px) minmax(210px,250px) !important;
  align-items:start !important;
  justify-items:center !important;
  gap:clamp(72px,11vw,180px) !important;
  max-width:1240px !important;
  margin:0 auto !important;
}

.sb-case .sb-digital-laptop{
  width:min(100%,820px) !important;
  align-self:start !important;
}

.sb-case .sb-digital-laptop video{
  max-height:46svh !important;
}

.sb-case .sb-digital-iphone-video{
  width:clamp(220px,14vw,250px) !important;
  align-self:start !important;
  margin:0 !important;
}

.sb-case .sb-digital-iphone-video video{
  max-height:46svh !important;
}

/* Steinboc: finale Korrektur Media-Abstände und Imagevideo */
.sb-case .sb-social{
  position:relative !important;
  z-index:auto !important;
  overflow:hidden !important;
  transform:none !important;
}

.sb-case .sb-digital-devices{
  grid-template-columns:minmax(600px,780px) minmax(210px,250px) !important;
  gap:clamp(34px,4.8vw,76px) !important;
  width:min(100%,1080px) !important;
  max-width:1080px !important;
  margin:0 auto !important;
  justify-content:center !important;
  align-items:start !important;
  transform:none !important;
}

.sb-case .sb-digital-laptop{
  width:min(100%,780px) !important;
}

.sb-case .sb-digital-laptop video,
.sb-case .sb-digital-iphone-video video{
  max-height:44svh !important;
}

.sb-case .sb-digital-iphone-video{
  width:clamp(210px,13vw,250px) !important;
  align-self:start !important;
}

.sb-case .sb-videos{
  position:relative !important;
  z-index:auto !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  min-height:100svh !important;
  padding:clamp(50px,4.5vw,76px) clamp(36px,5.5vw,96px) !important;
  row-gap:clamp(26px,3vw,42px) !important;
  overflow:hidden !important;
  transform:none !important;
}

.sb-case .sb-video-head{
  display:grid !important;
  grid-template-columns:minmax(360px,600px) minmax(380px,620px) !important;
  column-gap:clamp(64px,8vw,140px) !important;
  align-items:center !important;
  width:100% !important;
  max-width:1260px !important;
  margin:0 auto !important;
}

.sb-case .sb-video-head .sb-section-no{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:start !important;
  align-self:end !important;
  margin:0 0 16px !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.22em !important;
  text-align:left !important;
}

.sb-case .sb-video-head h3{
  grid-column:1 !important;
  grid-row:2 !important;
  margin:0 !important;
  max-width:600px !important;
  font-size:clamp(58px,5.8vw,106px) !important;
  line-height:.86 !important;
  text-align:left !important;
  overflow:visible !important;
}

.sb-case .sb-video-head p:not(.sb-section-no){
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  align-self:center !important;
  max-width:600px !important;
  margin:0 !important;
  text-align:left !important;
}

.sb-case .sb-imagevideo{
  width:min(100%,1060px) !important;
  max-width:1060px !important;
  margin:0 auto !important;
  overflow:hidden !important;
  background:transparent !important;
  transform:none !important;
}

.sb-case .sb-imagevideo video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:46svh !important;
  object-fit:contain !important;
  background:#000 !important;
}

.sb-case .sb-imagevideo figcaption{
  display:none !important;
}

@media(max-width:980px){
  .sb-case .sb-social{
    overflow:hidden !important;
  }

  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    gap:28px !important;
    width:100% !important;
  }

  .sb-case .sb-digital-laptop,
  .sb-case .sb-digital-iphone-video{
    width:min(100%,760px) !important;
  }

  .sb-case .sb-video-head{
    grid-template-columns:1fr !important;
    row-gap:18px !important;
  }

  .sb-case .sb-video-head .sb-section-no,
  .sb-case .sb-video-head h3,
  .sb-case .sb-video-head p:not(.sb-section-no){
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .sb-case .sb-imagevideo video{
    max-height:none !important;
  }
}

/* Steinboc: Feinkorrektur digitale Anwendung und Imagevideo */
.sb-case .sb-social-copy .sb-section-no,
.sb-case .sb-video-head .sb-section-no{
  font-family:"DM Mono", monospace !important;
  font-size:clamp(10px,.72vw,12px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
}

.sb-case .sb-social-copy .sb-section-no{
  margin:0 0 clamp(12px,1vw,16px) !important;
}

.sb-case .sb-digital-devices{
  grid-template-columns:minmax(620px,790px) minmax(215px,245px) !important;
  gap:clamp(42px,5.5vw,92px) !important;
  width:min(100%,1120px) !important;
  max-width:1120px !important;
  margin:clamp(18px,2.2vw,36px) auto 0 !important;
  align-items:start !important;
  justify-content:center !important;
}

.sb-case .sb-digital-laptop{
  width:min(100%,790px) !important;
}

.sb-case .sb-digital-iphone-video{
  width:clamp(215px,13vw,245px) !important;
}

.sb-case .sb-digital-laptop video,
.sb-case .sb-digital-iphone-video video{
  max-height:45svh !important;
}

.sb-case .sb-videos{
  row-gap:clamp(28px,3vw,46px) !important;
  padding-top:clamp(48px,4.2vw,72px) !important;
  padding-bottom:clamp(44px,4vw,68px) !important;
}

.sb-case .sb-video-head{
  grid-template-columns:minmax(360px,600px) minmax(420px,640px) !important;
  align-items:start !important;
}

.sb-case .sb-video-head .sb-section-no{
  margin:0 0 14px !important;
  align-self:start !important;
}

.sb-case .sb-video-head h3{
  font-size:clamp(58px,5.6vw,104px) !important;
  font-weight:400 !important;
}

.sb-case .sb-video-head p:not(.sb-section-no){
  grid-row:2 !important;
  align-self:start !important;
  padding-top:.15em !important;
}

.sb-case .sb-imagevideo{
  width:min(100%,1160px) !important;
  max-width:1160px !important;
}

.sb-case .sb-imagevideo video{
  max-height:50svh !important;
}

@media(max-width:980px){
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    margin-top:24px !important;
  }

  .sb-case .sb-video-head{
    grid-template-columns:1fr !important;
  }

  .sb-case .sb-video-head p:not(.sb-section-no){
    grid-row:auto !important;
    padding-top:0 !important;
  }
}

/* Steinboc: finale Feinjustage 05/06 und Schlussband */
.sb-case .sb-digital-devices{
  width:min(100%,1220px) !important;
  max-width:1220px !important;
  grid-template-columns:minmax(680px,850px) minmax(220px,250px) !important;
  gap:clamp(34px,4vw,64px) !important;
  margin:clamp(36px,4vw,62px) auto 0 !important;
  justify-content:center !important;
  justify-items:center !important;
  align-items:center !important;
}

.sb-case .sb-digital-laptop{
  width:min(100%,850px) !important;
  justify-self:end !important;
}

.sb-case .sb-digital-iphone-video{
  width:clamp(220px,13vw,250px) !important;
  justify-self:start !important;
}

.sb-case .sb-digital-laptop video,
.sb-case .sb-digital-iphone-video video{
  max-height:47svh !important;
}

.sb-case .sb-video-head{
  align-items:start !important;
  row-gap:0 !important;
}

.sb-case .sb-video-head .sb-section-no{
  margin:0 0 clamp(12px,1vw,16px) !important;
}

.sb-case .sb-video-head h3{
  margin-top:0 !important;
}

.sb-case .sb-imagevideo{
  width:min(100%,1240px) !important;
  max-width:1240px !important;
}

.sb-case .sb-imagevideo video{
  max-height:54svh !important;
}

.sb-case .sb-final-statement{
  width:calc(100% - clamp(32px,5.4vw,78px)) !important;
  max-width:none !important;
  min-height:clamp(430px,34vw,620px) !important;
  margin:0 auto clamp(18px,2vw,34px) !important;
  padding:clamp(70px,7vw,128px) clamp(54px,8vw,150px) !important;
  border-radius:0 0 8px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#302bff !important;
}

.sb-case .sb-final-statement p{
  max-width:980px !important;
  margin:0 !important;
  text-align:left !important;
  font-size:clamp(56px,6.4vw,122px) !important;
  line-height:.86 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

@media(max-width:980px){
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    gap:30px !important;
    margin-top:30px !important;
  }

  .sb-case .sb-digital-laptop,
  .sb-case .sb-digital-iphone-video{
    justify-self:center !important;
  }

  .sb-case .sb-final-statement{
    width:calc(100% - 32px) !important;
    min-height:360px !important;
    padding:64px 28px !important;
  }

  .sb-case .sb-final-statement p{
    font-size:clamp(42px,12vw,74px) !important;
  }
}

/* Steinboc final tuning: digital devices, image video and statement scale */
.sb-case .sb-social{
  min-height:auto !important;
  padding-top:clamp(58px,5vw,86px) !important;
  padding-bottom:clamp(64px,5.5vw,96px) !important;
  overflow:visible !important;
}

.sb-case .sb-social-copy .sb-section-no,
.sb-case .sb-video-head .sb-section-no{
  font-family:"DM Mono", monospace !important;
  font-size:clamp(8px,.55vw,10px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.sb-case .sb-social-copy .sb-section-no{
  margin:0 0 clamp(10px,.9vw,14px) !important;
}

.sb-case .sb-digital-devices{
  width:min(100%,1180px) !important;
  max-width:1180px !important;
  display:grid !important;
  grid-template-columns:minmax(640px,820px) minmax(210px,250px) !important;
  gap:clamp(26px,3.2vw,46px) !important;
  margin:clamp(58px,5vw,84px) auto 0 !important;
  justify-content:center !important;
  justify-items:center !important;
  align-items:end !important;
  overflow:visible !important;
  transform:none !important;
}

.sb-case .sb-digital-laptop{
  width:min(100%,820px) !important;
  justify-self:end !important;
}

.sb-case .sb-digital-iphone-video{
  width:clamp(220px,13vw,250px) !important;
  justify-self:start !important;
}

.sb-case .sb-digital-laptop video,
.sb-case .sb-digital-iphone-video video{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block !important;
}

.sb-case .sb-video-head{
  width:min(100%,1320px) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(420px,640px) minmax(420px,660px) !important;
  column-gap:clamp(60px,8vw,140px) !important;
  row-gap:0 !important;
  align-items:start !important;
}

.sb-case .sb-video-head .sb-section-no{
  grid-column:1 !important;
  grid-row:1 !important;
  margin:0 0 clamp(10px,.9vw,14px) !important;
}

.sb-case .sb-video-head h3{
  grid-column:1 !important;
  grid-row:2 !important;
  margin:0 !important;
  font-size:clamp(52px,5.2vw,94px) !important;
  font-weight:300 !important;
  line-height:.88 !important;
  max-width:620px !important;
  overflow:visible !important;
}

.sb-case .sb-video-head p:not(.sb-section-no){
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:start !important;
  margin:0 !important;
  padding-top:.05em !important;
  max-width:620px !important;
}

.sb-case .sb-imagevideo{
  width:min(100%,1320px) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  overflow:hidden !important;
  background:#000 !important;
}

.sb-case .sb-imagevideo video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:58svh !important;
  object-fit:contain !important;
  background:#000 !important;
}

.sb-case .sb-final-statement{
  width:calc(100% - clamp(76px,4vw,96px)) !important;
  max-width:none !important;
  min-height:clamp(340px,28vw,500px) !important;
  margin:0 auto clamp(18px,2vw,34px) !important;
  padding:clamp(56px,5.6vw,104px) clamp(54px,7vw,142px) !important;
  border-radius:0 0 8px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#302bff !important;
}

.sb-case .sb-final-statement p{
  max-width:1100px !important;
  margin:0 !important;
  text-align:left !important;
  font-size:clamp(42px,4.9vw,92px) !important;
  line-height:.9 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

@media(max-width:980px){
  .sb-case .sb-digital-devices{
    grid-template-columns:1fr !important;
    gap:28px !important;
    width:calc(100% - 32px) !important;
    margin-top:34px !important;
  }

  .sb-case .sb-digital-laptop,
  .sb-case .sb-digital-iphone-video{
    justify-self:center !important;
  }

  .sb-case .sb-digital-laptop{
    width:min(100%,780px) !important;
  }

  .sb-case .sb-digital-iphone-video{
    width:min(72vw,250px) !important;
  }

  .sb-case .sb-video-head{
    grid-template-columns:1fr !important;
    width:calc(100% - 32px) !important;
    row-gap:0 !important;
  }

  .sb-case .sb-video-head .sb-section-no,
  .sb-case .sb-video-head h3,
  .sb-case .sb-video-head p:not(.sb-section-no){
    grid-column:1 !important;
    grid-row:auto !important;
    padding-top:0 !important;
  }

  .sb-case .sb-video-head p:not(.sb-section-no){
    margin-top:18px !important;
  }

  .sb-case .sb-final-statement{
    width:calc(100% - 32px) !important;
    min-height:320px !important;
    padding:56px 28px !important;
  }

  .sb-case .sb-final-statement p{
    font-size:clamp(38px,11vw,72px) !important;
  }
}

/* Steinboc final spacing and static media pass */
.sb-case .sb-social{
  position:relative !important;
  isolation:isolate !important;
  min-height:auto !important;
  overflow:hidden !important;
  padding-bottom:clamp(150px,11vw,220px) !important;
}

.sb-case .sb-social-copy{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
}

.sb-case .sb-digital-board,
.sb-case .sb-digital-devices,
.sb-case .sb-digital-laptop,
.sb-case .sb-digital-iphone-video{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
  z-index:0 !important;
}

.sb-case .sb-digital-board,
.sb-case .sb-digital-devices{
  margin-top:clamp(34px,3vw,58px) !important;
}

.sb-case .sb-videos{
  padding-top:clamp(120px,9vw,180px) !important;
  padding-bottom:clamp(8px,1vw,18px) !important;
}

.sb-case .sb-final-statement{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  max-width:none !important;
  min-height:clamp(280px,22vw,390px) !important;
  margin:0 -50vw !important;
  padding:clamp(48px,4.5vw,76px) clamp(28px,5.5vw,100px) !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}

.sb-case .sb-final-statement p{
  max-width:min(980px,72vw) !important;
  margin:0 !important;
  font-size:clamp(40px,4vw,72px) !important;
  line-height:.92 !important;
  text-align:left !important;
}

@media(max-width:980px){
  .sb-case .sb-social{
    overflow:hidden !important;
    padding-bottom:clamp(90px,14vw,130px) !important;
  }

  .sb-case .sb-social-copy{
    position:static !important;
    top:auto !important;
  }

  .sb-case .sb-videos{
    padding-top:clamp(88px,14vw,126px) !important;
    padding-bottom:18px !important;
  }

  .sb-case .sb-final-statement{
    left:50% !important;
    right:50% !important;
    width:100vw !important;
    min-height:280px !important;
    margin:0 -50vw !important;
    padding:48px 28px !important;
    border-radius:0 !important;
  }

.sb-case .sb-final-statement p{
  max-width:92vw !important;
  font-size:clamp(30px,7.4vw,46px) !important;
  line-height:.92 !important;
}
}

/* Archive project: Postkarten & Sticker */
.ps-case {
  min-height: 100vh;
  background: #050505;
  color: var(--cream);
}

.ps-case figure {
  margin: 0;
}

.ps-case img {
  display: block;
}

.ps-hero {
  min-height: clamp(620px, 82svh, 760px);
  display: grid;
  grid-template-columns: minmax(360px, 1.12fr) minmax(300px, 0.88fr);
  background: #050505;
  align-items: stretch;
}

.ps-hero-copy {
  padding: clamp(72px, 8vw, 124px) clamp(24px, 5vw, 88px) clamp(48px, 6vw, 86px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.ps-kicker,
.ps-section-no {
  margin: 0 0 28px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ps-hero h2 {
  margin: 0 0 32px;
  font-family: var(--serif);
  font-size: clamp(52px, 6.4vw, 108px);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.045em;
}

.ps-products h3 {
  margin: 0 0 32px;
  font-family: var(--serif);
  font-size: clamp(58px, 7vw, 118px);
  font-weight: 400;
  line-height: 0.86;
  letter-spacing: -0.05em;
}

.ps-hero h2 em,
.ps-products h3 em {
  font-style: italic;
  font-weight: 400;
}

.ps-summary,
.ps-products-copy p:last-child {
  max-width: 640px;
  margin: 0;
  font-family: var(--mono);
  font-size: clamp(16px, 1.45vw, 24px);
  font-weight: 400;
  line-height: 1.55;
  color: rgba(245, 240, 231, 0.68);
}

.ps-hero-image {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.ps-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 44%;
}

.ps-products {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 5vw, 72px);
  align-items: stretch;
  padding: clamp(72px, 8vw, 118px) 0 0;
  background: var(--cream);
  color: var(--ink);
}

.ps-products-copy {
  width: min(calc(100% - 48px), 1180px);
  margin: 0 auto;
}

.ps-products-copy p:last-child {
  color: rgba(23, 22, 26, 0.72);
}

.ps-product-image {
  width: 100%;
}

.ps-product-image img {
  width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .ps-hero,
  .ps-products {
    grid-template-columns: 1fr;
  }

  .ps-hero {
    min-height: auto;
  }

  .ps-hero-image {
    min-height: 0;
    height: 58vh;
  }

  .ps-hero-copy {
    padding: 74px 20px 84px;
  }

  .ps-products {
    padding: 96px 0 0;
  }

  .ps-hero h2 {
    font-size: clamp(58px, 17vw, 92px);
  }

  .ps-products h3 {
    font-size: clamp(58px, 16vw, 92px);
  }

  .ps-products-copy {
    width: calc(100% - 40px);
  }
}

/* About final alignment override */
.about-snapshot .about-bio{
  max-width:min(860px,52vw) !important;
  width:min(860px,52vw) !important;
  transform:translateX(-12.8vw) !important;
}
.about-snapshot .about-intro-text{
  font-size:clamp(14px,1.08vw,16.5px) !important;
  line-height:1.62 !important;
}
.about-snapshot .about-bio{
  font-size:clamp(13px,1.04vw,16px) !important;
  line-height:1.58 !important;
}

/* Contact stopmotion revision */
.site-header .mini-logo{
  display:none !important;
}
.contact.beige-section{
  background:var(--cream) !important;
  color:var(--ink) !important;
}
.contact .contact-hero{
  min-height:auto !important;
  padding-top:clamp(92px,9vw,140px) !important;
  padding-bottom:clamp(20px,3vw,42px) !important;
  justify-content:flex-start !important;
}
.contact .contact-hero h2{
  margin:0 !important;
  font:400 clamp(86px,13vw,220px)/.76 var(--serif) !important;
  letter-spacing:-.055em !important;
}
.contact .contact-card{
  display:grid !important;
  place-items:center !important;
  min-height:auto !important;
  padding-top:clamp(10px,2vw,26px) !important;
  padding-bottom:clamp(70px,8vw,120px) !important;
  background:var(--cream) !important;
}
.contact-stopmotion{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  width:min(720px,72vw);
  cursor:pointer;
}
.contact-stopmotion img{
  display:block;
  width:100%;
  height:auto;
}
.contact-stopmotion:focus-visible{
  outline:1px solid var(--ink);
  outline-offset:10px;
}

@media(max-width:800px){
  .contact-stopmotion{
    width:min(92vw,520px);
  }
}

/* Contact screenshot composition */
.contact .contact-hero{
  display:none !important;
}
.contact .contact-card{
  min-height:clamp(300px,33vw,430px) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(280px,.78fr) !important;
  align-items:center !important;
  justify-items:start !important;
  gap:clamp(28px,5vw,86px) !important;
  padding-top:clamp(34px,4vw,62px) !important;
  padding-bottom:clamp(34px,4vw,62px) !important;
  background:var(--cream) !important;
}
.contact-copy{
  align-self:center;
}
.contact-copy h2{
  margin:0 0 clamp(28px,3vw,44px) !important;
  font:400 clamp(76px,8.8vw,150px)/.78 var(--serif) !important;
  letter-spacing:-.06em !important;
}
.contact-copy a{
  font:400 clamp(18px,1.7vw,28px)/1.2 var(--mono);
  letter-spacing:.02em;
  text-decoration:none;
}
.contact .contact-stopmotion{
  justify-self:center;
  width:min(44vw,610px) !important;
  transform:rotate(7deg);
}

@media(max-width:800px){
  .contact .contact-card{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .contact .contact-stopmotion{
    width:min(78vw,380px) !important;
  }
}

/* Contact visible final override */
#contact.contact.beige-section{
  background:var(--cream) !important;
  color:var(--ink) !important;
}
#contact .contact-card.section-pad{
  min-height:220px !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
  display:grid !important;
  grid-template-columns:minmax(320px,1fr) minmax(280px,.55fr) !important;
  gap:42px !important;
  align-items:center !important;
}
#contact .contact-stopmotion{
  width:min(42vw,580px) !important;
  max-width:580px !important;
}

/* Contact compact height override */
#contact.contact.beige-section{
  min-height:0 !important;
}
#contact .contact-card.section-pad{
  min-height:0 !important;
  padding-top:14px !important;
  padding-bottom:14px !important;
  grid-template-columns:minmax(320px,1fr) minmax(360px,.55fr) !important;
  gap:28px !important;
}
#contact .contact-stopmotion{
  width:min(42vw,580px) !important;
  max-width:580px !important;
  height:auto !important;
  max-height:none !important;
}
#contact .contact-stopmotion img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
#contact .footer.section-pad{
  min-height:0 !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
  align-content:center !important;
}

@media(max-width:800px){
  #contact .contact-card.section-pad{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  #contact .contact-stopmotion{
    width:min(78vw,420px) !important;
  }
}

/* Contact screenshot-tight override */
#contact .contact-card.section-pad{
  height:clamp(430px,37vw,560px) !important;
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}
#contact .contact-stopmotion{
  position:relative !important;
  width:min(42vw,580px) !important;
  max-width:580px !important;
  height:clamp(360px,34vw,510px) !important;
  overflow:visible !important;
  justify-self:center !important;
}
#contact .contact-stopmotion img{
  position:absolute !important;
  width:100% !important;
  height:auto !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}
#contact .footer.section-pad{
  min-height:0 !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

/* Contact footer tight override */
#contact .footer.section-pad{
  height:42px !important;
  min-height:42px !important;
  padding:0 2.7vw !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  align-content:center !important;
}

@media(max-width:800px){
  #contact .contact-card.section-pad{
    height:auto !important;
    min-height:0 !important;
    padding-top:28px !important;
    padding-bottom:18px !important;
  }

  #contact .contact-stopmotion{
    width:min(78vw,420px) !important;
    height:min(56vw,300px) !important;
  }
}

/* Contact actually compact override */
#contact .contact-card.section-pad{
  height:clamp(330px,29vw,420px) !important;
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center !important;
}
#contact .contact-stopmotion{
  width:min(42vw,580px) !important;
  max-width:580px !important;
  height:clamp(300px,29vw,420px) !important;
}
#contact .footer.section-pad{
  height:34px !important;
  min-height:34px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:800px){
  #contact .contact-card.section-pad{
    height:auto !important;
    padding-top:18px !important;
    padding-bottom:12px !important;
  }
}

/* Contact remove forced page-height override */
.inner-page #contact.contact.beige-section,
#contact.contact.beige-section{
  height:auto !important;
  min-height:0 !important;
  padding-bottom:0 !important;
  display:block !important;
}

/* Contact much smaller final override */
#contact .contact-card.section-pad{
  height:280px !important;
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center !important;
}
#contact .contact-stopmotion{
  width:min(42vw,580px) !important;
  max-width:580px !important;
  height:260px !important;
  overflow:visible !important;
}
#contact .footer.section-pad{
  height:24px !important;
  min-height:24px !important;
  padding:0 2.7vw !important;
  line-height:1 !important;
}

/* Contact footer own class, no global footer height */
#contact .contact-footer{
  height:76px !important;
  min-height:0 !important;
  max-height:76px !important;
  padding:0 2.7vw !important;
  border-top:1px solid var(--line) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  line-height:1 !important;
  overflow:hidden !important;
}
#contact .contact-footer a{
  text-decoration:underline;
  text-underline-offset:4px;
}
#contact .contact-footer nav{
  display:flex;
  gap:18px;
  align-items:center;
}

/* Contact no-gif compact line override */
#contact .contact-card.section-pad{
  height:150px !important;
  min-height:0 !important;
  padding:0 2.7vw !important;
  display:flex !important;
  align-items:center !important;
}
#contact .contact-copy{
  width:100% !important;
}
#contact .contact-copy h2{
  margin:0 0 18px !important;
}
#contact .contact-stopmotion{
  display:none !important;
}
#contact .contact-footer{
  height:44px !important;
  max-height:44px !important;
  min-height:0 !important;
  padding:0 2.7vw !important;
}

/* Contact top breathing room */
#contact .contact-card.section-pad{
  height:190px !important;
  padding:46px 2.7vw 18px !important;
  align-items:flex-start !important;
}

/* Header nav centered with equal spacing */
.site-header{
  left:50% !important;
  right:auto !important;
  width:min(760px, calc(100% - 32px)) !important;
  transform:translateX(-50%) !important;
  padding:22px 0 !important;
  display:flex !important;
  justify-content:center !important;
}
.site-header nav{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  width:100% !important;
  gap:0 !important;
  align-items:center !important;
  justify-items:center !important;
  text-align:center !important;
}
.site-header nav a{
  justify-self:center !important;
  white-space:nowrap !important;
}

@media(max-width:800px){
  .site-header{
    width:calc(100% - 24px) !important;
    padding:18px 0 !important;
  }

  .site-header nav{
    grid-template-columns:repeat(4, 1fr) !important;
    gap:0 !important;
    font-size:8px !important;
    letter-spacing:.08em !important;
  }
}

/* Zwergenwiese product jars optical centering */
.zw-case .zw-product-grid figure{
  overflow:hidden !important;
}
.zw-case .zw-product-grid figure img{
  transform:translateX(0) !important;
  object-position:center center !important;
  clip-path:inset(0 0 0 1.2%) !important;
}

/* Zwergenwiese jars stronger visual centering */
.zw-case .zw-product-grid figure img{
  transform:translateX(-8%) !important;
  clip-path:none !important;
}

/* Project detail typography unification: font family + size only */
.case-study .zw-hero h2,
.case-study .ws-hero-copy h2,
.case-study .calendar-hero-copy h2,
.case-study .raster-hero-copy h2,
.case-study .ps-hero-copy h2,
.case-study .sb-hero h2,
.case-study .ns-hero h2,
.case-study .ly-hero h2{
  font-family:var(--serif) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
}

.case-study h3,
.case-study .zw-intro h3,
.case-study .zw-title-row h3,
.case-study .zw-packaging>h3,
.case-study .zw-campaign>h3,
.case-study .ws-two-col h3,
.case-study .ws-solution h3,
.case-study .ws-features h3,
.case-study .ws-prototype h3,
.case-study .ws-poster h3,
.case-study .ws-film h3,
.case-study .ws-end h3,
.case-study .calendar-copy h3,
.case-study .calendar-origin-copy h3,
.case-study .raster-origin h3,
.case-study .raster-variations h3,
.case-study .raster-posters h3,
.case-study .ps-gallery h3,
.case-study .sb-attitude h3,
.case-study .sb-title-row h3,
.case-study .sb-poster-head h3,
.case-study .sb-photo-head h3,
.case-study .sb-application-head h3,
.case-study .sb-social-copy h3,
.case-study .sb-video-head h3,
.case-study .ns-section-title,
.case-study .ly-overview h3,
.case-study .ly-feature-copy h3{
  font-family:var(--serif) !important;
  font-size:clamp(38px,4vw,66px) !important;
}

.case-study .zw-kicker,
.case-study .zw-section-no,
.case-study .ws-kicker,
.case-study .ws-section-no,
.case-study .calendar-kicker,
.case-study .calendar-section-no,
.case-study .raster-kicker,
.case-study .raster-section-no,
.case-study .ps-kicker,
.case-study .ps-section-no,
.case-study .sb-kicker,
.case-study .sb-section-no,
.case-study .ns-kicker,
.case-study .ns-section-no,
.case-study .ns-section-label,
.case-study .ly-kicker,
.case-study .ly-section-no,
.case-study .ly-label{
  font-family:var(--mono) !important;
  font-size:9px !important;
}

.case-study p:not([class*="section-no"]):not(.zw-kicker):not(.ws-kicker):not(.calendar-kicker):not(.raster-kicker):not(.ps-kicker):not(.sb-kicker):not(.ns-kicker):not(.ly-kicker),
.case-study dd,
.case-study small,
.case-study figcaption{
  font-family:var(--mono) !important;
  font-size:14px !important;
}

/* Requested project polish */
.sb-case .sb-final-statement{
  background:#f5dc1d !important;
  color:#050505 !important;
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
}
.sb-case .sb-final-statement p{
  font-family:var(--serif) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
  max-width:980px !important;
  line-height:.9 !important;
}

.ws-case .ws-hero-copy h2,
.ws-case .ws-hero-copy h2 em,
.ws-case .ws-summary{
  font-style:normal !important;
}

.ps-case .ps-hero-copy{
  justify-content:center !important;
}
.ps-case .ps-hero h2{
  font-family:var(--serif) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
}
.ps-case .ps-summary{
  font-family:var(--mono) !important;
  font-size:14px !important;
}

/* Postkarten hero aligned to Zwergenwiese hero */
.ps-case .ps-hero{
  grid-template-columns:1fr 1fr !important;
  min-height:760px !important;
  background:var(--cream) !important;
  color:var(--ink) !important;
  border-bottom:1px solid rgba(0,0,0,.14) !important;
}
.ps-case .ps-hero-copy{
  padding:clamp(72px,7vw,108px) clamp(28px,5.5vw,88px) clamp(70px,8vw,120px) !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
.ps-case .ps-kicker{
  color:var(--ink) !important;
  font-size:9px !important;
}
.ps-case .ps-hero h2{
  color:var(--ink) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
}
.ps-case .ps-summary{
  color:var(--ink) !important;
  max-width:480px !important;
  font-size:14px !important;
}
.ps-case .ps-hero-image{
  min-height:760px !important;
}

@media(max-width:800px){
  .ps-case .ps-hero{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .ps-case .ps-hero-image{
    min-height:520px !important;
  }
}

/* Steinboc ending corrected to brand blue + heading type */
.sb-case .sb-final-statement{
  background:var(--sb-blue) !important;
  color:#fff !important;
}
.sb-case .sb-final-statement p{
  font-family:var(--serif) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
  font-style:normal !important;
  font-weight:400 !important;
}

/* Postkarten hero exact Zwergenwiese typography/placement */
.ps-case .ps-hero{
  grid-template-columns:1fr 1fr !important;
  min-height:760px !important;
}
.ps-case .ps-hero-copy{
  padding:clamp(72px,7vw,108px) clamp(28px,5.5vw,88px) 48px !important;
  justify-content:center !important;
}
.ps-case .ps-kicker{
  font-family:var(--mono) !important;
  font-size:9px !important;
  letter-spacing:.14em !important;
}
.ps-case .ps-hero h2{
  font-family:var(--serif) !important;
  font-size:clamp(60px,6.8vw,110px) !important;
  font-weight:400 !important;
}
.ps-case .ps-summary{
  font-family:var(--mono) !important;
  font-size:13px !important;
  max-width:480px !important;
}

/* Steinboc ending: italic serif like Neutralisierte Sprachflaeche */
.sb-case .sb-final-statement p{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-size:clamp(60px,6.8vw,110px) !important;
}

/* Steinboc: video section stays black, no blue ending follows */
.sb-case .sb-videos{
  background:#030303 !important;
  color:var(--paper) !important;
}

/* Postkarten/Sticker archive hero: label small, text block higher */
.ps-case .ps-hero-copy{
  justify-content:flex-start !important;
  padding-top:clamp(54px,5.2vw,82px) !important;
}
.ps-case .ps-kicker{
  font-family:var(--mono) !important;
  font-size:9px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
}

/* Postkarten/Sticker archive hero: match Zwergenwiese kicker and lower text */
.ps-case .ps-hero-copy{
  justify-content:flex-start !important;
  padding-top:clamp(80px,8vw,128px) !important;
}
.ps-case .ps-kicker{
  font-family:var(--mono) !important;
  font-size:9px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  margin:0 0 38px !important;
}

/* Postkarten/Sticker archive hero: visibly smaller kicker */
.ps-case .ps-kicker{
  font-family:var(--mono) !important;
  font-size:6px !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
  font-weight:400 !important;
  margin:0 0 38px !important;
}

.ps-case .ps-kicker-force{
  font-size:9px !important;
  letter-spacing:.14em !important;
  line-height:1.2 !important;
  font-weight:400 !important;
  transform:none !important;
  transform-origin:left top !important;
  display:inline-block !important;
  margin-bottom:30px !important;
}

/* Postkarten/Sticker archive hero: final kicker size like other projects */
.ps-case .ps-kicker,
.ps-case .ps-kicker-force{
  font-family:var(--mono) !important;
  font-size:9px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  font-weight:400 !important;
  transform:none !important;
  display:block !important;
  margin:0 0 38px !important;
}

/* Postkarten/Sticker archive hero: visually match Zwergenwiese kicker */
.ps-case .ps-hero-copy > .ps-kicker{
  font-family:var(--mono) !important;
  font-size:7px !important;
  line-height:1.2 !important;
  letter-spacing:.11em !important;
  font-weight:400 !important;
  transform:none !important;
  display:block !important;
  margin:0 0 38px !important;
}

/* Postkarten/Sticker archive hero: final small project label */
article.ps-case header.ps-hero .ps-hero-copy > p.ps-kicker{
  font-family:var(--mono) !important;
  font-size:9px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  margin:0 0 38px !important;
}
