/* Cool Rabbit 0.5.1 — dedicated mobile system for internal pages */
@media (max-width:780px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body{font-size:15px}
  .wrap{width:100%!important;max-width:none!important;padding-inline:18px!important}
  .topbar{position:sticky!important;top:0!important;z-index:50!important;background:rgba(5,5,5,.94)!important;backdrop-filter:blur(14px)!important}
  .topbar .wrap{height:60px!important;min-height:60px!important;display:flex!important;align-items:center!important;gap:10px!important}
  .topbar .brand{font-size:17px!important;line-height:.9!important;max-width:170px!important}
  .topbar .nav,.journal-back{display:none!important}
  .topbar .lang{margin-left:auto!important;display:flex!important;gap:3px!important}
  .topbar .lang a{min-width:28px!important;height:30px!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.12)!important;font-size:8px!important}
  .topbar .lang a.active{background:#d8ff28!important;color:#050505!important;border-color:#d8ff28!important}

  /* Generic internal hero */
  .hero{min-height:520px!important;height:auto!important;align-items:flex-end!important}
  .hero-bg img{filter:saturate(.95) brightness(.72)!important;object-position:center 40%!important}
  .hero-bg:after{background:linear-gradient(180deg,rgba(5,5,5,.12),rgba(5,5,5,.20) 42%,rgba(5,5,5,.88) 84%,#050505)!important}
  .hero-content{padding-top:100px!important;padding-bottom:38px!important;max-width:none!important}
  .hero h1{font-size:clamp(54px,17vw,72px)!important;line-height:.78!important;margin:10px 0 17px!important}
  .lead{font-size:13px!important;line-height:1.72!important}
  .actions{gap:8px!important;margin-top:20px!important}
  .btn{min-height:46px!important;padding:0 14px!important;font-size:8px!important}

  .section{padding:58px 0!important}
  .section h2{font-size:clamp(43px,13.5vw,58px)!important;line-height:.84!important;margin-bottom:20px!important}
  .grid,.process,.archive-grid,.post-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .feature,.step{min-height:0!important;padding:20px!important}
  .feature h3,.step h3{font-size:27px!important}
  .archive-card img{height:310px!important}
  .archive-copy{padding:17px!important}

  /* Journal */
  .blog-hero,.journal-hero{padding-top:92px!important;padding-bottom:48px!important}
  .blog-hero h1,.journal-hero-copy h1{font-size:clamp(58px,18vw,76px)!important;line-height:.76!important;margin:10px 0 18px!important}
  .journal-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:26px!important}
  .journal-collage{height:250px!important}
  .journal-intro{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .journal-grid{display:block!important}
  .journal-card{margin-bottom:11px!important}
  .journal-card-media,.journal-card.hero-card .journal-card-media{height:290px!important}
  .journal-card-copy{padding:18px!important}
  .journal-card h3{font-size:31px!important}
  .topic-row{gap:6px!important;margin-top:18px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .topic-row span{flex:0 0 auto!important}

  /* Article */
  .article-hero,.article-v4-hero{min-height:510px!important;padding-top:92px!important}
  .article-head h1,.article-v4-head h1{font-size:clamp(50px,15vw,67px)!important;line-height:.79!important;margin:10px 0 17px!important}
  .article-head p,.article-v4-head p{font-size:13px!important;line-height:1.7!important}
  .article-v4-head{padding-top:95px!important;padding-bottom:35px!important}
  .article-v4-paper,.article-shell{padding:55px 0!important}
  .article,.article-v4-layout{display:grid!important;grid-template-columns:1fr!important;gap:34px!important}
  .article-content,.crp-blog-generated{font-size:16px!important;line-height:1.78!important}
  .article-content h2,.crp-blog-generated h2{font-size:37px!important;line-height:.94!important;margin-top:42px!important}
  .article-content h3{font-size:29px!important}
  .article-cta,.article-v4-aside{position:static!important;padding:20px!important}
  .article-related-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .article-related-grid img{height:240px!important}
  .crp-guide-callout{padding:20px!important;margin:26px 0!important}
  .crp-guide-grid{grid-template-columns:1fr!important;gap:10px!important}
  .crp-guide-cta{display:block!important;padding:20px!important}

  /* Event pages — poster-led mobile layout */
  .event-v4-hero{min-height:0!important;height:auto!important;padding:0!important;align-items:stretch!important}
  .event-v4-overlay{background:linear-gradient(180deg,rgba(7,7,7,.20),rgba(7,7,7,.90) 72%,#070707)!important}
  .event-v4-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding-top:94px!important;padding-bottom:38px!important}
  .event-v4-copy h1{font-size:clamp(55px,17vw,72px)!important;line-height:.74!important;margin:10px 0 16px!important}
  .event-v4-copy>p{font-size:13px!important;line-height:1.7!important}
  .event-v4-actions{gap:7px!important;margin-top:18px!important}
  .event-v4-actions .btn{flex:1 1 auto!important;justify-content:center!important}
  .event-v4-poster{justify-self:start!important;width:min(210px,58vw)!important;margin-top:2px!important;box-shadow:0 22px 52px rgba(0,0,0,.32)!important}
  .event-facts-grid{display:grid!important;grid-template-columns:1fr 1fr!important}
  .event-facts-grid article{min-height:88px!important;padding:16px 13px!important;border-bottom:1px solid #d9d4ca!important}
  .event-facts-grid strong{font-size:17px!important}
  .event-v4-story,.event-v4-highlights,.event-v4-gallery,.event-v4-people,.event-v4-faq,.event-v4-related{padding:58px 0!important}
  .event-story-grid,.faq-layout,.event-people-grid{display:grid!important;grid-template-columns:1fr!important;gap:30px!important}
  .event-story-grid h2,.section-mini-head h2,.faq-layout h2{font-size:clamp(45px,14vw,58px)!important}
  .event-story-copy p{font-size:15px!important;line-height:1.78!important}
  .event-highlight-grid{grid-template-columns:1fr!important}
  .event-highlight-grid article{min-height:0!important;padding:20px!important}
  .event-gallery-grid{display:flex!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  .event-gallery-grid figure,.event-gallery-grid figure.g1,.event-gallery-grid figure.g2,.event-gallery-grid figure.g3{flex:0 0 82vw!important;height:265px!important;margin:0!important;scroll-snap-align:start!important}
  .event-related-grid{grid-template-columns:1fr!important;gap:10px!important}
  .event-related-grid img{height:270px!important}
  .event-v4-final{padding:52px 0!important}
  .event-v4-final .wrap{display:block!important}
  .event-v4-final h2{font-size:clamp(50px,15vw,64px)!important}
  .event-v4-final .btn{margin-top:14px!important}

  /* Service gallery */
  .service-gallery-v4{padding:54px 0!important}
  .service-gallery-strip{gap:8px!important;margin-top:18px!important}
  .service-gallery-strip figure{flex:0 0 84vw!important;height:255px!important}

  .footer{padding:28px 0!important;font-size:10px!important}
}

@media(max-width:390px){
  .topbar .brand{font-size:15px!important;max-width:150px!important}
  .topbar .lang a{min-width:26px!important}
  .event-v4-copy h1,.article-head h1,.article-v4-head h1{font-size:52px!important}
}


/* 0.5.1 — native horizontal swipe lock for all internal mobile carousels */
@media(max-width:780px){
  .journal-filter,.topic-row,.event-gallery-grid,.service-gallery-strip{
    overflow-x:auto!important;overflow-y:hidden!important;
    touch-action:pan-x pinch-zoom!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
  }
  .journal-filter::-webkit-scrollbar,.topic-row::-webkit-scrollbar,.event-gallery-grid::-webkit-scrollbar,.service-gallery-strip::-webkit-scrollbar{display:none!important}
  .event-gallery-grid{display:flex!important;flex-wrap:nowrap!important}
  .event-gallery-grid figure,.event-gallery-grid figure.g1,.event-gallery-grid figure.g2,.event-gallery-grid figure.g3{flex:0 0 82vw!important;scroll-snap-align:start!important}
  .service-gallery-strip{display:flex!important;flex-wrap:nowrap!important}
  .service-gallery-strip figure{flex:0 0 84vw!important;scroll-snap-align:start!important}
}
