/* Dedicated mobile presentation layer.
   This file only applies below 1024px; desktop layout rules remain untouched. */
.mobile-menu-toggle { display:none; }
@media (max-width:1023px) {
  :root { --mobile-pad:18px; }

  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  body { cursor:auto; }
  main { width:100%; min-width:0; }
  img, video, iframe, svg { max-width:100%; }
  .cursor, .ai-cursor-angel { display:none!important; }
  .reveal, .reveal-project, .story-beat { opacity:1!important; visibility:visible!important; transform:none!important; filter:none!important; }

  /* Project pages: ordinary reading flow, with every asset visible. */
  .project-header {
    position:relative!important;
    z-index:20!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    width:100%!important;
    height:62px!important;
    padding:0 var(--mobile-pad)!important;
    font-size:8px!important;
  }
  .project-header>span { display:none!important; }
  .project-brand { grid-column:1!important; min-width:0; }
  .project-close { grid-column:2!important; }
  .project-overview {
    width:100%!important;
    padding:42px var(--mobile-pad) 46px!important;
  }
  .project-overview h1 {
    max-width:100%!important;
    margin:16px 0 30px!important;
    font-size:clamp(2.15rem,10vw,4.5rem)!important;
    line-height:.9!important;
  }
  .project-hero-grid, .project-brief, .project-summary, .project-text, .project-detail, .project-campaign-pair {
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    gap:24px!important;
  }
  .project-brief dl { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px 14px!important; }
  .project-summary { margin-top:30px!important; }
  .project-summary p, .project-summary__lead, .project-text h2, .project-text p, .project-detail__copy p {
    max-width:100%!important;
    font-size:.94rem!important;
    line-height:1.5!important;
  }
  .project-team { width:100%!important; margin:0 0 6px!important; }
  .project-team__grid { grid-template-columns:1fr!important; gap:14px!important; }
  .project-team dl>div { grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr)!important; }
  .project-cover, .project-wide, .project-detail, .project-inspiration, .project-campaign-pair {
    width:100%!important;
    margin:0!important;
    padding:34px var(--mobile-pad) 54px!important;
  }
  .project-cover { padding-top:0!important; }
  .project-cover img, .project-wide img, .project-detail figure img, .project-campaign-pair img {
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .project-cover figcaption, .project-wide figcaption { font-size:7px!important; }
  .project-inspiration__grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
  .project-inspiration img { aspect-ratio:3/4!important; object-fit:cover!important; }
  .project-end { padding:80px var(--mobile-pad)!important; }
  .project-end h2 { margin:30px auto 24px!important; font-size:clamp(3rem,14vw,6rem)!important; }
  .project-next { padding:38px var(--mobile-pad)!important; }
  .project-next strong { font-size:clamp(2.6rem,12vw,5rem)!important; }
  .project-footer { gap:14px!important; flex-wrap:wrap!important; padding:20px var(--mobile-pad)!important; }
  .project-footer span:nth-child(2) { display:none!important; }

  /* Keep the phone header minimal: logo plus a two-line hamburger button. */
  .site-header .brand>span { display:block!important; width:7ch!important; white-space:normal!important; line-height:.86!important; }
  .mobile-menu-toggle { grid-column:2!important; display:grid!important; width:30px!important; height:30px!important; padding:6px 3px!important; border:0!important; place-content:center!important; gap:5px!important; color:#fff!important; background:transparent!important; cursor:pointer!important; pointer-events:auto!important; z-index:120!important; }
  .mobile-menu-toggle i { display:block!important; width:23px!important; height:2px!important; background:currentColor!important; transition:transform .2s ease!important; }
  .site-header nav { display:none!important; }
  .site-header.is-menu-open nav { position:fixed!important; z-index:110!important; top:58px!important; right:var(--mobile-pad)!important; left:var(--mobile-pad)!important; display:grid!important; gap:0!important; padding:8px 0!important; color:var(--acid)!important; background:#090909!important; border:1px solid rgba(255,255,255,.18)!important; }
  .site-header.is-menu-open nav a { display:block!important; padding:14px 16px!important; color:var(--acid)!important; font-size:11px!important; }
  .site-header.is-menu-open .mobile-menu-toggle i:first-child { transform:translateY(3.5px) rotate(45deg)!important; }
  .site-header.is-menu-open .mobile-menu-toggle i:last-child { transform:translateY(-3.5px) rotate(-45deg)!important; }

  /* Campaign media: no overlays, carousels, or hover choreography on a phone. */
  .samsung-film, .tt-film, .samsung-billboard, .samsung-billboard--laptop, .samsung-billboard--wide,
  .tt-key-visual, .tt-billboard, .tt-flyer, .tt-macbook {
    display:block!important;
    width:calc(100% - 2 * var(--mobile-pad))!important;
    min-width:0!important;
    margin:0 auto 34px!important;
    padding:0!important;
    aspect-ratio:auto!important;
    transform:none!important;
  }
  .samsung-film video, .tt-film video, .samsung-billboard img, .tt-key-visual img, .tt-billboard img, .tt-flyer img, .tt-macbook img {
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
  .samsung-film__play { display:block!important; }
  .tt-social-grid, .tt-reels, .tt-collaboration {
    display:grid!important;
    grid-template-columns:1fr!important;
    width:calc(100% - 2 * var(--mobile-pad))!important;
    gap:20px!important;
    margin:0 auto 54px!important;
  }
  .tt-social-grid figure, .tt-reels figure, .tt-collaboration figure { width:100%!important; margin:0!important; }
  .tt-social-grid img, .tt-collaboration video, .tt-reels video { width:100%!important; height:auto!important; object-fit:contain!important; }
  .samsung-retail-island { width:100%!important; padding:var(--mobile-pad)!important; }
  .samsung-poster-editorial { display:flex!important; flex-direction:column!important; gap:20px!important; width:100%!important; margin:0 0 54px!important; }
  .samsung-billboard--shoot-poster { order:1!important; width:calc(100% - 2 * var(--mobile-pad))!important; margin:0 auto!important; }
  .samsung-contact-sheet, .samsung-contact-sheet--right {
    position:static!important;
    order:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:calc(100% - 2 * var(--mobile-pad))!important;
    margin:0 auto!important;
    gap:10px 6px!important;
  }
  .samsung-contact-sheet, .samsung-contact-sheet--right { display:none!important; }
  .samsung-contact-sheet figure { transform:none!important; opacity:1!important; }
  .samsung-contact-sheet img { width:100%!important; height:auto!important; object-fit:contain!important; }
  .samsung-social { width:100%!important; padding:0 0 54px!important; overflow:visible!important; }
  .samsung-social__label { width:calc(100% - 2 * var(--mobile-pad))!important; margin:0 auto!important; }
  .samsung-social__viewport { overflow:visible!important; padding:18px 0 0!important; }
  .samsung-social__track {
    display:grid!important;
    grid-template-columns:1fr!important;
    width:calc(100% - 2 * var(--mobile-pad))!important;
    gap:16px!important;
    margin:0 auto!important;
    padding:0!important;
    transform:none!important;
  }
  .samsung-social__slide { width:100%!important; margin:0!important; transform:none!important; opacity:1!important; }
  .samsung-social__slide img { width:100%!important; height:auto!important; }
  .samsung-social__controls { display:none!important; }

  /* ANIMA: info, original, then result—always stacked and uncropped. */
  .anima-artwork {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-height:0!important;
    gap:26px!important;
    padding:42px var(--mobile-pad) 58px!important;
  }
  .anima-artwork__side { display:contents!important; }
  .anima-artwork__info, .anima-artwork__original, .anima-artwork__result {
    position:static!important;
    order:initial!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
  }
  .anima-artwork__info { order:1!important; }
  .anima-artwork__original { order:2!important; width:min(72%,320px)!important; }
  .anima-artwork__result { order:3!important; }
  .anima-artwork__info h2 { max-width:100%!important; margin-bottom:24px!important; font-size:1.2rem!important; }
  .anima-artwork__info dl div { grid-template-columns:80px 1fr!important; }
  .anima-artwork__original img, .anima-artwork__result img { width:100%!important; height:auto!important; max-height:none!important; object-fit:contain!important; }
  .anima-artwork figcaption { display:block!important; font-size:6px!important; line-height:1.5!important; }
  .anima-artwork figcaption span { display:block!important; }
  .anima-section-grid, .anima-swiss-grid { visibility:hidden!important; opacity:0!important; pointer-events:none!important; }

  /* Winamp: all previously layered assets become a simple vertical article. */
  .winamp-presentation { width:100%!important; min-width:0!important; }
  .winamp-logo-history, .winamp-logo-system__grid, .winamp-personality, .winamp-colors__grid { display:grid!important; grid-template-columns:1fr!important; width:100%!important; }
  .winamp-logo-system__grid { grid-auto-rows:auto!important; aspect-ratio:auto!important; }
  .winamp-logo-card { width:100%!important; height:auto!important; min-height:0!important; aspect-ratio:1/1!important; }
  .winamp-construction, .winamp-lockup-grid { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; }
  .winamp-typography, .winamp-wordstream, .winamp-applications__scene, .winamp-night, .winamp-head-showcase { height:auto!important; min-height:0!important; }
  .winamp-stories { width:100%!important; overflow:visible!important; }
  .winamp-stories__track { display:grid!important; grid-template-columns:1fr!important; width:calc(100% - 2 * var(--mobile-pad))!important; gap:16px!important; margin:0 auto!important; transform:none!important; }
  .winamp-stories figure, .winamp-stories figure img { width:100%!important; height:auto!important; transform:none!important; }
  .winamp-hover-motion, .winamp-culture-loop { animation:none!important; transform:none!important; }

  /* Heinz and other editorial pages use a standard vertical flow. */
  .heinz-timeline { width:100%!important; padding:0 var(--mobile-pad)!important; }
  .heinz-timeline__flow { display:grid!important; grid-template-columns:1fr!important; grid-template-rows:none!important; gap:30px!important; width:100%!important; height:auto!important; overflow:visible!important; }
  .heinz-timeline__side, .heinz-step--hero .heinz-step__media, .heinz-step--hero .heinz-step__caption, .heinz-article { grid-column:auto!important; grid-row:auto!important; width:100%!important; }
  .heinz-step__media { height:auto!important; aspect-ratio:auto!important; }
  .heinz-step__media img, .heinz-step__media video { width:100%!important; height:auto!important; object-fit:contain!important; }
  .heinz-mockups { gap:18px!important; margin-top:34px!important; }
  .heinz-mockup { padding:0!important; }
  .nike-image-strip { overflow:hidden!important; }
  .nike-image-strip__track { animation:none!important; transform:none!important; width:100%!important; display:grid!important; grid-template-columns:1fr!important; gap:14px!important; }
  .nike-image-strip__set { display:contents!important; }
  .nike-image-strip figure { width:100%!important; height:auto!important; }

  /* Visual Fragments: gallery and wall are readable without viewport clipping. */
  .fragments-viewbar { position:relative!important; top:auto!important; width:100%!important; }
  .fragments-gallery { display:grid!important; grid-template-columns:1fr!important; grid-template-rows:auto auto!important; width:100%!important; height:auto!important; min-height:0!important; overflow:visible!important; }
  .fragments-gallery__stage { min-height:64svh!important; height:auto!important; }
  .fragments-gallery__artwork img { width:auto!important; max-width:calc(100% - 36px)!important; height:auto!important; max-height:62svh!important; object-fit:contain!important; }
  .fragments-thumbs { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; height:auto!important; min-height:0!important; padding:14px!important; overflow:visible!important; }
  .fragments-wall { width:100%!important; }
  .fragments-view--gallery .fragments-gallery { display:none!important; }
  .fragments-view--gallery .fragments-wall, .fragments-view--gallery .project-text, .fragments-view--gallery .project-end { display:block!important; }
  .fragments-viewbar button { display:none!important; }
  .fragment-band { display:grid!important; grid-template-columns:1fr!important; width:100%!important; gap:24px!important; margin:0 0 42px!important; }
  .fragment-band figure { width:100%!important; margin:0!important; }
  .fragment-band img { width:100%!important; height:auto!important; transform:none!important; transition:none!important; box-shadow:none!important; }
  .fragment-band figcaption { display:block!important; font-size:6px!important; line-height:1.5!important; }
  .fragment-band figcaption span { display:block!important; }

  /* AI Maniac: keep every tool in a calm, two-column phone grid with no motion. */
  .ai-page { width:100%!important; min-height:100svh!important; padding:20px var(--mobile-pad) 34px!important; }
  .ai-page__top { gap:16px!important; line-height:1.35!important; }
  .ai-page__brand, .ai-page__back { max-width:48%!important; }
  .ai-page__head { display:block!important; padding:58px 0 52px!important; }
  .ai-page__head>span { display:block!important; margin-bottom:22px!important; }
  .ai-page__head h1 { font-size:clamp(2.55rem,12vw,4rem)!important; }
  .ai-page__head p { max-width:290px!important; margin-top:24px!important; }
  .ai-tools__group { display:block!important; padding:26px 0 34px!important; }
  .ai-tools__group h2 { margin-bottom:16px!important; }
  .ai-tools__grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
  .ai-tool { min-height:0!important; padding:16px 8px 12px!important; transform:none!important; transition:none!important; }
  .ai-tool i img { transform:none!important; transition:none!important; }
  .ai-page__foot { gap:18px!important; line-height:1.4!important; }
  .ai-page__star-wipe { display:none!important; }
  .is-entering .ai-page > * { animation:none!important; }

  /* Home: one static phone hero. Text sits on top of a centered, full-height video. */
  .site-header {
    position:fixed!important;
    z-index:100!important;
    top:0!important;
    left:0!important;
    right:0!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    height:58px!important;
    padding:0 var(--mobile-pad)!important;
    opacity:1!important;
    transform:none!important;
    font-size:9px!important;
  }
  body.is-ready .site-header { opacity:1!important; transform:none!important; }
  .site-header nav { justify-self:end!important; gap:12px!important; font-size:8px!important; }
  .site-header .language-switcher, .site-header .sound { display:none!important; }
  .hero-sequence, .hero-sequence.is-scrubbable, .hero-sequence--static-preview.is-scrubbable {
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    background:#000!important;
  }
  .hero-sequence .hero {
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100svh!important;
    min-height:560px!important;
    aspect-ratio:auto!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .hero__media {
    position:absolute!important;
    z-index:0!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
    background:#000!important;
  }
  .hero__media img, .hero__media video {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:54% 50%!important;
  }
  .hero__video.hero__journey--mirrored { object-position:72% 50%!important; }
  .hero__shade {
    display:block!important;
    z-index:1!important;
    opacity:1!important;
    background:
      radial-gradient(ellipse 90% 56% at 50% 108%,rgba(0,0,0,.74) 0%,rgba(0,0,0,.48) 42%,transparent 78%),
      linear-gradient(180deg,rgba(0,0,0,.04) 0%,transparent 42%,rgba(0,0,0,.22) 66%,rgba(0,0,0,.72) 100%)!important;
  }
  .hero__title, .hero--image .hero__title {
    position:absolute!important;
    z-index:4!important;
    right:var(--mobile-pad)!important;
    bottom:48px!important;
    left:var(--mobile-pad)!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    color:var(--acid)!important;
    font-size:clamp(2.05rem,10.2vw,4.2rem)!important;
    line-height:.79!important;
    letter-spacing:-.07em!important;
    transform:none!important;
  }
  .hero__line { display:block!important; width:auto!important; white-space:normal!important; overflow:visible!important; }
  .hero__line>* { opacity:1!important; visibility:visible!important; transform:none!important; filter:none!important; }
  .hero__angel-window { display:none!important; }
  .hero__ethos { display:block!important; margin-top:8px!important; font-size:7px!important; line-height:1!important; letter-spacing:.12em!important; }
  .hero__statement { display:block!important; position:absolute!important; z-index:4!important; top:76px!important; right:var(--mobile-pad)!important; width:auto!important; margin:0!important; text-align:right!important; opacity:1!important; transform:none!important; }
  .hero__statement small, .hero__practice small { font-size:7px!important; }
  .hero__statement p { margin:7px 0 0!important; font-size:9px!important; line-height:1.25!important; }
  .hero__practice { margin-top:20px!important; }
  .hero__practice p { margin-top:7px!important; font-size:8px!important; line-height:1.35!important; }
  .hero__statement, .hero__practice { display:none!important; }
  .hero__side { display:none!important; }
  .hero__foot { position:absolute!important; z-index:5!important; right:var(--mobile-pad)!important; bottom:18px!important; left:var(--mobile-pad)!important; display:flex!important; justify-content:space-between!important; padding:0!important; font-size:7px!important; }
  .hero__video { opacity:1!important; visibility:visible!important; }

  /* Home content continues as ordinary sections after the hero. */
  .profile-intro, .work, .contact { width:100%!important; min-height:0!important; padding-right:var(--mobile-pad)!important; padding-left:var(--mobile-pad)!important; }
  .profile-intro__grid { position:relative!important; display:grid!important; grid-template-columns:1fr!important; grid-template-rows:auto auto auto!important; gap:18px!important; padding-top:84px!important; }
  .profile-intro__portrait { grid-column:1!important; grid-row:1!important; width:min(100%,330px)!important; max-width:330px!important; aspect-ratio:4/3!important; margin:0 auto!important; }
  .profile-intro__portrait img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:57% 50%!important; transform:none!important; }
  .profile-intro__identity { display:contents!important; }
  .profile-intro__identity-spacer, .profile-intro__identity h2, .profile-intro__role { display:none!important; }
  .profile-intro__identity::before, .profile-intro__identity::after { display:none!important; }
  .profile-intro__angel { display:none!important; }
  .profile-intro__identity h2 { display:flex!important; grid-column:1!important; grid-row:2!important; flex-direction:column!important; align-items:flex-start!important; gap:0!important; width:100%!important; margin:0!important; color:var(--paper)!important; font-size:clamp(3.35rem,15vw,5rem)!important; line-height:.78!important; letter-spacing:-.072em!important; }
  .profile-intro__narrative { grid-column:1!important; grid-row:3!important; width:100%!important; margin:0!important; padding:0!important; transform:none!important; }
  .profile-intro__narrative>a { display:none!important; }
  .profile-intro__foot { display:none!important; }
  .work__head { display:block!important; }
  .projects-viewbar { display:none!important; }
  .projects { display:grid!important; grid-template-columns:1fr!important; gap:28px!important; width:100%!important; }
  .project-card, .projects:not(.is-list) .project-card { grid-column:1!important; width:100%!important; min-width:0!important; aspect-ratio:auto!important; }
  .projects:not(.is-list) .project-card__media { position:relative!important; inset:auto!important; width:100%!important; max-width:100%!important; min-width:0!important; height:auto!important; aspect-ratio:1/1!important; overflow:hidden!important; }
  .project-card__media { width:100%!important; max-width:100%!important; min-width:0!important; overflow:hidden!important; }
  .project-card__media img, .project-card__media video { display:block!important; width:100%!important; max-width:100%!important; min-width:0!important; height:100%!important; object-fit:cover!important; transform:none!important; transition:none!important; }
  .projects:not(.is-list) .project-card__title { position:relative!important; width:100%!important; max-width:100%!important; padding-right:0!important; margin-top:14px!important; }
  .projects:not(.is-list) .project-card__title strong { font-size:clamp(1rem,5.2vw,1.35rem)!important; line-height:1.08!important; }
  .projects:not(.is-list) .project-card__type { display:block!important; margin-top:7px!important; font-size:6px!important; }
  .project-card__arrow, .project-card__index { transition:none!important; }
  .discovery-gate, .creative-thesis, .manifesto { min-height:0!important; height:auto!important; }
  .discovery-gate__sticky, .creative-thesis__sticky { position:relative!important; top:auto!important; height:100svh!important; min-height:0!important; }
  .manifesto__stage { position:relative!important; top:auto!important; display:block!important; width:100%!important; height:auto!important; min-height:0!important; overflow:hidden!important; }
  .manifesto__scene { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; }
  .manifesto__scene img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; transform:none!important; }
  .manifesto__scene::before { width:100%!important; background:linear-gradient(180deg,rgba(3,5,7,.18) 0%,rgba(3,5,7,.32) 42%,rgba(3,5,7,.94) 100%)!important; opacity:1!important; }
  .manifesto__content { position:relative!important; z-index:4!important; display:flex!important; align-items:flex-start!important; justify-content:flex-end!important; width:100%!important; min-width:0!important; height:auto!important; min-height:100svh!important; padding:120px var(--mobile-pad) 96px!important; opacity:1!important; }
  .manifesto__trigger { display:block!important; width:100%!important; max-width:none!important; }
  .manifesto__heading { width:100%!important; font-size:clamp(2.45rem,12.5vw,4.4rem)!important; line-height:.82!important; }
  .manifesto__heading>span { display:block!important; width:100%!important; max-width:none!important; white-space:nowrap!important; opacity:1!important; visibility:visible!important; filter:none!important; transform:none!important; }
  .manifesto__copy { width:100%!important; max-width:none!important; margin-top:28px!important; padding-top:16px!important; opacity:1!important; transform:none!important; }
  .manifesto__body { max-width:100%!important; font-size:.92rem!important; font-weight:600!important; line-height:1.45!important; }
  .manifesto__enter { margin-top:20px!important; }
  .manifesto__action { margin-top:38px!important; }
  .manifesto__ticker { position:relative!important; right:auto!important; bottom:auto!important; left:auto!important; transform:none!important; }
  .disciplines { min-height:0!important; grid-template-columns:1fr!important; margin:0!important; padding:64px var(--mobile-pad)!important; }
  .disciplines__intro, .discipline-list { position:relative!important; top:auto!important; }
  .discipline-list { margin-top:26px!important; }
  .manifesto__content, .manifesto__heading>span, .manifesto__copy { opacity:1!important; visibility:visible!important; transform:none!important; filter:none!important; }
}

@media (max-width:560px) {
  .project-brief dl, .project-inspiration__grid { grid-template-columns:1fr!important; }
  .samsung-contact-sheet, .samsung-contact-sheet--right { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .fragments-thumbs { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
