/* Shared mobile optimization layer */

@media (max-width: 960px){
  :root{
    --pad-x: clamp(12px, 4vw, 18px);
    --header-h: 74px;
  }

  html{
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
  }

  body{
    overflow-x: clip;
  }

  img,
  svg,
  video,
  canvas,
  iframe{
    max-width: 100%;
    height: auto;
  }

  :where(body, p, li, label, input, select, textarea, td, th){
    font-size: 15px;
    line-height: 1.6;
  }

  :where(h1, .hero h1, .section__title, .why-title, .info-title, .headline_container h2){
    font-size: clamp(24px, 7.2vw, 36px) !important;
    line-height: 1.1;
  }

  :where(h2, .experience-block h2, .partners-label, .new-overlay-content h2, .card .details .center h2){
    font-size: clamp(20px, 5.6vw, 28px) !important;
    line-height: 1.14;
  }

  :where(h3, .experience-block h3, .why-panel h3, .promise-item h4, .step-item h4, .industry-card h3){
    font-size: clamp(17px, 4.6vw, 22px) !important;
    line-height: 1.22;
  }

  :where(.container, .footer__inner, .hall-inner, .grid-container, .why-wrap, .main-row, .info-row, .cols, .legal, .legal-right, .process-flow, .industry-list, .promise-steps, .promise-block, .text, .new-text, .overlay, .new-overlay, .headline_container){
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  :where(.grid, .cols, .main-row, .info-row, .why-wrap, .process-flow, .industry-list, .promise-steps){
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  :where(.grid-container, .why-right){
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 16px !important;
  }

  :where(.why-panel, .experience-block, .card, .info-left, .info-right, .step-item, .promise-item, .industry-card, .ch16-card, .text, .new-text, .overlay, .new-overlay, .details, .center){
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  :where(.button, .button-bubble, .btn-chip, .cta-bubble button, input[type="submit"], input[type="button"], input[type="reset"]){
    min-height: 46px;
    padding: 12px 16px !important;
    font-size: 15px !important;
    line-height: 1.2;
    border-radius: 12px;
  }

  :where(.button-bubble, .cta-bubble, .cta-bubble button, .btn-chip, .button){
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }

  .info-grid{
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding-inline: 0 !important;
  }

  .hero .info-grid,
  .hero .container,
  .hero .why-smooth{
    overflow-x: clip;
  }

  form[action*="free_initial_consultation"] .button-bubble,
  form[action*="free_initial_consultation"] .bc-btn,
  a[href*="free_initial_consultation"].button-bubble{
    min-height: 72px;
    padding: 18px 22px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    border-radius: 16px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .main-item,
  .mp-item{
    width: 100% !important;
  }

  form[action*="matchingpioneers"][style*="margin-left"]{
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 250px !important;
  }

  form[action*="matchingpioneers"][style*="margin-left"] .slide-text{
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    justify-items: center;
    gap: 8px;
    padding: 0 !important;
    text-align: center;
  }

  form[action*="matchingpioneers"][style*="margin-left"] .slide-title{
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }

  form[action*="matchingpioneers"][style*="margin-left"] .slide-title img{
    width: min(220px, 58vw) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .mp-item{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
    position: relative !important;
    margin-top: 12px !important;
  }

  .mp-item .bubble{
    display: none !important;
  }

  .mp-item .content-box{
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-height: 100%;
    padding: 16px 16px !important;
    transform: none !important;
    translate: 0 !important;
  }

  .mp-item .content-box h2{
    font-size: clamp(18px, 5.8vw, 22px) !important;
    line-height: 1.12 !important;
  }

  .mp-item .content-box p{
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .mp-item .content-box.bottom button{
    width: 100%;
    min-height: 48px;
    padding: 12px 16px !important;
    font-size: 15px !important;
    border-radius: 12px;
    transform: none !important;
    translate: 0 !important;
  }

  .mp-item .content-box.bottom{
    grid-column: 1 / -1;
  }

  .slide-desc{
    font-size: clamp(18px, 5.6vw, 24px) !important;
    text-align: center;
  }

  .glass-overlay{
    padding: 10px 12px 12px !important;
  }

  .glass-overlay h3{
    font-size: clamp(10px, 2.9vw, 12px) !important;
    line-height: 1.22 !important;
    margin: 1px 0 !important;
  }

  .bulbs-strip{
    padding: 22px 12px 12px !important;
    background: transparent !important;
    display: block !important;
  }

  .bulbs-strip::before{
    top: 10px;
    bottom: 10px;
    left: 50%;
    right: auto;
    width: 5px;
    height: auto;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #2e5bff, #7aa6ff) !important;
  }

  .bulbs-row{
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }

  .bulbs-row .bulb + .bulb{
    margin-left: 0 !important;
  }

  .bulb{
    width: min(100%, 320px) !important;
    height: auto !important;
    min-height: 92px;
    border-radius: 28px !important;
    margin-inline: auto;
    padding: 10px 14px;
    transform: none !important;
  }

  .bulb.is-active{
    width: min(100%, 348px) !important;
    height: auto !important;
    min-height: 108px;
  }

  .bulb-btn{
    width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
    text-wrap: balance;
    font-size: clamp(16px, 4.4vw, 20px) !important;
    line-height: 1.12 !important;
    padding: 6px 10px !important;
    text-align: center !important;
  }

  .bulb-caption{
    max-width: min(100%, 38ch) !important;
    margin: 6px auto 18px !important;
    font-size: clamp(13px, 3.5vw, 15px) !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  .dtrail-viewer{
    padding: 16px !important;
  }

  .viewer-card{
    width: min(100%, 460px) !important;
    max-width: 100% !important;
    max-height: none !important;
    grid-template-columns: 78px 1fr !important;
    gap: 14px !important;
    align-items: start !important;
    border-radius: 18px !important;
    padding: 16px !important;
  }

  .viewer-card img{
    grid-column: 1 !important;
    width: 78px !important;
    height: 78px !important;
    max-width: 78px !important;
    max-height: 78px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.28) !important;
  }

  #viewerCaption{
    grid-column: 2 !important;
    align-self: start !important;
    background: transparent !important;
    padding: 0 !important;
  }

  #viewerCaption h3{
    margin: 0 0 6px !important;
    font-size: clamp(13px, 3.4vw, 15px) !important;
    line-height: 1.35 !important;
  }

  .viewer-close{
    top: 10px !important;
    right: 10px !important;
  }

  .bulbys-strip{
    display: grid !important;
    gap: 16px !important;
    padding: 16px 12px 20px !important;
  }

  .bulbys-strip::before,
  .bulbys-row::before{
    display: none !important;
  }

  .bulbys-row{
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    overflow: visible !important;
    justify-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 0 !important;
  }

  .bulby{
    width: 100% !important;
  }

  .bulby .bulby-btn{
    width: 100% !important;
    min-height: 92px !important;
    height: auto !important;
    border-radius: 22px !important;
    padding: 12px 14px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
    text-wrap: balance;
    font-size: clamp(15px, 3.8vw, 18px) !important;
    line-height: 1.15 !important;
    box-sizing: border-box;
  }

  .right-pane{
    width: 100% !important;
    min-width: 0 !important;
  }

  .bulby-caption{
    padding: 14px !important;
  }

  .bulby-caption h1,
  .bulby-caption p{
    margin: 0 !important;
    font-size: clamp(15px, 3.9vw, 18px) !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  .cards-group{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .cards-group .container{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .cards-group .box{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .cards-group .box::before,
  .cards-group .box::after,
  .cards-group .box > span,
  .cards-group .box > span::before,
  .cards-group .box > span::after{
    display: none !important;
  }

  .cards-group .content{
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    padding: 16px !important;
    text-align: left !important;
    box-sizing: border-box;
  }

  .cards-group .box:hover .content{
    left: 0 !important;
    padding: 16px !important;
  }

  .cards-group .content h2,
  .cards-group .content h3{
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.18 !important;
    margin: 0 0 8px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  .cards-group .content p{
    font-size: clamp(13px, 3.5vw, 15px) !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  .cards-group > h2.hover-underline{
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.1 !important;
    margin: 0 0 8px !important;
  }

  .cards-group .content a{
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  .dtrail-strip{
    overflow-x: auto !important;
    max-width: 100% !important;
    padding: 0 8px !important;
  }

  .dcard{
    flex: 0 0 clamp(118px, 34vw, 170px) !important;
    height: clamp(136px, 36vw, 190px) !important;
  }

  .page-newspaper #bricks{
    padding: 1.5rem 0 2.75rem !important;
  }

  .page-newspaper{
    font-size: 13px;
  }

  .page-newspaper .row.masonry{
    width: 92vw !important;
  }

  .page-newspaper .bricks-wrapper{
    column-gap: 1rem !important;
  }

  .page-newspaper #bricks h1{
    font-size: clamp(22px, 5.4vw, 32px) !important;
    line-height: 1.02 !important;
    padding-bottom: 1rem !important;
    margin-bottom: .85rem !important;
    margin-left: 10% !important;
  }

  .page-newspaper #bricks h1 + h1{
    font-size: clamp(20px, 5.0vw, 28px) !important;
    line-height: 1.02 !important;
    padding-bottom: 1rem !important;
    margin-left: 10% !important;
  }

  .page-newspaper .featured-post-slide{
    height: clamp(230px, 50vw, 340px) !important;
  }

  .page-newspaper .featured-post-slide .post-content{
    padding: 1.05rem 1.05rem !important;
  }

  .page-newspaper .entry-meta{
    font-size: .72rem !important;
  }

  .page-newspaper .slide-title{
    font-size: clamp(.95rem, 4.0vw, 1.3rem) !important;
    line-height: 1.12 !important;
    margin-top: .35rem !important;
  }

  .page-newspaper .slide-title form button{
    font-size: inherit !important;
    line-height: inherit !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .page-newspaper .brick{
    margin-bottom: 1rem !important;
    border-radius: 14px !important;
  }

  .page-newspaper .entry-text{
    padding: .65rem .75rem .8rem !important;
  }

  .page-newspaper .entry-title{
    font-size: clamp(.88rem, .82rem + .7vw, 1.05rem) !important;
    line-height: 1.2 !important;
    margin: .15rem 0 .15rem !important;
  }

  .page-newspaper .entry-title button{
    font-size: inherit !important;
    line-height: inherit !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .page-newspaper .entry-excerpt{
    margin-top: .4rem !important;
    font-size: .8rem !important;
    line-height: 1.42 !important;
  }

  .page-newspaper .cat-links button{
    font-size: .7rem !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .page-newspaper .thumb-link{
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .page-newspaper .format-quote blockquote{
    padding: .95rem .95rem 1.05rem !important;
    font-size: clamp(.88rem, .86rem + .7vw, 1.02rem) !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 640px){
  :root{
    --pad-x: 12px;
    --header-h: 70px;
  }

  :where(body, p, li, label, input, select, textarea, td, th){
    font-size: 14px;
  }

  :where(h1, .hero h1, .section__title, .why-title, .info-title, .headline_container h2){
    font-size: clamp(22px, 8.4vw, 32px) !important;
  }

  :where(h2, .experience-block h2, .partners-label, .new-overlay-content h2, .card .details .center h2){
    font-size: clamp(18px, 6.2vw, 26px) !important;
  }

  :where(h3, .experience-block h3, .why-panel h3, .promise-item h4, .step-item h4, .industry-card h3){
    font-size: clamp(16px, 5vw, 20px) !important;
  }

  :where(.container, .footer__inner, .hall-inner, .grid-container, .why-wrap, .main-row, .info-row, .cols, .legal, .legal-right, .process-flow, .industry-list, .promise-steps, .promise-block){
    padding-inline: 12px !important;
  }

  .page-newspaper #bricks{
    padding: 1.2rem 0 2.35rem !important;
  }

  .page-newspaper{
    font-size: 12.5px;
  }

  .page-newspaper #bricks h1{
    font-size: clamp(18px, 8.0vw, 26px) !important;
    line-height: 1.0 !important;
    padding-bottom: .85rem !important;
    margin-left: 8% !important;
  }

  .page-newspaper #bricks h1 + h1{
    font-size: clamp(16px, 7.3vw, 24px) !important;
    line-height: 1.0 !important;
    margin-left: 8% !important;
  }

  .page-newspaper .featured-post-slide{
    height: clamp(210px, 58vw, 300px) !important;
  }

  .page-newspaper .featured-post-slide .post-content{
    padding: .95rem .95rem !important;
  }

  .page-newspaper .slide-title{
    font-size: clamp(.9rem, 4.8vw, 1.2rem) !important;
  }

  .page-newspaper .entry-text{
    padding: .6rem .7rem .75rem !important;
  }

  .page-newspaper .entry-excerpt{
    font-size: .78rem !important;
    line-height: 1.38 !important;
  }

  .mp-item{
    grid-template-columns: 1fr;
  }

  .mp-item .content-box.bottom{
    grid-column: auto;
  }

  form[action*="matchingpioneers"][style*="margin-left"] .slide-title img{
    width: min(180px, 52vw) !important;
  }

  .slide-desc{
    font-size: clamp(16px, 5vw, 20px) !important;
  }

  .bulb{
    width: min(100%, 280px) !important;
    min-height: 84px;
    border-radius: 24px !important;
  }

  .bulb.is-active{
    width: min(100%, 300px) !important;
    min-height: 96px;
  }

  .viewer-card{
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
  }

  .viewer-card img{
    grid-column: 1 !important;
  }

  #viewerCaption{
    grid-column: 1 !important;
  }

  .bulbys-row{
    grid-template-columns: 1fr !important;
  }

  .bulby .bulby-btn{
    min-height: 84px !important;
    border-radius: 18px !important;
  }

  .glass-overlay h3{
    font-size: clamp(9px, 2.8vw, 11px) !important;
    line-height: 1.18 !important;
  }
}
/* Newspaper mobile item optimization overrides */
@media (max-width: 960px) {
  .page-newspaper {
    background: #fff !important;
    color: #0f172a !important;
  }

  .page-newspaper #bricks {
    padding: 1.25rem 0 2.75rem !important;
  }

  .page-newspaper .row.masonry {
    width: min(100% - 24px, 680px) !important;
    margin-inline: auto !important;
  }

  .page-newspaper .bricks-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    column-count: initial !important;
    column-gap: 0 !important;
  }

  .page-newspaper .brick {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    break-inside: avoid !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
  }

  .page-newspaper .brick img,
  .page-newspaper .thumb-link img,
  .page-newspaper .entry-thumb img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  .page-newspaper .thumb-link {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .page-newspaper .entry-text {
    display: grid !important;
    gap: 8px !important;
    padding: 14px 15px 16px !important;
  }

  .page-newspaper .entry-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 10px !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }

  .page-newspaper .cat-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .page-newspaper .cat-links button {
    min-height: 28px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .page-newspaper .entry-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    margin: 0 !important;
    color: #0f172a !important;
    font-size: clamp(1rem, 3.6vw, 1.14rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    text-wrap: balance !important;
  }

  .page-newspaper .entry-title button,
  .page-newspaper .slide-title form button {
    display: inline !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    text-align: inherit !important;
  }

  .page-newspaper .entry-excerpt {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    margin: 0 !important;
    color: #475569 !important;
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
  }

  .page-newspaper .format-quote blockquote {
    margin: 0 !important;
    padding: 1rem !important;
    border-radius: 18px !important;
    background: #eff6ff !important;
    color: #0f172a !important;
    font-size: clamp(0.95rem, 3.6vw, 1.08rem) !important;
    line-height: 1.42 !important;
  }

  .page-newspaper .featured-post-slide {
    height: clamp(230px, 52vw, 340px) !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  .page-newspaper .featured-post-slide .post-content {
    padding: 1rem !important;
    background: linear-gradient(
      180deg,
      rgba(15, 23, 42, 0),
      rgba(15, 23, 42, 0.78)
    ) !important;
  }

  .page-newspaper .slide-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    font-size: clamp(1.05rem, 4.4vw, 1.38rem) !important;
    line-height: 1.12 !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 640px) {
  .page-newspaper #bricks {
    padding: 1rem 0 2.25rem !important;
  }

  .page-newspaper .row.masonry {
    width: calc(100% - 20px) !important;
  }

  .page-newspaper .bricks-wrapper {
    gap: 12px !important;
  }

  .page-newspaper .brick {
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07) !important;
  }

  .page-newspaper .entry-text {
    padding: 12px 13px 14px !important;
    gap: 7px !important;
  }

  .page-newspaper .entry-title {
    font-size: clamp(0.96rem, 4.6vw, 1.08rem) !important;
    line-height: normal !important;
  }

  .page-newspaper .entry-excerpt {
    -webkit-line-clamp: 2 !important;
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
  }

  .page-newspaper .entry-meta {
    font-size: 0.68rem !important;
  }

  .page-newspaper .cat-links button {
    min-height: 26px !important;
    padding: 4px 8px !important;
    font-size: 0.64rem !important;
  }

  .page-newspaper .brick img,
  .page-newspaper .thumb-link img,
  .page-newspaper .entry-thumb img {
    aspect-ratio: 16 / 9 !important;
  }

  .page-newspaper .featured-post-slide {
    height: clamp(210px, 62vw, 290px) !important;
    border-radius: 18px !important;
  }
}
/* Newspaper first title / mobile hero title cleanup */
@media (max-width: 960px) {
  .page-newspaper #bricks{
    padding-top: 0.5rem !important;
  }

  .page-newspaper .newspaper-hero-heading{
    width: calc(100% - 40px) !important;
    margin: 0 auto 0.9rem !important;
    padding: 0 !important;
  }

  .page-newspaper #bricks .newspaper-hero-title{
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(1.8rem, 8.9vw, 2.65rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .page-newspaper #bricks .newspaper-hero-title--secondary{
    margin-top: 1.5rem !important;
  }

  .page-newspaper #bricks .newspaper-hero-dot{
    color: #1737ff !important;
    font-style: normal !important;
  }
}

@media (max-width: 640px) {
  .page-newspaper #bricks{
    padding-top: 0.25rem !important;
  }

  .page-newspaper .newspaper-hero-heading{
    width: calc(100% - 28px) !important;
    margin: 0 auto 0.75rem !important;
  }

  .page-newspaper #bricks .newspaper-hero-title{
    font-size: clamp(1.55rem, 8.8vw, 2.15rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
  }

  .page-newspaper #bricks .newspaper-hero-title--secondary{
    margin-top: 1.2rem !important;
  }
}

@media (max-width: 450px) {
  .page-newspaper #bricks{
    padding: 0.15rem 0 1.6rem !important;
  }

  .page-newspaper .newspaper-hero-heading{
    width: calc(100% - 22px) !important;
    margin: 0 auto 0.65rem !important;
  }

  .page-newspaper #bricks .newspaper-hero-title{
    font-size: clamp(1.34rem, 8.2vw, 1.82rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.038em !important;
  }

  .page-newspaper #bricks .newspaper-hero-title--secondary{
    margin-top: 0.95rem !important;
  }

  .page-newspaper .row.masonry{
    width: calc(100% - 14px) !important;
  }

  .page-newspaper .bricks-wrapper{
    gap: 10px !important;
    column-gap: 10px !important;
  }

  .page-newspaper .brick{
    border-radius: 14px !important;
  }

  .page-newspaper .featured-post-slide{
    height: clamp(180px, 58vw, 235px) !important;
    border-radius: 16px !important;
  }

  .page-newspaper .featured-post-slide .post-content{
    padding: 0.8rem !important;
  }

  .page-newspaper .slide-title{
    -webkit-line-clamp: 2 !important;
    font-size: clamp(1.08rem, 5.8vw, 1.32rem) !important;
    line-height: 1.12 !important;
  }

  .page-newspaper .slide-meta,
  .page-newspaper .entry-meta{
    font-size: 0.66rem !important;
    gap: 5px 8px !important;
  }

  .page-newspaper .entry-text{
    padding: 11px 12px 13px !important;
    gap: 6px !important;
  }

  .page-newspaper .entry-title{
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
  }

  .page-newspaper .entry-title button{
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
  }

  .page-newspaper .entry-excerpt{
    -webkit-line-clamp: 2 !important;
    font-size: 0.76rem !important;
    line-height: 1.4 !important;
  }

  .page-newspaper .cat-links{
    gap: 5px !important;
  }

  .page-newspaper .cat-links button{
    min-height: 24px !important;
    padding: 4px 7px !important;
    font-size: 0.6rem !important;
  }

  .page-newspaper .brick img,
  .page-newspaper .thumb-link img,
  .page-newspaper .entry-thumb img{
    aspect-ratio: 16 / 10 !important;
  }

  .page-newspaper .wb-banner{
    transform: scale(0.92);
    transform-origin: left bottom;
  }
}

@media (max-width: 900px) {
  .mobile-readmore-target{
    position: relative;
    overflow: hidden;
    max-height: var(--mobile-collapse-height, 12rem);
    transition: max-height .28s ease;
  }

  .mobile-readmore-target:not(.is-expanded)::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3.25rem;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.94) 72%, rgba(255,255,255,1) 100%);
  }

  .mobile-readmore-target.is-expanded{
    max-height: none;
  }

  .mobile-readmore-target.is-expanded::after{
    display: none;
  }

  .mobile-readmore-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .45rem;
    margin-top: .55rem;
    padding: .2rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #1737ff;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
  }

  .mobile-readmore-toggle::after{
    content: "";
    width: .55rem;
    height: .55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transition: transform .22s ease;
  }

  .mobile-readmore-toggle[aria-expanded="true"]::after{
    transform: rotate(-135deg) translateY(-1px);
  }

  .mobile-readmore-toggle:hover,
  .mobile-readmore-toggle:focus-visible{
    color: #0f2be1;
  }

  .hero.hero--why-sticky .why-wrap{
    display: block !important;
    padding-inline: 16px !important;
  }

  .hero.hero--why-sticky .why-left{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 18px !important;
    order: 0 !important;
    z-index: 2 !important;
  }

  .hero.hero--why-sticky .why-left-pin{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero.hero--why-sticky .why-right{
    display: grid !important;
    order: 1 !important;
    clear: both !important;
    margin-top: 18px !important;
  }

  .hero.hero--why-sticky .why-right{
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0 !important;
    align-items: stretch !important;
    padding: 0 0 12px !important;
    margin-inline: 0 !important;
    left: auto !important;
    transform: none !important;
    translate: none !important;
  }

  .hero.hero--why-sticky .why-right::-webkit-scrollbar{
    display: none;
  }

  .hero.hero--why-sticky .why-panel{
    min-height: min(74vh, 760px) !important;
    min-height: min(74svh, 760px) !important;
    height: auto !important;
    display: block !important;
    align-content: start !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 0 !important;
    border-radius: 20px !important;
    margin-left: 0 !important;
    border-bottom: 0 !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
  }

  .hero.hero--why-sticky .why-panel > .experience-block{
    width: 100% !important;
    min-height: min(74vh, 760px) !important;
    min-height: min(74svh, 760px) !important;
    margin: 0 !important;
    padding: 20px 18px 24px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 12px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }

  .hero.hero--why-sticky .why-panel > .experience-block > *{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero.hero--why-sticky .why-panel h2{
    font-size: clamp(1.55rem, 6.6vw, 2rem) !important;
    line-height: 1.08 !important;
    margin: 0 0 10px !important;
    text-align: left !important;
  }

  .hero.hero--why-sticky .why-panel h3{
    font-size: clamp(1.15rem, 5.8vw, 1.55rem) !important;
    line-height: 1.12 !important;
    margin: 0 0 8px !important;
    text-align: left !important;
  }

  .hero.hero--why-sticky .why-panel p,
  .hero.hero--why-sticky .why-panel li,
  .hero.hero--why-sticky .why-panel .step-box{
    font-size: clamp(.92rem, 3.9vw, 1rem) !important;
    line-height: 1.5 !important;
    text-align: left !important;
  }

  .hero.hero--why-sticky #expBlock0{
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
  }

  .hero.hero--why-sticky #expBlock0 h3{
    font-size: clamp(1.3rem, 7vw, 1.8rem) !important;
    margin-bottom: 2px !important;
  }

  .hero.hero--why-sticky #expBlock0 h2{
    font-size: clamp(1.25rem, 6.4vw, 1.7rem) !important;
    margin-bottom: 10px !important;
  }

  .hero.hero--why-sticky #expBlock0 .cta-bubble{
    width: 100% !important;
    margin-top: auto !important;
  }

  .hero.hero--why-sticky .industry-list,
  .hero.hero--why-sticky .process-flow,
  .hero.hero--why-sticky .promise-block,
  .hero.hero--why-sticky .promise-steps{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero.hero--why-sticky .industry-card,
  .hero.hero--why-sticky .step-item,
  .hero.hero--why-sticky .promise-item,
  .hero.hero--why-sticky .promise-text{
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    border-radius: 16px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .hero.hero--why-sticky .industry-card ul{
    padding-left: 18px !important;
    margin: 0 !important;
  }

  .hero.hero--why-sticky .step-item{
    padding-left: 14px !important;
  }

  .hero.hero--why-sticky .step-number,
  .hero.hero--why-sticky .promise-number{
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin-bottom: 8px !important;
  }

  .hero.hero--why-sticky .step-item h4,
  .hero.hero--why-sticky .promise-item h4,
  .hero.hero--why-sticky .industry-card h3{
    font-size: 1rem !important;
    line-height: 1.3 !important;
    margin: 0 0 8px !important;
  }

  .hero.hero--why-sticky .step-item h4 br,
  .hero.hero--why-sticky .step-box br{
    display: none !important;
  }
}
