/* ==========================================================
   CHRISTIAN POHLER · PHONE EXPERIENCE v5.2.1
   Additive layer only. Desktop and tablet keep styles.css.
   Activated exclusively by assets/js/phone-boot.js.
   ========================================================== */
.phone-only{display:none!important}
html.phone-experience .phone-only{display:block!important}

html.phone-experience{
  --pad:18px;
  --phone-radius:22px;
  scroll-padding-top:72px;
}
html.phone-experience body{overflow-x:hidden}
html.phone-experience .shell{width:min(calc(100% - 36px),var(--max))}
html.phone-experience .progress-rail{display:none!important}
html.phone-experience .ambient-scene{display:none!important}
html.phone-experience .page-ambient__signal{display:none!important}
html.phone-experience .page-ambient__aurora{width:118vw;height:118vw;opacity:.075!important;animation-duration:38s!important}
html.phone-experience .site-header{min-height:60px;padding-inline:14px}
html.phone-experience .brand span{display:none}
html.phone-experience .menu-button{min-width:48px;min-height:44px}
html.phone-experience .sound-toggle{height:40px}
html.phone-experience .mobile-menu{top:64px;right:10px;width:calc(100vw - 20px);max-width:none}

/* Arrival: the value proposition and next step fit into the first phone view. */
html.phone-experience .hero{
  min-height:100svh;
  padding-top:max(82px,calc(env(safe-area-inset-top) + 74px));
  padding-bottom:34px;
  justify-content:flex-start;
}
html.phone-experience .hero__meta{
  width:calc(100% - 36px);
  margin-bottom:20px;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:4px 14px;
  text-align:left;
  font-size:6.5px;
  line-height:1.45;
}
html.phone-experience .hero__meta span:nth-child(2){display:none}
html.phone-experience .hero__meta span:last-child{text-align:right}
html.phone-experience .hero__identity{
  width:calc(100% - 36px);
  font-size:clamp(55px,17.2vw,82px);
  line-height:.78;
  letter-spacing:-.074em;
}
html.phone-experience .hero__lower{
  width:calc(100% - 36px);
  margin-top:28px;
  display:block;
}
html.phone-experience .hero__copy{max-width:none}
html.phone-experience .hero__copy .eyebrow{font-size:6.8px;letter-spacing:.145em}
html.phone-experience .hero__copy h1{
  margin:10px 0 14px;
  font-size:clamp(27px,7.35vw,34px);
  line-height:1.025;
  letter-spacing:-.048em;
}
html.phone-experience .hero__audience{
  margin:0 0 10px;
  max-width:34rem;
  color:rgba(245,244,240,.78);
  font-size:13px;
  line-height:1.48;
}
html.phone-experience .hero__lead{
  max-width:none;
  font-size:12.5px;
  line-height:1.48;
  color:rgba(245,244,240,.58);
}
html.phone-experience .hero__actions{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
html.phone-experience .hero__actions .button{width:100%;min-height:46px;padding-inline:10px;font-size:7px}
html.phone-experience .hero__detail-link{grid-column:1/-1;width:auto!important;justify-self:start;justify-content:flex-start!important;margin:4px 0 0!important;font-size:7px}
html.phone-experience .hero-signature{display:none!important}
html.phone-experience .hero__enter{display:none!important}

/* Phone rhythm: same content, much shorter spatial dramaturgy. */
html.phone-experience .position{padding:74px 0 70px!important}
html.phone-experience .position__grid{display:grid;gap:26px}
html.phone-experience .position h2{margin-top:14px;font-size:clamp(39px,11.5vw,58px);line-height:.91}
html.phone-experience .position__copy{gap:14px}
html.phone-experience .position__copy p{font-size:14px;line-height:1.56}

html.phone-experience .systems{padding-top:18px}
html.phone-experience .systems__intro{grid-template-columns:1fr;gap:22px;margin-bottom:34px}
html.phone-experience .systems__intro h2,
html.phone-experience .work__intro h2{font-size:clamp(42px,12.2vw,62px);line-height:.91}
html.phone-experience .systems__intro>p,
html.phone-experience .work__intro>p{font-size:13.5px;line-height:1.56}
html.phone-experience .discipline-stack,
html.phone-experience .case-stack,
html.phone-experience .film-stack{width:calc(100% - 24px);padding-bottom:28px!important}
html.phone-experience .discipline-card,
html.phone-experience .case,
html.phone-experience .film-card{
  min-height:0!important;
  margin-bottom:28px!important;
  border-radius:var(--phone-radius)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.018) inset!important;
}
html.phone-experience .discipline-card{padding:17px!important}
html.phone-experience .discipline-card__visual{height:230px;opacity:.82}
html.phone-experience .discipline-card__copy{padding-top:226px!important}
html.phone-experience .film-core,
html.phone-experience .brand-core,
html.phone-experience .digital-core{height:245px!important;top:0!important}
html.phone-experience .discipline-card__copy h3{font-size:clamp(42px,13vw,60px);line-height:.88;margin:12px 0 15px}
html.phone-experience .discipline-card__lead{font-size:13px;line-height:1.52;max-width:none}
html.phone-experience .discipline-card__features{margin-top:16px}
html.phone-experience .discipline-card__detail-link{margin-top:15px}
html.phone-experience .discipline-card__number{font-size:42vw;opacity:.56}
html.phone-experience .brand-wrap{display:inline-flex!important;flex-direction:column!important;vertical-align:bottom;line-height:.82}
html.phone-experience .brand-wrap span{display:block}
html.phone-experience .cross-skills{margin-top:42px;gap:24px}
html.phone-experience .cross-skills__tags{gap:6px}
html.phone-experience .cross-skills__deep{gap:12px}

