.mobile-menu-toggle{display:none;}
/* V55 MOBILE FIX — project pages. All selectors are page-scoped. Desktop is untouched. */
@media (max-width:900px){
  :root{--mpad:20px;--pgold:#d6a354;}
  *{min-width:0;}
  html{scroll-snap-type:none!important;overflow-x:hidden!important;scroll-behavior:smooth;}
  body.project-page{width:100%;max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%;}
  body.project-page.mobile-menu-lock{overflow:hidden!important;}
  body.project-page main,body.project-page .screen,body.project-page section{max-width:100%;overflow-x:hidden!important;}
  body.project-page .screen{height:auto!important;min-height:0!important;max-height:none!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important;}
  body.project-page img,body.project-page video{max-width:100%;}
  body.project-page figure{margin:0!important;}

  /* Shared compact mobile project header */
  body.project-page .topbar{
    position:sticky!important;left:0!important;right:0!important;top:0!important;z-index:500!important;
    width:100%!important;height:64px!important;padding:0 var(--mpad)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    background:rgba(6,9,9,.96)!important;border-bottom:1px solid rgba(214,163,84,.18)!important;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  }
  body.project-page .topbar .wordmark,body.project-page .topbar .brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;color:#f4efe7!important;text-decoration:none!important;white-space:nowrap!important;line-height:1!important;}
  body.project-page .topbar .wordmark img,body.project-page .topbar .brand img,body.project-page .topbar .wordmark-bear{width:38px!important;height:38px!important;object-fit:contain!important;}
  body.project-page .topbar .wordmark b,body.project-page .topbar .wordmark-text,body.project-page .topbar .brand span{display:block!important;font-size:16px!important;font-weight:800!important;line-height:1!important;letter-spacing:.03em!important;}
  body.project-page .mobile-menu-toggle{display:inline-grid!important;place-items:center!important;position:relative!important;z-index:3!important;width:44px!important;height:44px!important;flex:0 0 44px!important;border:1px solid rgba(214,163,84,.42)!important;border-radius:50%!important;background:rgba(255,255,255,.025)!important;color:#f4efe7!important;font-size:0!important;}
  body.project-page .mobile-menu-toggle::before,body.project-page .mobile-menu-toggle::after,body.project-page .mobile-menu-toggle span{content:"";position:absolute;width:18px;height:1.5px;background:currentColor;transition:transform .25s ease,opacity .25s ease;}
  body.project-page .mobile-menu-toggle::before{transform:translateY(-6px)}
  body.project-page .mobile-menu-toggle::after{transform:translateY(6px)}
  body.project-page .topbar.mobile-menu-open .mobile-menu-toggle span{opacity:0}
  body.project-page .topbar.mobile-menu-open .mobile-menu-toggle::before{transform:rotate(45deg)}
  body.project-page .topbar.mobile-menu-open .mobile-menu-toggle::after{transform:rotate(-45deg)}
  body.project-page .topbar nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:64px!important;width:100%!important;padding:14px var(--mpad) 18px!important;background:rgba(6,9,9,.985)!important;border-bottom:1px solid rgba(214,163,84,.2)!important;grid-template-columns:1fr!important;gap:7px!important;box-shadow:0 18px 40px rgba(0,0,0,.4)!important;}
  body.project-page .topbar.mobile-menu-open nav{display:grid!important;}
  body.project-page .topbar nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:45px!important;padding:0 14px!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important;color:#e9e4db!important;font-size:10px!important;letter-spacing:.10em!important;white-space:normal!important;text-align:left!important;}
  body.project-page .manifest,body.project-page .dots,body.project-page .screen-dots,body.project-page .hero-note,body.project-page .hero-side,body.project-page .cover-note,body.project-page .contacts>.bear,body.project-page .contact-art,body.project-page .lines,body.project-page .gold-lines.contact-lines,body.project-page .contact-orbit,body.project-page .ambient-lines,body.project-page .video-gold-lines,body.project-page .bear-rays{display:none!important;}

  /* Shared project contacts */
  body.project-page .contacts,body.project-page .portfolio-contacts{height:auto!important;min-height:0!important;padding:44px var(--mpad) 54px!important;}
  body.project-page .contacts .contact-copy,body.project-page .portfolio-contacts .contact-copy{position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important;padding:0!important;z-index:2!important;}
  body.project-page .contacts h2,body.project-page .portfolio-contacts h2{font-size:clamp(41px,10.8vw,50px)!important;line-height:.96!important;letter-spacing:-.04em!important;margin:12px 0 17px!important;max-width:100%!important;}
  body.project-page .contacts p,body.project-page .portfolio-contacts p{font-size:16px!important;line-height:1.55!important;max-width:100%!important;}
  body.project-page .links,body.project-page .contact-icons,body.project-page .contact-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:24px!important;justify-content:stretch!important;}
  body.project-page .links a,body.project-page .contact-icons a,body.project-page .contact-links a{box-sizing:border-box!important;width:auto!important;min-height:104px!important;padding:12px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;border:1px solid rgba(214,163,84,.25)!important;border-radius:16px!important;background:rgba(255,255,255,.025)!important;color:#ece6dd!important;text-decoration:none!important;font-size:11px!important;}
  body.project-page .links span,body.project-page .contact-links .contact-icon{width:52px!important;height:52px!important;margin:0 0 9px!important;display:grid!important;place-items:center!important;border-radius:50%!important;}
  body.project-page .contact-icons a span{font-size:22px!important;margin-bottom:8px!important;}
  body.project-page .back,body.project-page .all-projects-link{display:inline-block!important;margin-top:28px!important;font-size:10px!important;letter-spacing:.12em!important;}

  /* Lightbox */
  body.project-page .lb img,body.project-page .lightbox img{max-width:92vw!important;max-height:78vh!important;object-fit:contain!important;}
  body.project-page .lb .prev,body.project-page .lb .next,body.project-page .lightbox .lb-prev,body.project-page .lightbox .lb-next{width:46px!important;height:46px!important;}

  /* ROSTSELMASH */
  body.page-rostselmash .screen-intro{display:block!important;}
  body.page-rostselmash .cover{position:relative!important;height:610px!important;min-height:610px!important;overflow:hidden!important;}
  body.page-rostselmash .cover-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:56% center!important;}
  body.page-rostselmash .cover-shade{background:linear-gradient(180deg,rgba(4,5,5,.18),rgba(4,5,5,.45) 45%,rgba(4,5,5,.94) 100%)!important;}
  body.page-rostselmash .cover-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:42px!important;top:auto!important;width:auto!important;padding:0!important;z-index:3!important;}
  body.page-rostselmash .cover-copy>span{font-size:10px!important;}
  body.page-rostselmash .cover h1{font-size:clamp(38px,10.8vw,48px)!important;line-height:.94!important;letter-spacing:.01em!important;margin:15px 0 15px!important;white-space:normal!important;overflow-wrap:normal!important;}
  body.page-rostselmash .cover-copy p{font-size:14px!important;line-height:1.45!important;}
  body.page-rostselmash .cover-meta{margin-top:22px!important;padding-top:12px!important;font-size:9px!important;}
  body.page-rostselmash .metrics{height:auto!important;display:grid!important;grid-template-columns:1fr!important;padding:10px var(--mpad) 16px!important;}
  body.page-rostselmash .metrics>div{height:auto!important;min-height:0!important;text-align:left!important;align-items:flex-start!important;padding:20px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;}
  body.page-rostselmash .metrics>div:last-child{border-bottom:0!important;}
  body.page-rostselmash .metric-intro p{font-size:26px!important;line-height:1.16!important;max-width:100%!important;margin:10px 0 0!important;}
  body.page-rostselmash .metric strong{font-size:34px!important;}
  body.page-rostselmash .metric strong.material{font-size:25px!important;}
  body.page-rostselmash .metric span{font-size:11px!important;line-height:1.45!important;margin-top:10px!important;}
  body.page-rostselmash .about{height:auto!important;display:flex!important;flex-direction:column!important;}
  body.page-rostselmash .about-copy{padding:38px var(--mpad) 30px!important;}
  body.page-rostselmash .about h2{font-size:38px!important;line-height:.98!important;margin:10px 0 20px!important;}
  body.page-rostselmash .about p{font-size:16px!important;line-height:1.6!important;max-width:100%!important;margin-bottom:18px!important;}
  body.page-rostselmash .about>figure{height:330px!important;width:100%!important;order:2!important;}
  body.page-rostselmash .about>figure img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.page-rostselmash .mini-meta{font-size:9px!important;}
  body.page-rostselmash .process{height:auto!important;padding:40px 0 46px!important;}
  body.page-rostselmash .process>h2,body.page-rostselmash .results>h2{font-size:34px!important;line-height:1!important;margin:0 0 20px!important;padding:0 var(--mpad)!important;}
  body.page-rostselmash .steps{width:100%!important;padding:0 var(--mpad) 26px!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;}
  body.page-rostselmash .steps>div{padding:13px 0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;}
  body.page-rostselmash .steps span{font-size:10px!important;}
  body.page-rostselmash .process-gallery{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.page-rostselmash .process-gallery>figure{height:300px!important;}
  body.page-rostselmash .process-gallery aside{min-height:0!important;padding:var(--mpad) var(--mpad) 30px!important;}
  body.page-rostselmash .process-gallery aside figure{height:240px!important;margin:0 0 22px!important;}
  body.page-rostselmash .process-gallery h3{font-size:26px!important;}
  body.page-rostselmash .process-gallery aside p{font-size:14px!important;line-height:1.5!important;}
  body.page-rostselmash .results{height:auto!important;padding:40px 0 46px!important;}
  body.page-rostselmash .result-gallery{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.page-rostselmash .result-gallery figure{height:300px!important;}
  body.page-rostselmash .inside{height:auto!important;display:block!important;padding:40px var(--mpad) 46px!important;}
  body.page-rostselmash .inside h2{font-size:40px!important;line-height:.96!important;margin:12px 0 16px!important;}
  body.page-rostselmash .inside-head p{font-size:16px!important;line-height:1.55!important;max-width:100%!important;}
  body.page-rostselmash .video-card{height:auto!important;aspect-ratio:16/10!important;margin-top:22px!important;border-radius:14px!important;}
  body.page-rostselmash .portfolio-contacts{padding-left:0!important;padding-right:0!important;}
  body.page-rostselmash .portfolio-contacts .contact-stage{display:block!important;width:100%!important;padding:0 var(--mpad)!important;}

  /* CHURCH */
  body.page-church .hero{position:relative!important;min-height:640px!important;height:640px!important;padding:0!important;overflow:hidden!important;}
  body.page-church .hero-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:62% center!important;}
  body.page-church .shade{background:linear-gradient(180deg,rgba(7,16,16,.12),rgba(7,16,16,.42) 43%,rgba(7,16,16,.96) 100%)!important;}
  body.page-church .hero-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:34px!important;top:auto!important;transform:none!important;width:auto!important;padding:0!important;z-index:2!important;}
  body.page-church .hero h1{font-size:clamp(34px,9.4vw,42px)!important;line-height:.96!important;margin:0 0 12px!important;}
  body.page-church .place{font-size:17px!important;margin:0!important;}
  body.page-church .rule{margin:18px 0!important;}
  body.page-church .lead{font-size:15px!important;line-height:1.5!important;max-width:100%!important;}
  body.page-church .facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:20px!important;}
  body.page-church .facts div{padding:0!important;border:0!important;}
  body.page-church .facts b{font-size:22px!important;}
  body.page-church .facts span{font-size:10px!important;}
  body.page-church .video-sec{height:auto!important;padding:40px var(--mpad) 46px!important;}
  body.page-church .label{position:static!important;display:flex!important;justify-content:space-between!important;gap:10px!important;margin:0 0 18px!important;font-size:10px!important;}
  body.page-church .label span{margin-left:0!important;}
  body.page-church .video-grid{height:auto!important;display:flex!important;flex-direction:column!important;padding:0!important;gap:22px!important;}
  body.page-church .phone{width:min(100%,310px)!important;height:auto!important;aspect-ratio:9/16!important;margin:0 auto!important;justify-self:auto!important;border-radius:28px!important;}
  body.page-church .phone video{border-radius:21px!important;}
  body.page-church .copy{max-width:100%!important;}
  body.page-church .copy h2{font-size:42px!important;line-height:.96!important;margin:0 0 15px!important;}
  body.page-church .copy p{font-size:16px!important;line-height:1.55!important;}
  body.page-church .watch{width:100%!important;max-width:310px!important;height:56px!important;}
  body.page-church .finished{height:auto!important;padding:40px var(--mpad) 46px!important;}
  body.page-church .gallery{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.page-church .gallery figure{height:310px!important;}
  body.page-church .note{height:auto!important;display:block!important;max-width:100%!important;margin-top:22px!important;}
  body.page-church .note i{display:block!important;width:54px!important;margin-bottom:16px!important;}
  body.page-church .note p{font-size:21px!important;line-height:1.35!important;margin:0!important;}

  /* DENTISTRY */
  body.page-dentistry .hero{position:relative!important;height:660px!important;min-height:660px!important;overflow:hidden!important;padding:0!important;}
  body.page-dentistry .hero-image,body.page-dentistry .hero-overlay{position:absolute!important;inset:0!important;}
  body.page-dentistry .hero-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:38px!important;top:auto!important;transform:none!important;width:auto!important;padding:0!important;z-index:3!important;}
  body.page-dentistry .hero h1{font-size:clamp(40px,11vw,50px)!important;line-height:.95!important;margin:0 0 16px!important;}
  body.page-dentistry .hero-sub{font-size:16px!important;line-height:1.5!important;}
  body.page-dentistry .scope{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:18px!important;}
  body.page-dentistry .scope span{font-size:9px!important;line-height:1.35!important;}
  body.page-dentistry .harmony,body.page-dentistry .materials,body.page-dentistry .video-section{height:auto!important;padding:40px var(--mpad) 46px!important;}
  body.page-dentistry .section-kicker{font-size:10px!important;line-height:1.4!important;}
  body.page-dentistry .harmony-head{display:block!important;margin:16px 0 20px!important;}
  body.page-dentistry .harmony h2,body.page-dentistry .materials h2,body.page-dentistry .video-copy h2,body.page-dentistry .inspiration h2{font-size:clamp(39px,10.5vw,48px)!important;line-height:.96!important;}
  body.page-dentistry .harmony-head p,body.page-dentistry .materials-copy p,body.page-dentistry .video-copy p,body.page-dentistry .inspiration-copy p{font-size:16px!important;line-height:1.55!important;max-width:100%!important;}
  body.page-dentistry .mosaic{height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.page-dentistry .mosaic figure{height:280px!important;grid-column:auto!important;grid-row:auto!important;}
  body.page-dentistry .materials{display:block!important;}
  body.page-dentistry .material-photo{height:300px!important;margin:18px 0 22px!important;}
  body.page-dentistry .material-photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.page-dentistry .materials-copy{padding:0!important;}
  body.page-dentistry .material-types{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important;}
  body.page-dentistry .material-types>div{display:grid!important;grid-template-columns:86px 1fr!important;gap:12px!important;align-items:center!important;}
  body.page-dentistry .material-types img{width:86px!important;height:86px!important;object-fit:cover!important;}
  body.page-dentistry .video-layout{display:flex!important;flex-direction:column!important;gap:22px!important;}
  body.page-dentistry .video-layout .phone,body.page-dentistry .video-layout video{max-width:100%!important;}
  body.page-dentistry .inspiration{position:relative!important;height:620px!important;min-height:620px!important;padding:0!important;overflow:hidden!important;}
  body.page-dentistry .inspiration-image,body.page-dentistry .inspiration-shade{position:absolute!important;inset:0!important;}
  body.page-dentistry .inspiration-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:38px!important;top:auto!important;transform:none!important;width:auto!important;padding:0!important;z-index:3!important;}

  /* EPARCHY */
  body.page-eparchy .hero{position:relative!important;height:660px!important;min-height:660px!important;padding:0!important;overflow:hidden!important;}
  body.page-eparchy .hero-bg{position:absolute!important;inset:0!important;background-position:62% center!important;}
  body.page-eparchy .hero-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:38px!important;top:auto!important;transform:none!important;width:auto!important;padding:0!important;z-index:3!important;}
  body.page-eparchy .hero h1{font-size:clamp(37px,10vw,46px)!important;line-height:.96!important;margin:0 0 14px!important;}
  body.page-eparchy .hero h2{font-size:18px!important;line-height:1.35!important;}
  body.page-eparchy .gallery{height:auto!important;min-height:0!important;padding:40px var(--mpad) 46px!important;}
  body.page-eparchy .gallery>.label,body.page-eparchy .heritage>.label{position:static!important;display:flex!important;justify-content:space-between!important;gap:10px!important;margin-bottom:18px!important;font-size:10px!important;}
  body.page-eparchy .gallery-title{position:static!important;left:auto!important;top:auto!important;margin-bottom:20px!important;}
  body.page-eparchy .gallery-title h2,body.page-eparchy .heritage h2{font-size:clamp(39px,10.5vw,48px)!important;line-height:.96!important;}
  body.page-eparchy .gallery-grid{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.page-eparchy .gallery-grid figure{height:300px!important;}
  body.page-eparchy .heritage{position:relative!important;height:650px!important;min-height:650px!important;padding:40px var(--mpad)!important;overflow:hidden!important;}
  body.page-eparchy .heritage-bg{position:absolute!important;inset:0!important;background-position:60% center!important;}
  body.page-eparchy .heritage-copy{position:absolute!important;left:var(--mpad)!important;right:var(--mpad)!important;bottom:38px!important;top:auto!important;transform:none!important;width:auto!important;padding:0!important;z-index:3!important;}
  body.page-eparchy .heritage p,body.page-eparchy .accent{font-size:15px!important;line-height:1.52!important;max-width:100%!important;}
}

