/* Each scene retains its natural reading height; overlap adds no scroll trap. */
.au-story{--scene-height:calc(100dvh - 94px);isolation:isolate;background:#dfe6dc}
.au-scene{position:relative;display:flow-root;z-index:var(--scene-order,0)}
.au-story .au-scene-panel{position:relative;min-height:var(--scene-height);background:var(--au-paper);box-sizing:border-box;scroll-margin-top:0}
.au-story .au-scene-panel.au-section-white{background:#fff}
.au-story .au-scene-panel.au-workflow-section{background:#193c30}
.au-story .au-scene-panel.au-cta{background:#e7efdb}
.au-story .au-scene-panel:not(.au-intro){display:flex;align-items:center;padding-block:clamp(32px,5dvh,64px)}
.au-story.is-story-active .au-scene:not(:last-child){margin-bottom:calc(-1 * var(--scene-height))}
.au-story.is-story-active .au-scene:not(:last-child)::after{content:"";display:block;height:var(--scene-height);pointer-events:none}
.au-story.is-story-active .au-scene-panel{position:sticky;top:var(--scene-top);box-shadow:0 -24px 70px -45px #152c2855}
.au-story.is-story-active .au-scene:first-child .au-scene-panel{box-shadow:none}
/* Keep the long portrait opening and its logos in ordinary document flow. */
.au-story.is-story-active .au-scene.is-natural-opening{margin-bottom:0}
.au-story.is-story-active .au-scene.is-natural-opening::after{display:none}
.au-story.is-story-active .is-natural-opening .au-scene-panel{position:relative;top:auto}
.au-story.is-story-active .au-scene-panel.is-receding{
  --scene-mask-x:linear-gradient(to right,transparent,rgba(0,0,0,.16) calc(var(--scene-feather) * .25),rgba(0,0,0,.5) calc(var(--scene-feather) * .5),rgba(0,0,0,.84) calc(var(--scene-feather) * .75),#000 var(--scene-feather),#000 calc(100% - var(--scene-feather)),rgba(0,0,0,.84) calc(100% - var(--scene-feather) * .75),rgba(0,0,0,.5) calc(100% - var(--scene-feather) * .5),rgba(0,0,0,.16) calc(100% - var(--scene-feather) * .25),transparent);
  --scene-mask-y:linear-gradient(to bottom,transparent,rgba(0,0,0,.16) calc(var(--scene-feather) * .25),rgba(0,0,0,.5) calc(var(--scene-feather) * .5),rgba(0,0,0,.84) calc(var(--scene-feather) * .75),#000 var(--scene-feather),#000 calc(100% - var(--scene-feather)),rgba(0,0,0,.84) calc(100% - var(--scene-feather) * .75),rgba(0,0,0,.5) calc(100% - var(--scene-feather) * .5),rgba(0,0,0,.16) calc(100% - var(--scene-feather) * .25),transparent);
  -webkit-mask-image:var(--scene-mask-x),var(--scene-mask-y);
  mask-image:var(--scene-mask-x),var(--scene-mask-y);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  box-shadow:none;
}
.au-story .au-section-head{margin-bottom:clamp(22px,3dvh,38px)}
.au-story .au-section-head h2,.au-story .au-split h2,.au-story .au-faq-layout h2,.au-story #ablauf h2{font-size:clamp(34px,min(3.6vw,5.4dvh),50px)}
.au-story .au-about-photo{height:clamp(350px,calc(100dvh - 210px),610px)}
.au-story .au-booking-scene{background:#f4f7ed}
.au-story .ag-next.ag-booking{margin:0;padding:0;border:0}
.au-story .ag-booking>div:first-child{max-width:none;margin-bottom:24px}
.au-story .ag-booking h2{font-size:clamp(32px,4.5dvh,44px);margin-bottom:14px}
.au-story .ag-booking>div:first-child>p{max-width:780px}
@media(min-width:1001px){
  .au-story .swo-info,.au-story .swo-main{padding:24px}
  .au-story .swo-info img{width:60px;height:60px;margin-bottom:14px}
  .au-story .swo-info ul{margin:16px 0}.au-story .swo-info li{padding:6px 0}
  .au-story .ag-intro{max-width:none;display:grid;grid-template-columns:1fr auto;column-gap:34px;margin-bottom:24px;align-items:center}
  .au-story .ag-intro .au-eyebrow,.au-story .ag-intro h2,.au-story .ag-intro>p:not(.ag-hint){grid-column:1}
  .au-story .ag-intro h2{font-size:clamp(34px,4.6dvh,44px);margin-bottom:13px}
  .au-story .ag-intro .au-eyebrow{margin-bottom:12px!important}
  .au-story .ag-intro>p:not(.au-eyebrow):not(.ag-hint){font-size:15px;margin-bottom:0}
  .au-story .ag-start{grid-column:2;grid-row:2;align-self:end;max-width:350px}
  .au-story .ag-intro .ag-hint{grid-column:2;grid-row:3;max-width:350px;margin-top:12px!important}
  .au-story .ag-company{padding:16px 22px}.au-story .ag-company figure{width:100px}
  .au-story .ag-ideas li{padding:22px}.au-story .ag-ideas h3{font-size:23px;margin-bottom:13px}
  .au-story .ag-ideas p{margin-bottom:14px}.au-story .ag-ideas .ag-benefit{margin-bottom:0}
  .au-story .ag-note{padding:12px 22px}
}
@media(min-width:1001px) and (max-height:740px){
  .au-story .au-scene-panel:not(.au-intro){padding-block:20px}
  .au-story .au-section-head{margin-bottom:20px}
  .au-story .au-card{padding:20px}.au-story .au-card p{line-height:1.55;margin-bottom:12px}
  .au-story .au-subnote{margin-top:10px;line-height:1.5}
  .au-story [data-scene="karl"] .au-split>div>p:not(.au-eyebrow){line-height:1.55;margin-bottom:12px}
  .au-story [data-scene="karl"] h2{font-size:34px;margin-bottom:18px}
}
@media(min-width:1001px) and (max-height:820px){
  .au-story .au-scene-panel:not(.au-intro){padding-block:26px}
  .au-story .au-scene-panel .au-eyebrow{margin-bottom:13px!important}
  .au-story .au-card{padding:24px}.au-story .au-card h3{font-size:26px}.au-story .au-card p{font-size:14px;margin-bottom:15px}
  .au-story .au-subnote{margin-top:14px;font-size:12px}
  .au-story .au-project-visual{height:120px}.au-story .au-project-body{padding:22px}.au-story .au-project-body h3{font-size:26px}
  .au-story .au-project-body p{font-size:14px}.au-story .au-split>div>p:not(.au-eyebrow){font-size:15px;margin-bottom:16px}
  .au-story .au-calculator{padding:26px}.au-story .au-checklist{font-size:14px}.au-story .au-checklist li{margin-bottom:8px}
  .au-story .au-process{margin-top:26px}.au-story .au-process-item{padding-top:18px}.au-story .au-process-item h3{font-size:24px}
  .au-story .swo-info,.au-story .swo-main{padding:22px}.au-story .swo-info img{width:56px;height:56px;margin-bottom:13px}
  .au-story .swo-info ul{margin:14px 0}.au-story .swo-info li{padding:5px 0}
  .au-story .ag-booking>div:first-child{margin-bottom:18px}.au-story .ag-booking .ag-booking-alternative{margin-top:14px}
}
@media(max-width:850px){.au-story{--scene-height:calc(100dvh - 76px)}.au-story .au-about-photo{height:440px}}
@media(max-width:600px){
  .au-story{--scene-height:calc(100dvh - 70px)}
  .au-story .au-scene-panel:not(.au-intro){padding-block:42px}
  .au-story .au-about-photo{height:410px}
  .au-story .au-section-head h2,.au-story .au-split h2,.au-story .au-faq-layout h2,.au-story #ablauf h2{font-size:36px}
  .au-story .ag-booking h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  .au-story.is-story-active .au-scene:not(:last-child){margin-bottom:0}
  .au-story.is-story-active .au-scene:not(:last-child)::after{display:none}
  .au-story.is-story-active .au-scene-panel{position:relative;top:auto;transform:none!important;opacity:1!important;filter:none!important;border-radius:0!important;box-shadow:none}
  .au-story.is-story-active .au-scene-panel.is-receding{-webkit-mask-image:none;mask-image:none}
}