html.phone-experience .editorial-zone{padding:68px 0!important}
html.phone-experience .editorial-stage{gap:32px!important}
html.phone-experience .process__intro,
html.phone-experience .quality__intro,
html.phone-experience .about__grid,
html.phone-experience .lab__grid,
html.phone-experience .contact__grid{gap:30px!important}
html.phone-experience .process__intro h2,
html.phone-experience .quality__intro h2,
html.phone-experience .about__copy h2,
html.phone-experience .lab__grid h2,
html.phone-experience .contact h2{font-size:clamp(40px,11.8vw,60px);line-height:.91}
html.phone-experience .process-system{gap:9px}
html.phone-experience .process-system article{padding:20px 18px;min-height:0}
html.phone-experience .quality-grid{gap:9px}
html.phone-experience .quality-card{min-height:0;padding:21px 18px}
html.phone-experience .quality-card h3{margin-top:28px}

html.phone-experience .work{padding-top:60px}
html.phone-experience .work__intro{grid-template-columns:1fr;gap:22px;margin-bottom:32px}
html.phone-experience .work-proof{margin:0 0 26px;padding:13px 0;gap:8px 12px}
html.phone-experience .work-proof strong{font-size:8.5px}
html.phone-experience .case{padding:17px!important;min-height:630px!important}
html.phone-experience .case .case__media{height:45%!important}
html.phone-experience .case__content{padding-top:262px!important}
html.phone-experience .case h3{font-size:clamp(42px,13vw,59px);line-height:.84;margin:11px 0 15px}
html.phone-experience .case__lead{max-width:none;font-size:13px;line-height:1.5}
html.phone-experience .case__actions{margin-top:18px;gap:7px}
html.phone-experience .case__actions .button,
html.phone-experience .case__study-link{min-height:44px}
html.phone-experience .case__number{font-size:43vw}
html.phone-experience .case--faia .faia-title-desktop{display:none!important}
html.phone-experience .case--faia .faia-title-mobile{display:inline!important}

html.phone-experience .work-outro-dwell{margin-top:46px!important}
html.phone-experience .work-outro-dwell .work__outro{padding-block:62px!important;gap:22px!important}
html.phone-experience .work__outro h3{font-size:clamp(42px,12vw,60px);line-height:.92}

html.phone-experience .film-stack{padding-top:0!important}
html.phone-experience .film-card{padding:15px!important;gap:20px}
html.phone-experience .film-card__copy h3{font-size:clamp(40px,12vw,58px);line-height:.9;margin:12px 0 14px}
html.phone-experience .film-card__copy>p{font-size:13px;line-height:1.52}
html.phone-experience .cp-video{aspect-ratio:16/10}
html.phone-experience .film-vault{margin-top:44px}

html.phone-experience .photo-essay__head{grid-template-columns:1fr;gap:22px;margin-bottom:28px}
html.phone-experience .photo-strip{gap:6px}
html.phone-experience .photo-strip__item{min-height:150px}

