/* RealToday responsive layer
   Desktop >=1200px remains untouched. Tablet/mobile reflow only. */

/* About outline: slightly stronger on 1920/desktop without changing its size. */
@media (min-width:1200px){
  .rt-intro-about{-webkit-text-stroke:2.5px #09090b!important;}
}

@media (max-width:1199px){
  :root{--header-h:78px;}
  html,body{max-width:100%;overflow-x:hidden;}
  .site-shell{background:#fff!important;}
  main{background:none!important;}
  .wrap,.hero-inner{width:min(calc(100% - 48px),960px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;}

  /* Intro scales with viewport and keeps the framing grid aligned. */
  .rt-intro-grid-wrap{max-width:960px!important;padding:0 24px!important;}
  .rt-intro-text-container{max-width:960px!important;padding:0 28px!important;}
  .rt-intro-about{-webkit-text-stroke:2px #09090b!important;}

  /* Header */
  .header{height:var(--header-h)!important;}
  .header-inner{width:calc(100% - 36px)!important;max-width:none!important;}
  .brand img{width:104px!important;}
  .main-nav{gap:24px!important;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;}
  .main-nav::-webkit-scrollbar{display:none;}
  .main-nav a{font-size:12px!important;flex:0 0 auto;}

  /* 01 WHO */
  .hero{height:auto!important;min-height:0!important;padding:150px 0 82px!important;background:#fff url('bg-architecture.webp') center top/100% auto no-repeat!important;}
  .hero-inner{position:relative!important;height:auto!important;padding:0!important;}
  .hero .eyebrow,.hero h1,.hero-desc,.metric-grid{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:auto!important;max-width:none!important;}
  .hero h1{font-size:clamp(38px,5.2vw,50px)!important;line-height:1.28!important;margin:44px 0 24px!important;}
  .hero-desc{font-size:15px!important;line-height:1.75!important;max-width:760px!important;}
  .metric-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:100px!important;}
  .metric-card{height:auto!important;min-height:205px!important;padding:40px 30px!important;}
  .metric-card .desc{white-space:normal!important;min-height:40px!important;line-height:1.45!important;}
  .metric-card .number{font-size:56px!important;line-height:1!important;margin-top:20px!important;}
  .metric-card .suffix{font-size:32px!important;vertical-align:9px!important;}

  /* Projects */
  .projects{height:auto!important;padding:56px 0 92px!important;background:#fff url('bg-architecture.webp') center -400px/100% auto no-repeat!important;}
  .projects>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .projects-head{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;display:flex!important;align-items:flex-end!important;gap:24px!important;}
  .projects-head h2{position:static!important;margin:0 0 20px!important;font-size:22px!important;line-height:1.25!important;flex:0 0 auto;}
  .project-tabs{position:static!important;right:auto!important;top:auto!important;height:auto!important;display:flex!important;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;}
  .project-tabs::-webkit-scrollbar{display:none;}
  .project-tab{width:auto!important;min-width:150px!important;height:42px!important;padding:0 18px 16px!important;font-size:14px!important;}
  .project-content{position:relative!important;left:auto!important;right:auto!important;top:auto!important;padding:40px 0 0!important;}
  .project-title{height:auto!important;font-size:28px!important;line-height:1.25!important;margin:0 0 18px!important;}
  .project-hero-stage,.project-sub-grid.project-banner-stage{width:100%!important;height:auto!important;}
  .project-hero-stage{aspect-ratio:1282/723!important;}
  .project-sub-grid.project-banner-stage{aspect-ratio:1282/720!important;}
  .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .article-card{height:auto!important;min-height:330px!important;padding:36px 28px!important;}
  .article-card h3{min-height:96px!important;height:auto!important;font-size:22px!important;line-height:1.45!important;}
  .article-card p{font-size:14px!important;line-height:1.65!important;}

  /* 02 READ */
  .read{height:auto!important;min-height:0!important;padding:100px 0 120px!important;background:#fff url('bg-buildings.webp') center bottom/100% auto no-repeat!important;}
  .read>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .read .eyebrow,.read h2,.read .intro,.signal-grid,.connect-copy{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:auto!important;}
  .read h2{font-size:clamp(38px,5vw,48px)!important;line-height:1.32!important;margin:42px 0 20px!important;}
  .read .intro{font-size:15px!important;line-height:1.7!important;max-width:850px!important;}
  .signal-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:72px auto 0!important;max-width:780px!important;}
  .signal{width:100%!important;height:auto!important;aspect-ratio:1!important;flex:none!important;margin:0!important;}
  .signal+.signal{margin-left:0!important;}
  .signal-default,.signal-hover-copy{padding:32px 26px!important;}
  .signal strong{font-size:26px!important;line-height:1.4!important;}
  .signal-hover-copy{font-size:16px!important;line-height:1.6!important;}
  .connect-copy{margin-top:80px!important;}
  .connect-copy h3{font-size:clamp(34px,4.5vw,46px)!important;line-height:1.4!important;margin-top:24px!important;}

  /* Purple zone becomes a fluid textured section; geometry no longer depends on 1920px absolute coordinates. */
  .purple-zone{position:relative!important;background:#4731e0 url('purple-texture-seamless.png') center top/768px 768px repeat!important;color:#fff!important;overflow:visible!important;}
  .purple-bg{display:none!important;}
  .purple-zone::before{display:block!important;content:''!important;position:absolute!important;left:0!important;right:0!important;top:-56px!important;height:58px!important;background:#4731e0 url('purple-texture-seamless.png') center/768px 768px repeat!important;clip-path:polygon(0 35%,100% 100%,100% 100%,0 100%)!important;z-index:0!important;}

  /* 03 STRATEGY */
  .strategy{height:auto!important;padding:90px 0 92px!important;}
  .strategy>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .strategy .eyebrow,.strategy h2,.strategy .intro,.strategy-grid{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;}
  .strategy h2{font-size:clamp(38px,5vw,48px)!important;line-height:1.32!important;margin:42px 0 20px!important;}
  .strategy .intro{font-size:15px!important;line-height:1.7!important;max-width:850px!important;}
  .strategy-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:16px!important;margin-top:68px!important;}
  .strategy-card{position:relative!important;height:250px!important;padding:42px 36px!important;}
  .strategy-card .mini,.strategy-card h3,.strategy-card p{position:static!important;left:auto!important;top:auto!important;margin-left:0!important;}
  .strategy-card .mini{font-size:14px!important;line-height:1!important;margin-bottom:14px!important;}
  .strategy-card h3{font-size:28px!important;line-height:1.3!important;margin:0 0 14px!important;}
  .strategy-card p{font-size:14px!important;line-height:1.65!important;max-width:65%!important;margin:0!important;}
  .strategy-card img{right:24px!important;bottom:24px!important;top:auto!important;max-width:180px!important;max-height:180px!important;}

  /* 04 CASE — flow layout below desktop. */
  .case{height:auto!important;padding:86px 0 130px!important;text-align:center!important;}
  .case>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .case .eyebrow,.case h2,.case-board,.case-quote{position:relative!important;left:auto!important;right:auto!important;top:auto!important;}
  .case h2{font-size:clamp(38px,5vw,48px)!important;line-height:1.32!important;margin:42px 0 64px!important;}
  .case-board{width:100%!important;height:auto!important;margin:0!important;padding:42px 34px 50px!important;border-radius:25px!important;}
  .case-pill{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:max-content!important;max-width:80%!important;height:auto!important;min-height:42px!important;padding:8px 28px!important;margin:-63px auto 32px!important;}
  .case-stage-label{position:static!important;margin:20px 0 14px!important;line-height:1.4!important;}
  .case-main,.case-grid.three,.case-grid.wide,.case-result-list,.case-final{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;height:auto!important;transform:none!important;}
  .case-main{max-width:680px!important;min-height:160px!important;margin:0 auto 18px!important;padding:34px 28px!important;}
  .case-main h3{font-size:24px!important;line-height:1.35!important;}
  .case-main p{font-size:14px!important;line-height:1.6!important;}
  .case-grid.three{display:grid!important;grid-template-columns:repeat(var(--case-cols,3),minmax(0,1fr))!important;gap:10px!important;max-width:680px!important;margin:0 auto 24px!important;}
  .case-dark{height:auto!important;min-height:124px!important;padding:24px 16px!important;}
  .case-dark h4{font-size:14px!important;line-height:1.5!important;}
  .case-dark p{font-size:12px!important;line-height:1.55!important;}
  .arrow-down{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:30px!important;height:34px!important;transform:none!important;margin:18px auto!important;}
  .case-grid.wide{display:grid!important;grid-template-columns:repeat(var(--case-cols,3),minmax(0,1fr))!important;max-width:860px!important;margin:0 auto 24px!important;border-radius:16px!important;overflow:hidden!important;}
  .case-grid.wide::before{position:relative!important;left:auto!important;top:auto!important;transform:none!important;grid-column:1/-1;margin:-18px auto 0!important;}
  .case-stat{position:relative!important;height:auto!important;min-height:150px!important;padding:26px 20px!important;}
  .case-stat+.case-stat::before{top:30px!important;bottom:30px!important;}
  .case-result-list{display:grid!important;gap:12px!important;max-width:800px!important;margin:0 auto 24px!important;}
  .case-result{width:100%!important;height:auto!important;min-height:130px!important;padding:24px 38px!important;grid-template-columns:190px 1fr!important;gap:24px!important;border-radius:68px!important;}
  .case-result strong{font-size:20px!important;line-height:1.4!important;}
  .case-result p{font-size:15px!important;line-height:1.65!important;letter-spacing:0!important;}
  .case-final{max-width:720px!important;margin:0 auto!important;}
  .case-final .highlight{width:100%!important;height:auto!important;min-height:68px!important;font-size:30px!important;line-height:1.25!important;padding:12px 24px!important;}
  .case-final p{font-size:14px!important;line-height:1.6!important;}
  .case-quote{width:min(100%,850px)!important;height:auto!important;margin:100px 0 0 auto!important;padding:0!important;text-align:right!important;display:flex!important;}
  .case-quote-open{margin-left:0!important;}
  .case-quote-text{font-size:30px!important;line-height:1.35!important;white-space:normal!important;}
  .case-quote-close{margin-top:24px!important;}
  .motion-ready .site-shell .case-board.visible .arrow-1,
  .motion-ready .site-shell .case-board.visible .arrow-2,
  .motion-ready .site-shell .case-board.visible .arrow-3{transform:none!important;}

  /* 05 EXPERIENCE */
  .experience{height:auto!important;margin-top:0!important;padding:105px 0 90px!important;background:#fff!important;}
  .experience>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .experience .eyebrow,.experience h2,.experience .intro,.year-tabs,.experience-grid,.more{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:auto!important;height:auto!important;}
  .experience h2{font-size:clamp(38px,5vw,48px)!important;line-height:1.32!important;margin:42px 0 20px!important;}
  .experience .intro{font-size:15px!important;line-height:1.7!important;max-width:880px!important;}
  .year-tabs{display:flex!important;gap:8px!important;margin:56px 0 40px!important;overflow-x:auto;scrollbar-width:none;}
  .year-tabs::-webkit-scrollbar{display:none;}
  .year-btn{flex:0 0 auto;width:auto!important;min-width:104px!important;height:40px!important;font-size:16px!important;}
  .experience-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:42px 18px!important;}
  .exp-image{width:100%!important;height:auto!important;aspect-ratio:452/252!important;}
  .exp-name{font-size:14px!important;line-height:1.4!important;}
  .more{display:block!important;margin:64px auto 0!important;font-size:24px!important;}

  /* Clients */
  .clients{height:150px!important;}
  .clients .client-strip{height:150px!important;width:auto!important;}

  /* Footer */
  .footer{height:auto!important;min-height:0!important;padding:54px 0 42px!important;}
  .footer>.wrap{position:relative!important;height:auto!important;width:min(calc(100% - 48px),960px)!important;max-width:none!important;}
  .footer-top{grid-template-columns:1fr auto!important;gap:40px!important;}
  .footer-logo{width:130px!important;height:auto!important;margin-bottom:30px!important;}
  .footer h2{font-size:32px!important;line-height:1.4!important;}
  .contact-btn{width:220px!important;min-width:220px!important;height:68px!important;margin-top:70px!important;font-size:20px!important;}
  .footer-info{margin-top:46px!important;font-size:14px!important;line-height:1.55!important;gap:10px!important;}
  .footer-info-row{grid-template-columns:18px 58px minmax(0,1fr)!important;}
  .footer-info-row span{white-space:normal!important;}
  .footer-bottom{position:static!important;margin-top:44px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.12)!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;font-size:12px!important;line-height:1.6!important;}
  .footer-legal>span{white-space:normal!important;}
}

@media (max-width:720px){
  :root{--header-h:68px;}
  .wrap,.hero-inner,.projects>.wrap,.read>.wrap,.strategy>.wrap,.case>.wrap,.experience>.wrap,.footer>.wrap{width:calc(100% - 32px)!important;}

  /* Intro */
  .rt-intro-grid-wrap{padding:0 16px!important;}
  .rt-intro-text-container{padding:0 20px!important;}
  .rt-intro-text-box{max-width:100%!important;}
  .rt-intro-about{-webkit-text-stroke:1.6px #09090b!important;}
  .rt-intro-headline{font-size:clamp(2rem,14vw,3.6rem)!important;}
  .rt-intro-slogan{font-size:clamp(.72rem,4vw,1rem)!important;gap:5px 8px!important;margin-top:24px!important;}
  .rt-intro-skip{bottom:18px!important;}

  /* Header */
  .header-inner{width:calc(100% - 24px)!important;gap:12px!important;}
  .brand{flex:0 0 auto;}
  .brand img{width:90px!important;}
  .main-nav{gap:14px!important;}
  .main-nav a{font-size:10px!important;}

  /* WHO */
  .hero{padding:112px 0 64px!important;background-size:auto 760px!important;}
  .hero h1{font-size:32px!important;line-height:1.35!important;margin:34px 0 18px!important;}
  .hero-desc{font-size:14px!important;line-height:1.75!important;}
  .metric-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:64px!important;}
  .metric-card{min-height:150px!important;padding:28px 24px!important;}
  .metric-card .number{font-size:48px!important;}
  .metric-card .suffix{font-size:28px!important;}

  /* Projects */
  .projects{padding:44px 0 70px!important;background-size:auto 1000px!important;}
  .projects-head{display:block!important;}
  .projects-head h2{margin-bottom:16px!important;}
  .project-tabs{border-top:1px solid #d7d7dc!important;padding-top:12px!important;}
  .project-tab{min-width:max-content!important;height:38px!important;padding:0 16px 12px!important;font-size:12px!important;}
  .project-content{padding-top:32px!important;}
  .project-title{font-size:24px!important;}
  .asset-caption,.project-sub-caption,.article-caption{font-size:12px!important;}
  .article-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .article-card{min-height:300px!important;padding:32px 24px!important;}
  .article-card h3{min-height:auto!important;font-size:20px!important;}

  /* READ */
  .read{padding:84px 0 96px!important;background-size:auto 520px!important;}
  .read h2{font-size:32px!important;margin:32px 0 18px!important;}
  .signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:52px!important;}
  .signal-default,.signal-hover-copy{padding:20px 12px!important;}
  .signal .small{font-size:11px!important;margin-bottom:12px!important;}
  .signal strong{font-size:18px!important;line-height:1.35!important;}
  .signal-hover-copy{font-size:11px!important;line-height:1.45!important;}
  .connect-copy{margin-top:60px!important;}
  .connect-copy img{width:34px!important;height:auto!important;}
  .connect-copy h3{font-size:28px!important;line-height:1.45!important;}

  /* STRATEGY */
  .purple-zone::before{top:-38px!important;height:40px!important;}
  .strategy{padding:72px 0 76px!important;}
  .strategy h2{font-size:32px!important;margin:32px 0 18px!important;}
  .strategy-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:48px!important;}
  .strategy-card{height:230px!important;padding:34px 28px!important;}
  .strategy-card h3{font-size:26px!important;}
  .strategy-card p{font-size:13px!important;max-width:62%!important;}
  .strategy-card img{max-width:145px!important;max-height:145px!important;right:18px!important;bottom:18px!important;}

  /* CASE */
  .case{padding:68px 0 92px!important;}
  .case h2{font-size:32px!important;margin:32px 0 54px!important;}
  .case-board{padding:34px 16px 38px!important;}
  .case-pill{max-width:92%!important;font-size:13px!important;padding:8px 18px!important;margin-top:-55px!important;}
  .case-main{padding:28px 18px!important;min-height:140px!important;}
  .case-grid.three{grid-template-columns:1fr!important;max-width:100%!important;}
  .case-dark{min-height:105px!important;}
  .case-grid.wide{grid-template-columns:1fr!important;overflow:visible!important;border:1px solid rgba(255,255,255,.5)!important;}
  .case-grid.wide::before{width:auto!important;max-width:86%!important;padding:0 22px!important;}
  .case-stat{min-height:120px!important;}
  .case-stat+.case-stat::before{display:none!important;}
  .case-stat+.case-stat{border-top:1px solid rgba(255,255,255,.35)!important;}
  .case-result{grid-template-columns:1fr!important;gap:8px!important;border-radius:24px!important;min-height:0!important;padding:22px 22px!important;text-align:center!important;}
  .case-result strong{font-size:18px!important;}
  .case-result p{font-size:14px!important;}
  .case-final .highlight{font-size:24px!important;min-height:60px!important;}
  .case-quote{margin-top:72px!important;}
  .case-quote-open,.case-quote-close{width:32px!important;}
  .case-quote-text{font-size:22px!important;text-align:right!important;margin-top:22px!important;}
  .case-quote-text b{margin-top:10px!important;}
  .case-quote-close{margin-top:22px!important;}

  /* EXPERIENCE */
  .experience{padding:82px 0 72px!important;}
  .experience h2{font-size:32px!important;margin:32px 0 18px!important;}
  .year-tabs{margin:44px 0 30px!important;}
  .year-btn{min-width:88px!important;height:38px!important;font-size:14px!important;}
  .experience-grid{grid-template-columns:1fr!important;gap:34px!important;}
  .more{font-size:20px!important;margin-top:50px!important;}

  /* Clients */
  .clients{height:110px!important;}
  .clients .client-strip{height:110px!important;}

  /* Footer */
  .footer{padding:46px 0 34px!important;}
  .footer-top{grid-template-columns:1fr!important;gap:24px!important;}
  .footer-logo{width:118px!important;margin-bottom:24px!important;}
  .footer h2{font-size:27px!important;line-height:1.45!important;}
  .contact-btn{width:100%!important;min-width:0!important;height:58px!important;margin-top:0!important;font-size:18px!important;}
  .footer-info{margin-top:36px!important;font-size:13px!important;}
  .footer-info-row{grid-template-columns:18px 58px minmax(0,1fr)!important;align-items:start!important;}
  .footer-bottom{flex-direction:column!important;margin-top:36px!important;}
  .company-download{align-self:flex-start!important;}
}


/* =========================================================
   MOBILE FOOTER containment + project swipe
   ========================================================= */
@media (max-width:720px){
  .project-content{
    touch-action:pan-y!important;
    overflow:hidden!important;
  }
  .project-hero-stage,.project-banner-stage{
    touch-action:pan-y!important;
  }

  .footer>.wrap,
  .footer-top,
  .footer-left,
  .footer-info,
  .footer-info-row,
  .footer-bottom,
  .footer-legal,
  .company-download{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  .footer-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }

  .contact-btn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:normal!important;
  }

  .footer-info{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:12px!important;
    margin-top:34px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  .footer-info-row{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:18px 62px minmax(0,1fr)!important;
    column-gap:8px!important;
    align-items:start!important;
  }

  .footer-info-row img{
    margin-top:2px!important;
  }

  .footer-info-row b,
  .footer-info-row span{
    min-width:0!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  .footer-info-row b{
    white-space:nowrap!important;
  }

  .footer-info-row span{
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }

  .footer-bottom{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:20px!important;
    margin-top:34px!important;
    padding-top:22px!important;
  }

  .footer-legal{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .footer-legal>span{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    font-size:12px!important;
    line-height:1.65!important;
  }

  .admin-link{
    margin-top:10px!important;
    font-size:11px!important;
    line-height:1.5!important;
  }

  .company-download{
    position:static!important;
    right:auto!important;
    left:auto!important;
    align-self:flex-start!important;
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    white-space:normal!important;
    font-size:12px!important;
    line-height:1.5!important;
  }
}

@media (min-width:721px) and (max-width:1199px){
  .contact-btn{margin-right:0!important;}
  .company-download{right:auto!important;}
  .footer-info-row span,.footer-legal>span{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

@media (max-width:720px){
  .footer>.wrap{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