@media (max-width:380px){
  :root{--mpad:16px;}
  body.page-rostselmash .cover h1{font-size:36px!important;}
  body.page-church .hero h1{font-size:33px!important;}
  body.project-page .contacts h2,body.project-page .portfolio-contacts h2{font-size:39px!important;}
}


/* V56 MOBILE POLISH — fixes found on real iPhone testing. */
@media (max-width:900px){
  /* Rostselmash: keep the single-word title inside the viewport on narrow phones. */
  body.page-rostselmash .cover h1{
    font-size:clamp(31px,8.8vw,40px)!important;
    line-height:.95!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }

  /* Rostselmash process: decorative red rules sit on row separators, never through labels. */
  body.page-rostselmash .steps>div{
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:12px!important;
    padding:14px 0 18px!important;
  }
  body.page-rostselmash .steps>div::after{
    display:block!important;
    left:0!important;
    bottom:-1px!important;
    width:42px!important;
    height:1px!important;
  }
  body.page-rostselmash .steps b{
    display:block!important;
    line-height:1.35!important;
  }
  body.page-rostselmash .steps span{
    display:block!important;
    line-height:1.38!important;
  }

  /* Dentistry: section labels become normal flow elements on mobile instead of desktop overlays. */
  body.page-dentistry .section-kicker{
    position:static!important;
    left:auto!important;
    top:auto!important;
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    transform:none!important;
    z-index:auto!important;
  }
  body.page-dentistry .harmony-head{margin:0 0 20px!important;}
  body.page-dentistry .material-photo{margin:0 0 22px!important;}
  body.page-dentistry .video-layout{padding-top:0!important;}

  /* Eparchy: icon artwork is SVG; prevents iOS from substituting the phone glyph with an emoji. */
  body.page-eparchy .contact-icons span img{
    width:25px!important;
    height:25px!important;
    object-fit:contain!important;
    display:block!important;
  }
}

@media (max-width:380px){
  body.page-rostselmash .cover h1{font-size:31px!important;}
}