html.phone-experience .about__grid,
html.phone-experience .lab__grid{grid-template-columns:1fr!important}
html.phone-experience .about__copy>p{font-size:14px;line-height:1.58}
html.phone-experience .about-agency-model{margin-top:14px;padding:14px 0 0;border-top:1px solid rgba(159,118,255,.18);color:rgba(245,244,240,.66)!important}
html.phone-experience .about-steps{gap:8px;margin-top:24px}
html.phone-experience .about-steps article{padding:18px}
html.phone-experience .about-quote{margin-top:22px;font-size:22px;line-height:1.23}
html.phone-experience .about-machine,
html.phone-experience .lab-machine{min-height:420px!important;border-radius:18px}
html.phone-experience .about-machine__center{width:164px;height:164px}
html.phone-experience .about-machine__center img{width:62px;height:62px}
html.phone-experience .about-machine__node span{font-size:6.5px}
html.phone-experience .lab-material__copy{left:16px;right:16px;bottom:54px}
html.phone-experience .lab-material__copy strong{font-size:clamp(26px,8.5vw,38px)}

html.phone-experience .contact__grid{grid-template-columns:1fr!important}
html.phone-experience .contact h2{margin-top:12px}
html.phone-experience .contact-panel{padding:24px 18px;border-radius:22px}
html.phone-experience .contact-panel h3{font-size:clamp(34px,10vw,48px)}
html.phone-experience .contact-panel p{font-size:13px;line-height:1.55}
html.phone-experience .contact-panel .button{width:100%}
html.phone-experience .site-footer{padding-top:36px;padding-bottom:max(28px,env(safe-area-inset-bottom));gap:18px}

/* Content / service / case pages: phone-first reading, still the same URLs and content. */
html.phone-experience .content-page-main{padding-top:68px}
html.phone-experience .content-hero{padding:42px 0 58px}
html.phone-experience .content-hero__meta{margin-bottom:24px;font-size:6.5px;gap:10px}
html.phone-experience .content-breadcrumbs{gap:6px;flex-wrap:wrap}
html.phone-experience .content-hero__grid{grid-template-columns:1fr;gap:26px}
html.phone-experience .content-hero h1{font-size:clamp(45px,14vw,68px);line-height:.88}
html.phone-experience .content-hero__lead{font-size:15px;line-height:1.55}
html.phone-experience .content-hero__actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px}
html.phone-experience .content-hero__aside{padding-top:18px}
html.phone-experience .content-hero__aside strong{font-size:25px}
html.phone-experience .content-fact-grid{grid-template-columns:1fr 1fr!important;margin-top:28px!important}
html.phone-experience .content-fact{padding:16px 14px}
html.phone-experience .content-section{padding:62px 0}
html.phone-experience .content-section__head{gap:22px}
html.phone-experience .content-section__head h2{font-size:clamp(38px,11.4vw,56px)}
html.phone-experience .content-grid,
html.phone-experience .content-case-grid,
html.phone-experience .hub-grid{grid-template-columns:1fr!important;gap:10px}
html.phone-experience .content-card,
html.phone-experience .content-case,
html.phone-experience .hub-card{padding:22px 18px;border-radius:20px;min-height:0}
html.phone-experience .hub-card h2{font-size:clamp(36px,11vw,50px)!important}
html.phone-experience .case-story{grid-template-columns:1fr;gap:34px}
html.phone-experience .case-story__rail{position:relative;top:auto;display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}
html.phone-experience .case-story__rail::-webkit-scrollbar{display:none}
html.phone-experience .case-story__rail a{flex:0 0 auto;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.018)}
html.phone-experience .case-story__body{gap:50px}
html.phone-experience .case-story__body h2{font-size:clamp(35px,11vw,52px);margin-bottom:18px}
html.phone-experience .case-story__body p{font-size:14px;line-height:1.65}
html.phone-experience .content-cta{padding:62px 0 82px}
html.phone-experience .content-cta__panel{padding:24px 18px;border-radius:22px;gap:26px}
html.phone-experience .content-cta h2{font-size:clamp(38px,11.5vw,56px)}
html.phone-experience .content-cta__actions{justify-content:flex-start}
html.phone-experience .content-cta__actions .button{width:100%}
html.phone-experience .context-return{max-width:calc(100vw - 24px);left:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));padding:9px 12px}

/* Keep expensive hover-only visuals out of the phone path without touching desktop/tablet. */
html.phone-experience .hero-signature *,
html.phone-experience .case-tech-grid{animation:none!important}

