/*
 * Mobile parity layer
 * Desktop visual language is preserved; only layout and scale are adapted.
 */
@media(max-width:800px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding:0;background:#fff}
  body>*{max-width:100%}
  main,header,footer,section,nav{max-width:100%}
  main{width:100%;overflow:hidden}
  section *,footer *,header *{min-width:0}
  img,video,iframe,svg{max-width:100%}
  .container{width:calc(100% - 30px)}

  /* Same header, compacted for mobile */
  .topbar{display:none!important}
  .header{position:relative;top:auto;height:76px;background:#f8f0e7;border:0;backdrop-filter:none}
  .nav-wrap{width:calc(100% - 30px);height:76px;padding:0;gap:0}
  .brand{width:82px!important;flex:0 0 82px!important;margin:0!important}
  .brand img{width:100%;height:auto;object-fit:contain}
  .call,.header-contact{display:none!important}
  .menu-toggle{display:block!important;margin-left:auto;width:42px;height:42px;padding:10px;border-radius:50%;background:var(--green);box-shadow:none}
  .menu-toggle i{margin:4px 0}
  .nav{display:none;position:fixed;z-index:1000;inset:76px 0 0;width:100%;height:calc(100dvh - 76px);padding:25px 22px 45px;overflow-y:auto;background:#fff;border-radius:0;box-shadow:none;align-items:flex-start;font:500 16px Roboto,Arial,sans-serif}
  .nav.open,.nav.is-open{display:flex}
  .nav>a,.nav-dropdown{width:100%;margin:0;border:0!important;border-bottom:1px solid #e8e9e5!important;border-radius:0;background:transparent}
  .nav>a{padding:16px 0!important}
  .nav-dropdown__trigger{width:100%;padding:16px 0!important;justify-content:space-between;font:500 16px Roboto,Arial,sans-serif}
  .nav-dropdown__trigger small{margin:0;background:transparent;width:auto;height:auto}
  .nav-submenu{width:100%;max-height:0;padding:0 0 0 14px!important;background:transparent;overflow:hidden}
  .nav-dropdown.is-active .nav-submenu{max-height:130px;padding:0 0 10px 14px!important}
  .nav-dropdown--services.is-active .nav-submenu{max-height:320px}
  .nav-submenu a{padding:10px 0!important;margin:0!important;border:0!important;border-radius:0;background:transparent;font-size:13px;color:#5f6964}

  /* Hero parity */
  .hero{height:62vw;min-height:300px;border-radius:0 0 24px 24px}
  .hero iframe{display:block;left:50%;top:50%;width:auto;height:100%;min-width:100%;min-height:100%;max-width:none;aspect-ratio:16/9;transform:translate(-50%,-50%)}
  .companies-page .companies-hero,.press-page .press-hero,.gallery-page .gallery-hero,.blog-page .blog-hero,.contact-page .contact-hero,.projects-page .projects-hero,.corporate-page .corp-hero,.corporate-page .docs-hero{width:100%;height:500px;min-height:500px;margin:0;border-radius:0 0 24px 24px}
  .companies-page .companies-hero,.gallery-page .gallery-hero{padding:50px 22px}
  .press-page .press-hero__content,.blog-page .blog-hero__inner,.contact-page .contact-hero__content,.projects-page .projects-hero__content,.corporate-page .corp-hero__copy,.corporate-page .docs-hero__copy{left:22px;right:22px}
  .companies-page .hero-copy h1,.gallery-page .gallery-hero h1,.blog-page .blog-hero h1,.contact-page .contact-hero h1,.projects-page .projects-hero h1,.corporate-page .corp-hero h1,.corporate-page .docs-hero h1{font-size:42px;line-height:1.05;letter-spacing:-2px}
  .press-page .press-hero h1{font-size:46px;letter-spacing:-2px}
  .companies-page .hero-copy p,.gallery-page .gallery-hero p,.blog-page .blog-hero p,.contact-page .contact-hero p,.projects-page .projects-hero p,.corporate-page .corp-hero p,.corporate-page .docs-hero p,.press-page .press-hero p{font-size:14px;line-height:1.65}
  .gallery-hero__collage,.hero-orbit,.docs-hero__seal{opacity:.22}
  .side-quote{display:none!important}

  /* Desktop sections reflow without changing their identity */
  .about,.press-lead,.blog-intro,.projects-intro,.about-story,.about-manifesto,.docs-intro{width:calc(100% - 30px)}
  .about{width:100%;padding:72px 15px 82px;display:flex;flex-direction:column;gap:0;background:linear-gradient(180deg,#fff 0,#fff 34%,#f6f7f3 34%,#f6f7f3 100%)}
  .about__image{width:100%;height:calc(100vw - 30px);max-height:580px;aspect-ratio:1/1;border-radius:20px;box-shadow:0 22px 48px #102d2817}.about__image img{width:100%;height:100%;object-fit:cover}
  .about__copy,.about h1,.about__copy>p{width:100%;max-width:100%}
  .about__copy{order:3;margin-top:28px;padding:34px 20px 38px;border:1px solid #e7eae5;border-radius:22px;background:#fff;box-shadow:0 15px 38px #102d2809}.about h1{font-size:34px;line-height:1.08;white-space:normal;margin:22px 0 27px;letter-spacing:-1.4px}.about__copy>p{font-size:14px;line-height:1.72;color:#646c68}
  .about__copy>.pill{padding:7px 18px;font-size:10px;letter-spacing:1.2px}
  .about__image{order:1}.about__foot{order:2;position:relative;z-index:4;top:auto;left:auto;width:calc(100% - 20px);max-width:100%;min-height:82px;height:auto;margin:-22px auto 0;padding:13px 14px;display:grid;grid-template-columns:auto 34px 1fr;align-items:center;gap:10px;border:1px solid #e8ebe6;border-radius:18px;background:#fff;box-shadow:0 17px 38px #102d2817}
  .orbit-badge{left:4px;top:8px;transform:scale(.7);transform-origin:top left}
  .about__foot .btn{flex:0 0 auto;padding:14px 20px;gap:15px;font-size:13px}.about__foot .btn i{font-size:11px}
  .about__foot .people{display:none}.about__foot .mobile-impact-icon{display:grid;width:32px;height:32px;border-radius:50%;place-items:center;background:#eff3d4;color:#163c32;font-size:13px}.about__foot>b{display:block!important;width:auto;max-width:none;margin:0;padding:0 0 5px;border-bottom:2px solid var(--lime);font-size:8px;line-height:1.3;letter-spacing:.15px}
  .metrics{width:100%;justify-content:center;margin-top:34px}.metrics article{flex:0 0 calc((100vw - 74px)/2);width:calc((100vw - 74px)/2);height:calc((100vw - 74px)/2);max-width:175px;max-height:175px;margin-right:-5px;padding:18px;background:#fbfaf7;border-color:#e3e6df}.metrics article:last-child{margin-right:0}.metrics strong{font-size:48px;letter-spacing:-2px}.metrics b{font-size:16px}.metrics p{max-width:115px;font-size:9px;line-height:1.35;margin-top:12px}

  .projects{position:relative;padding:76px 0 48px;background:var(--green);overflow:hidden}.projects:before{content:"";position:absolute;width:330px;height:330px;right:-205px;top:115px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 58px #ffffff08,0 0 0 116px #ffffff05}.projects .heading{position:relative;z-index:1;padding:0 20px}.projects .heading.light .pill{padding:7px 18px;font-size:9px;letter-spacing:2.5px}.projects .heading.light h2{max-width:340px;margin:24px auto 48px;font-size:34px;line-height:1.08;letter-spacing:-1.2px}.project-slider{position:relative;z-index:1;width:100%;max-width:100%;height:476px;padding:0 16px;gap:18px;contain:inline-size;scroll-snap-type:x mandatory;scroll-padding-inline:16px}.project{flex:0 0 calc(100vw - 48px);width:calc(100vw - 48px);min-width:0;height:460px;margin-top:0!important;border:1px solid #ffffff24;border-radius:22px;box-shadow:0 25px 55px #04181370;scroll-snap-align:start}.project>img{filter:saturate(.9) contrast(1.03)}.project>div{left:14px;right:14px;bottom:14px;min-height:92px;padding:19px 18px;border:1px solid #ffffffa3;border-radius:15px;background:#fbfaf6f2;box-shadow:0 12px 28px #061a1530}.project small{font-size:8px;letter-spacing:.8px}.project h3{font-size:15px;margin-top:8px}.pagination{position:relative;z-index:2;margin-top:14px;gap:7px}.pagination span{width:7px;height:7px;background:#ffffff4f}.pagination .active{width:27px;background:var(--lime)}
  .services{padding:72px 0 64px;background:var(--green);isolation:isolate}.services:before{width:210px;height:210px;background-size:210px auto;opacity:.12}.services:after{z-index:-1;width:100%;background:#0d2b27 url("assets/service-line.png") right 5px/245px auto no-repeat;opacity:.92}.services__inner{width:100%;padding:0}.services__intro{width:calc(100% - 30px);max-width:none;margin:0 auto 34px;padding:28px 25px 30px;border:1px solid #ffffff1f;border-radius:22px;background:#f5f5f0;box-shadow:0 20px 50px #04191452}.services__intro .pill{padding:7px 14px;font-size:8px;letter-spacing:2.1px}.services__intro h2{width:100%;max-width:100%;margin:18px 0 15px;font-size:34px;line-height:.96;letter-spacing:-.7px;color:#102b27;overflow-wrap:normal}.services__intro>p{width:100%;max-width:100%;font-size:13px;line-height:1.65;color:#66706b}.services__intro .arrows{display:none}
  .service-grid{width:100%;max-width:100%;padding:0 15px;gap:16px;contain:inline-size;scroll-padding-inline:15px;scroll-snap-type:x mandatory}.service-grid article{flex:0 0 calc(100vw - 44px);width:calc(100vw - 44px);min-width:0;min-height:470px;border:1px solid #ffffff1f;border-radius:22px;background:#12352d;box-shadow:0 24px 52px #03171380;scroll-snap-align:start}.service-top{height:300px;border-radius:21px 21px 0 0;overflow:hidden}.service-top:before,.service-top:after{inset:0 55% 0 0}.service-top img{grid-column:2;width:122%;max-width:none;margin-left:-22%;filter:saturate(.92) contrast(1.04)}.service-icon{left:22px;top:24px;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#c6d936;color:#102b27;font-size:28px;box-shadow:0 12px 28px #03171352}.service-top>a{left:calc(45% - 24px);width:48px;height:96px;border:1px solid #ffffff28;border-radius:24px;background:#c6d936;color:#102b27;box-shadow:0 10px 25px #03171352}.service-grid small{margin:22px 24px 0;font-size:11px}.service-grid h3{margin:5px 24px 8px;font-size:25px}.service-grid p{margin:0 24px 25px;font-size:13px;line-height:1.55}.service-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px}.service-pagination span{width:7px;height:7px;border-radius:999px;background:#ffffff55;transition:.35s}.service-pagination span.active{width:26px;background:var(--lime)}

  .company-story,.press-featured,.press-list,.blog-feature,.blog-archive,.project-list,.completed-grid,.gallery-grid,.docs-grid,.contact-form-section,.about-doc-cta,.docs-note{width:calc(100% - 30px);max-width:100%}
  .company-panel,.company-panel.reverse,.press-featured,.blog-feature,.project-entry,.project-entry:nth-child(even),.contact-form-section{grid-template-columns:minmax(0,1fr)}
  .company-panel.reverse .company-visual,.project-entry:nth-child(even) .project-entry__image{order:0}
  .company-content,.featured-copy,.blog-feature__copy,.project-entry__copy,.contact-form,.contact-form__intro{width:100%;max-width:100%}
  .press-grid,.blog-grid,.completed-grid,.docs-grid{grid-template-columns:minmax(0,1fr)}
  .press-card:last-child,.completed-card:nth-child(3n){grid-column:auto;max-width:none;display:block}
  .gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-item.wide{grid-column:auto}.gallery-item.tall{grid-row:auto}
  .about-values{grid-template-columns:minmax(0,1fr)}

  .contact-form-section{margin-top:75px}.contact-form{grid-template-columns:minmax(0,1fr);padding:42px 25px}.contact-form__intro{padding:42px 25px}.contact-form__full,.contact-form__footer,.contact-status,.contact-form__heading{grid-column:auto}.contact-form__footer{align-items:flex-start;flex-direction:column;gap:24px}
  .contact-form label,.contact-form input,.contact-form select,.contact-form textarea{width:100%;max-width:100%}.contact-map{width:100%;height:540px}

  .blog-filters,.gallery-filters,.project-switch{max-width:100%;overflow-x:auto;scrollbar-width:none}.blog-filters::-webkit-scrollbar,.gallery-filters::-webkit-scrollbar,.project-switch::-webkit-scrollbar{display:none}
  .blog-card__image{height:250px}.blog-card__body{height:155px;min-height:155px}
  .doc-card__preview{height:410px}

  footer{padding:15px 0 25px;background:#102521}footer:before{width:420px;height:420px;right:-250px;top:20px;opacity:.32}.footer-cta{width:calc(100% - 30px);min-height:0;margin:0 auto;padding:34px 25px;display:block;border:1px solid #ffffff20;border-radius:22px;background:linear-gradient(145deg,#183a32,#102521);box-shadow:0 22px 48px #03171366}.footer-cta span{font-size:8px;letter-spacing:2px}.footer-cta h2{font-size:29px;line-height:1.08;letter-spacing:-1px}.footer-cta>a{width:100%;height:54px;margin-top:28px;border-color:#ffffff42;border-radius:27px;flex-direction:row;gap:18px;font-size:11px;background:#ffffff08}.footer-cta>a i{font-size:16px}.footer-grid{position:relative;width:calc(100% - 30px)!important;max-width:none!important;display:block!important;margin:18px auto 0!important;padding:12px 25px 18px!important;overflow:visible!important;border:1px solid #ffffff16;border-radius:22px;background:linear-gradient(145deg,#18342e,#122722);box-shadow:0 20px 45px #03171352}.footer-grid>div{width:100%!important;min-height:0;padding:27px 0!important;border:0;border-bottom:1px solid #ffffff16;background:transparent;box-shadow:none}.footer-grid>div:last-child{border-bottom:0}.footer-brand{display:block}.footer-brand img{width:132px}.footer-brand>p{max-width:270px;margin-top:25px!important;color:#c1cdc8}.footer-grid>div>span{color:var(--lime);font-size:8px;letter-spacing:2.2px}.footer-grid h4{font-size:20px;margin-bottom:20px}.footer-grid p{font-size:12px;line-height:1.75}.footer-links a{max-width:none;padding:9px 0;margin:0!important}.footer-socials{margin-top:21px}.copyright{width:calc(100% - 30px);padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;font-size:9px}.copyright>div{width:100%;gap:16px;justify-content:space-between}
  .news,.services{padding-top:72px;padding-bottom:72px}.news{overflow:hidden;background:#f4f6f3}.news .heading{width:calc(100% - 30px);margin:0 auto 38px;padding:29px 22px 30px;border:1px solid #e4e9e4;border-radius:22px;background:#fff;box-shadow:0 18px 42px #102d280b}.news .heading .pill{font-size:9px;letter-spacing:2px}.news .heading h2{margin-top:17px;font-size:34px;line-height:1.06;letter-spacing:-1.35px}.news-grid{width:100%;display:flex;grid-template-columns:none;gap:16px;margin:0;padding:0 15px;overflow-x:auto;scroll-padding-inline:15px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-y}.news-grid::-webkit-scrollbar{display:none}.news-grid.dragging{cursor:grabbing;scroll-snap-type:none}.news-grid.dragging *{pointer-events:none}.news-grid article{flex:0 0 calc(100vw - 44px);width:calc(100vw - 44px);min-width:0;border:1px solid #e2e7e2;border-radius:22px;box-shadow:0 22px 48px #102d2814;scroll-snap-align:start}.news__image{height:310px}.news-grid article>div{min-height:175px;padding:27px 25px 30px}.news h3{font-size:17px;line-height:1.32;margin-bottom:22px}.news article>div>a{display:inline-flex;align-items:center;gap:10px;color:#173f35;border-color:var(--lime);font-size:10px}.news article>div>a i{font-size:9px}.news-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px}.news-pagination span{width:7px;height:7px;border-radius:999px;background:#173f3540;transition:.35s}.news-pagination span.active{width:26px;background:var(--lime)}.factory-film{width:calc(100% - 30px);height:430px;min-height:430px;margin:24px auto 76px;border:1px solid #dfe4df;border-radius:22px;background:#102b26;box-shadow:0 25px 55px #102d2824}.factory-film video{width:100%;height:100%;object-fit:cover}.factory-film__overlay{background:linear-gradient(0deg,#061d18e8 0,#061d1857 42%,transparent 72%)}.factory-film__copy{left:22px;right:22px;bottom:25px}.factory-film__copy span{font-size:8px;letter-spacing:2px}.factory-film__copy h2{font-size:24px;line-height:1.15;letter-spacing:-.8px;margin-top:9px}.factory-film>a{z-index:3;inset:0;margin:auto;width:68px;height:68px;border:1px solid #ffffffc7;background:#fdfcf8e8;color:var(--green);font-size:18px;box-shadow:0 12px 30px #071c1857;backdrop-filter:blur(8px)}
  input,select,textarea{font-size:16px!important}
}
@media(max-width:380px){
  .companies-page .hero-copy h1,.gallery-page .gallery-hero h1,.blog-page .blog-hero h1,.contact-page .contact-hero h1,.projects-page .projects-hero h1,.corporate-page .corp-hero h1,.corporate-page .docs-hero h1{font-size:37px}
  .press-page .press-hero h1{font-size:41px}
}

/* Mobile blog cards are image overlays, so their link stays lime and transparent. */
@media(max-width:650px){
  .blog-page .blog-card .blog-read,
  .blog-page .blog-card--dark .blog-read{
    color:#c6d936!important;
    border-color:#c6d936!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .blog-page .blog-card .blog-read:after,
  .blog-page .blog-card--dark .blog-read:after{
    color:#c6d936!important;
  }
}

/* Project intro: true single-column composition on phones. */
@media(max-width:800px){
  .projects-page .projects-intro{
    width:calc(100% - 30px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:26px;
    padding:62px 0 54px;
  }
  .projects-page .projects-intro>div{
    width:100%;
    max-width:none;
  }
  .projects-page .projects-intro h2{
    max-width:330px;
    margin:14px 0 0;
    font-size:36px;
    line-height:1.04;
    letter-spacing:-1.6px;
  }
  .projects-page .projects-intro>div:last-child>p{
    max-width:100%;
    margin:0 0 23px;
    color:#66716c;
    font-size:13px;
    line-height:1.72;
  }
  .projects-page .project-switch{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    overflow:visible;
  }
  .projects-page .project-switch a{
    min-width:0;
    min-height:44px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
  }
}
@media(max-width:390px){
  .projects-page .projects-intro{padding:54px 0 48px;gap:23px}
  .projects-page .projects-intro h2{font-size:33px}
  .projects-page .project-switch a{font-size:8px}
}

/* Blog intro: prevent the desktop split layout from compressing mobile text. */
@media(max-width:800px){
  .blog-page .blog-intro{
    width:calc(100% - 30px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:25px;
    padding:62px 0 54px;
  }
  .blog-page .blog-intro>div,
  .blog-page .blog-intro__right{
    width:100%;
    max-width:none;
  }
  .blog-page .blog-intro h2{
    max-width:360px;
    margin:14px 0 0;
    font-size:35px;
    line-height:1.06;
    letter-spacing:-1.5px;
    overflow-wrap:normal;
    word-break:normal;
  }
  .blog-page .blog-intro__right>p{
    max-width:100%;
    margin:0 0 23px;
    color:#65706b;
    font-size:13px;
    line-height:1.72;
  }
  .blog-page .blog-filters{
    width:100%;
    display:flex;
    gap:7px;
    padding-bottom:2px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .blog-page .blog-filters::-webkit-scrollbar{display:none}
  .blog-page .blog-filters button{
    flex:0 0 auto;
    min-height:42px;
    padding:0 16px;
    white-space:nowrap;
  }
}
@media(max-width:390px){
  .blog-page .blog-intro{padding:54px 0 48px;gap:22px}
  .blog-page .blog-intro h2{font-size:32px}
}