@media (orientation:landscape){
  html.phone-experience .hero{min-height:auto;padding-bottom:48px}
  html.phone-experience .hero__identity{font-size:clamp(54px,11vw,74px)}
  html.phone-experience .hero__copy h1{font-size:clamp(26px,5.4vw,34px)}
  html.phone-experience .hero__actions{grid-template-columns:repeat(3,1fr)}
  html.phone-experience .hero__detail-link{grid-column:auto;align-self:center}
}

@media (prefers-reduced-motion:reduce){
  html.phone-experience .page-ambient__aurora{animation:none!important}
}

/* Phone classification is stable across orientation. Neutralize width-based desktop sticky/cinema rules even in landscape. */
html.phone-experience .desktop-nav{display:none!important}
html.phone-experience .menu-button{display:flex!important}
html.phone-experience .position{min-height:auto!important}
html.phone-experience .position__grid,
html.phone-experience .editorial-stage,
html.phone-experience .work-outro-dwell .work__outro,
html.phone-experience .discipline-card,
html.phone-experience .case,
html.phone-experience .film-card{
  position:relative!important;
  top:auto!important;
}
html.phone-experience .editorial-zone,
html.phone-experience .work-outro-dwell{min-height:auto!important}
html.phone-experience .editorial-tail,
html.phone-experience .work-outro-tail,
html.phone-experience .discipline-stack::after,
html.phone-experience .case-stack::after,
html.phone-experience .film-stack::after{display:none!important}
html.phone-experience .cp-cinema,
html.phone-experience .video-lightbox{display:none!important}
html.phone-experience .cp-video__controls [data-video-enlarge]{display:none!important}
html.phone-experience .cp-video__fullscreen{display:inline-flex!important;align-items:center;justify-content:center}
html.phone-experience .desktop-label{display:none!important}
.brand-copy-phone{display:none!important}
html.phone-experience .brand-copy-desktop{display:none!important}
html.phone-experience .brand-copy-phone{display:block!important}

/* ==========================================================
   v5.2.1 — SAFE PHONE TYPOGRAPHY & LANDSCAPE REPAIR

   PHONE-ONLY overrides. Landscape phones must never inherit the
   desktop short-viewport fixed-height/sticky clipping system.
   Side gutters allow room for curved screen corners and iOS notches.
   ========================================================== */
html.phone-experience {
  --phone-side: clamp(26px, 9vw, 42px);
  --phone-left: max(var(--phone-side), calc(env(safe-area-inset-left, 0px) + 12px));
  --phone-right: max(var(--phone-side), calc(env(safe-area-inset-right, 0px) + 12px));
  scroll-padding-top: 76px;
}
html.phone-experience .shell,
html.phone-experience .discipline-stack.shell {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--phone-left) !important;
  margin-right: var(--phone-right) !important;
}
/* MAIN's identity/hero children are intentionally not .shell. */
html.phone-experience .hero__meta,
html.phone-experience .hero__identity,
html.phone-experience .hero__lower {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--phone-left) !important;
  margin-right: var(--phone-right) !important;
}
html.phone-experience .case-stack,
html.phone-experience .film-stack {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--phone-left) !important;
  margin-right: var(--phone-right) !important;
}
html.phone-experience .site-header {
  padding-left: var(--phone-left) !important;
  padding-right: var(--phone-right) !important;
  gap: 12px !important;
}
html.phone-experience .mobile-menu {
  left: var(--phone-left) !important;
  right: var(--phone-right) !important;
  width: auto !important;
  max-width: none !important;
}
/* Keep the same safe reading margin inside every content page. */
html.phone-experience .content-page-main,
html.phone-experience .content-section,
html.phone-experience .content-hero,
html.phone-experience .content-cta {max-width:100%}
html.phone-experience h1,
html.phone-experience h2,
html.phone-experience h3,
html.phone-experience h4,
html.phone-experience p {
  max-width: 100%;
  overflow-wrap: break-word;
}
html.phone-experience .brand-copy-phone,
html.phone-experience .faia-title-mobile,
html.phone-experience .hub-title-mobile {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

/* Phone content must always be measured by its contents, never capped by
   desktop 100svh rules that switch on in iPhone landscape (>= 921px). */
html.phone-experience .discipline-card,
html.phone-experience .case,
html.phone-experience .film-card {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  position: relative !important;
  top: auto !important;
  overflow: hidden;
}
html.phone-experience .discipline-card__copy,
html.phone-experience .case__content,
html.phone-experience .film-card__copy {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
html.phone-experience .discipline-card__copy,
html.phone-experience .case__content {position:relative;z-index:2}
html.phone-experience .discipline-card__copy h3,
html.phone-experience .case__content h3,
html.phone-experience .film-card__copy h3 {
  max-width: 100%;
  overflow-wrap: break-word;
  hyphens: none;
}
html.phone-experience .discipline-card__features,
html.phone-experience .case__actions,
html.phone-experience .film-copy__tags {
  flex-wrap: wrap !important;
}
html.phone-experience .case__actions .button,
html.phone-experience .case__actions .case__study-link {
  min-width: 0;
  max-width: 100%;
}
html.phone-experience .film-card {
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  align-items: stretch !important;
  gap: 20px !important;
}
html.phone-experience .film-card .cp-video {
  order:1 !important;
  width:100%;
  min-width:0;
  max-height:none !important;
}
html.phone-experience .film-card__copy {
  order:2 !important;
  padding:0 !important;
}

/* Editorial sections in landscape previously retained a short desktop
   sticky stage and overflow:hidden. That cut off entire paragraphs. */
html.phone-experience .position,
html.phone-experience .editorial-zone,
html.phone-experience .work-outro-dwell {
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
html.phone-experience .position__grid,
html.phone-experience .editorial-stage,
html.phone-experience .work-outro-dwell .work__outro {
  position:relative !important;
  top:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
html.phone-experience .position__grid{padding:0 !important}
html.phone-experience .editorial-stage{
  padding:0 !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
html.phone-experience .editorial-tail,
html.phone-experience .work-outro-tail {display:none !important}
html.phone-experience .work-outro-dwell .work__outro {
  grid-template-columns: minmax(0,1fr) !important;
  align-items:start !important;
}
html.phone-experience .work__outro-copy {grid-column:auto !important}

/* In landscape 926x428, the base file applied its Desktop 2- and 3-column
   grids despite the device being a phone. Enforce PHONE composition. */
html.phone-experience .position__grid,
html.phone-experience .systems__intro,
html.phone-experience .work__intro,
html.phone-experience .process__intro,
html.phone-experience .quality__intro,
html.phone-experience .photo-essay__head,
html.phone-experience .about__grid,
html.phone-experience .lab__grid,
html.phone-experience .contact__grid,
html.phone-experience .content-hero__grid,
html.phone-experience .content-section__head,
html.phone-experience .content-cta__panel,
html.phone-experience .case-story {
  grid-template-columns:minmax(0,1fr) !important;
}
html.phone-experience .process-system,
html.phone-experience .quality-grid,
html.phone-experience .about-steps,
html.phone-experience .film-vault__grid,
html.phone-experience .content-grid,
html.phone-experience .content-case-grid,
html.phone-experience .hub-grid {
  grid-template-columns:minmax(0,1fr) !important;
}
html.phone-experience .process-system__path{display:none!important}
html.phone-experience .site-footer {
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
}
html.phone-experience .content-fact-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
html.phone-experience .content-list__row {
  grid-template-columns:minmax(0,1fr) !important;
}
html.phone-experience .case-story__rail {
  position:relative !important;
  top:auto !important;
  flex-wrap:nowrap;
  max-width:100%;
}
html.phone-experience .case-story__body ul {
  grid-template-columns:minmax(0,1fr) !important;
}
html.phone-experience .content-cta__actions {justify-content:flex-start!important}
html.phone-experience .photo-strip {max-width:100%}
html.phone-experience .hub-card,
html.phone-experience .content-case,
html.phone-experience .content-card {min-width:0}

/* Video controls are essential: small phone touch layout must remain even
   when the physical screen is landscape-wide (> 640px CSS viewport). */
html.phone-experience .cp-video__controls{gap:4px;padding-inline:7px}
html.phone-experience .cp-video__controls button{min-height:40px;padding:7px 5px;font-size:8px}
html.phone-experience .cp-video__volume,
html.phone-experience .cp-video__time{display:none!important}
html.phone-experience .cp-video__progress{min-width:45px}
html.phone-experience .cp-video__fullscreen-label{display:none!important}
html.phone-experience .cp-video__fullscreen-icon{width:23px!important;height:23px!important;flex-basis:23px!important}
html.phone-experience .film-vault-card {grid-template-columns:minmax(0,1fr)!important}
html.phone-experience .film-vault__trigger{padding:18px 16px;gap:12px}
html.phone-experience .film-vault__trigger strong{font-size:clamp(19px,5vw,25px)}
html.phone-experience .film-vault__trigger small{display:none}

/* Phone modals should not inherit large desktop grids in landscape. */
html.phone-experience .project-features-modal__grid,
html.phone-experience .consent-banner,
html.phone-experience .consent-dialog__actions,
html.phone-experience .consent-category {
  grid-template-columns:minmax(0,1fr) !important;
}
html.phone-experience .project-features-modal {
  width:min(96vw,720px) !important;
  max-width:calc(100vw - var(--phone-left) - var(--phone-right)) !important;
  max-height:calc(100dvh - 16px) !important;
}
html.phone-experience .project-features-modal__body {
  max-height:calc(100dvh - 125px) !important;
  overflow-y:auto !important;
}
html.phone-experience .consent-banner {
  left:var(--phone-left);
  right:var(--phone-right);
  width:auto;
  max-height:calc(100dvh - 18px);
  overflow-y:auto;
}
html.phone-experience .consent-banner__actions {grid-template-columns:minmax(0,1fr)}

@media (orientation:landscape) {
  /* Short landscape heights require vertical scrolling. Don't compress text
     back into a fixed 'screen' or force a 16:9 hero. */
  html.phone-experience .hero {
    min-height:0!important;
    height:auto!important;
    padding-top:max(82px,calc(env(safe-area-inset-top, 0px) + 72px))!important;
    padding-bottom:54px!important;
  }
  html.phone-experience .hero__identity{font-size:clamp(50px,8.5vw,78px)}
  html.phone-experience .hero__actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html.phone-experience .hero__detail-link{grid-column:1/-1!important}
  html.phone-experience .discipline-card__copy h3,
  html.phone-experience .case__content h3,
  html.phone-experience .film-card__copy h3{font-size:clamp(38px,7vw,57px)}
  html.phone-experience .discipline-card__copy{padding-top:190px!important}
  html.phone-experience .case__content{padding-top:225px!important}
  html.phone-experience .discipline-card__visual{height:205px!important}
  html.phone-experience .film-core,
  html.phone-experience .brand-core,
  html.phone-experience .digital-core{height:220px!important}
  html.phone-experience .case .case__media{height:230px!important}
  html.phone-experience .case__actions{display:flex;flex-wrap:wrap;gap:8px}
  html.phone-experience .case__actions>*{flex:1 1 160px}
  html.phone-experience .editorial-zone{padding:58px 0!important}
  html.phone-experience .about-machine,
  html.phone-experience .lab-machine{min-height:380px!important}
}

/* Every case-study chapter link remains visible. The old horizontal rail
   hid 'Leistungsumfang' and 'Wirkung' beyond the screen with no affordance. */
html.phone-experience .case-story__rail {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
  align-items:stretch;
}
html.phone-experience .case-story__rail a {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:auto!important;
  min-width:0;
  min-height:42px;
  white-space:normal;
  overflow-wrap:break-word;
  font-size:8px;
  letter-spacing:.065em;
  line-height:1.4;
  padding:10px 11px;
}

/* Safari/rotation failsafe: content must not depend on a transient
   IntersectionObserver entrance or desktop stack-cover state. */
html.phone-experience .reveal {
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
html.phone-experience .discipline-card.is-covered,
html.phone-experience .case.is-covered,
html.phone-experience .film-card.is-covered {
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Landscape consent must stay on screen without inheriting the desktop
   translateX(-50%) centering after switching to inset gutters. */
html.phone-experience .consent-banner {
  bottom:max(8px,env(safe-area-inset-bottom, 0px)) !important;
  padding:15px !important;
  gap:10px !important;
  border-radius:18px !important;
  transform:translateY(20px) scale(.985) !important;
}
html.phone-experience .consent-banner.is-visible {
  transform:translateY(0) scale(1) !important;
}
html.phone-experience .consent-banner__signal{display:none!important}
html.phone-experience .consent-dialog {
  width:min(760px,calc(100vw - var(--phone-left) - var(--phone-right))) !important;
  max-height:calc(100dvh - 16px) !important;
}
html.phone-experience .consent-dialog__body {
  max-height:calc(100dvh - 134px) !important;
  padding:14px;
}
html.phone-experience .project-features-modal__footer{
  flex-wrap:wrap;
  gap:8px;
}
html.phone-experience .lab-machine__hint {left:16px;right:16px;bottom:68px}

/* Floating case-study return belongs to the same visual safety grid. */
html.phone-experience .context-return {
  left:var(--phone-left) !important;
  right:auto !important;
  max-width:calc(100vw - var(--phone-left) - var(--phone-right)) !important;
}
