/* Intermediate tablet layout. The desktop structure remains unchanged above 900px. */
@media (max-width: 900px) {
	.site-container { width: min(100% - 3rem, var(--container-width)); }
	.section { padding-block: 88px; }
	.hero { min-height: auto; padding-block: 72px 88px; }
	.hero__inner { grid-template-columns: 1fr 1fr; gap: 2rem; min-height: 470px; }
	.hero__visual { min-height: 360px; }
	.hero h1 { font-size: clamp(2.6rem, 5vw, 4rem); white-space: normal; }
	.hero__actions { gap: 1rem; }
	.hero__actions .button, .hero__actions .text-link { white-space: nowrap; }
	.hero__actions .button--dark { padding-inline: 1rem; }
	.hero__actions .text-link { padding-inline: .9rem; }
	.device--pc { width: 330px; height: 220px; }
	.device--tablet { width: 145px; height: 205px; }
	.device--phone { width: 100px; height: 180px; }
	.message__inner { grid-template-columns: 1fr 250px; gap: 2rem; }
	.person--message { transform: translateY(16px) scale(1.04); transform-origin: center bottom; }
	.person--about { transform: scale(1.04); }
	.person--message .person__acf-image img, .person--about .person__acf-image img { width: 90%; height: 90%; }
	.service-card--featured { grid-template-columns: 1fr 1fr; }
	.service-layout__bottom { grid-template-columns: 1fr 1fr; }
	#service .section-heading--row, #works .section-heading--row { margin-bottom: 2rem; }
	.service-layout__bottom .service-art:has(.service-art__image) { height: 262px; min-height: 262px; padding: 1rem; }
	.strength__inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.strength-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.strength-item { min-height: 200px; padding-inline: 1rem; }
	.flow-list { grid-template-columns: repeat(3, 1fr); gap: 2.25rem 0; }
	.flow-item:nth-child(3):after { display: none; }
	.about__inner { grid-template-columns: 1fr 1fr; gap: 3rem; }
	.about__visual { min-height: 360px; }
	.column-card--featured { grid-template-columns: 1fr 1fr; }
	.journal-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
}

@media (max-width: 640px) {
	.site-container { width: min(100% - 2.5rem, var(--container-width)); }
	.section { padding-block: 68px; }
	.site-header__inner { min-height: 76px; }
	.site-navigation, .header-contact { display: none; }
	.menu-toggle { display: inline-flex; }
	.mobile-menu { display: none; }
	body.menu-is-open { overflow: hidden; }
	body.menu-is-open .mobile-menu { display: flex; }
	.mobile-menu { position: absolute; z-index: 10; top: 76px; right: 0; left: 0; flex-direction: column; gap: 0; padding: .75rem 1.25rem 1.25rem; border-top: 1px solid var(--color-beige); background: var(--color-white); box-shadow: 0 18px 30px rgba(73,56,43,.08); }
	.mobile-menu a { padding: .72rem 0; border-bottom: 1px solid rgba(219,201,181,.6); font-family: var(--font-serif); font-size: .9rem; letter-spacing: .1em; }
	.mobile-menu a:last-child { border-bottom: 0; color: var(--color-peach); }
	.hero { padding-block: 18px 19px; }
	.hero__inner { display: flex; flex-direction: column; gap: 0; min-height: auto; }
	.hero__copy { display: contents; width: 100%; }
	.hero__copy .hero__kicker { order: 1; margin-bottom: .6rem; }
	.hero__copy h1 { order: 2; }
	.hero__copy .hero__lead { order: 3; margin-bottom: 1rem; }
	.hero__copy .tag-list { order: 4; }
	.hero__copy .hero__actions { order: 6; }
	.hero h1 { margin-bottom: .8rem; font-size: 2.05rem; line-height: 1.22; white-space: normal; }
	.hero__lead { margin-bottom: .7rem; font-size: .8rem; line-height: 1.65; }
	.tag-list { gap: .35rem; margin-bottom: .75rem; }
	.tag-list span { padding: .12rem .65rem; font-size: .64rem; }
	.hero__actions { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; width: 100%; margin-top: .5rem; }
	.hero__actions .button, .hero__actions .text-link { justify-content: center; width: 100%; min-height: 44px; padding-block: .5rem; }
	.hero__actions .text-link { padding: .7rem 1.5rem; border: 1px solid var(--color-brown); border-radius: 50px; background: var(--color-white); color: var(--color-brown); }
	.hero__visual { order: 5; width: 100%; min-height: 180px; margin-top: 0; margin-bottom: 0; }
	.hero__composite { justify-content: center; }
	#service .section-heading--row, #works .section-heading--row { margin-bottom: 2rem; }
	.hero__composite-image { width: min(70%, 240px); }
	.hero__scroll { display: none; }
	.hero__wordmark { top: 2%; right: 1%; font-size: 2.35rem; opacity: .65; }
	.hero__wordmark span { font-size: .7rem; }
	.plant--hero { display: none; }
	.device--pc { top: 16%; right: 7%; width: 285px; height: 190px; }
	.device--tablet { right: 0; bottom: 4%; width: 115px; height: 170px; }
	.device--phone { right: 24%; bottom: 0; width: 80px; height: 150px; }
	.message__inner { display: flex; flex-direction: column; align-items: stretch; gap: 2rem; }
	.message__content { width: 100%; }
	.message__copy { max-width: none; }
	.message__copy h2 { font-size: 1.85rem; }
	.person--message { align-self: center; transform: translateY(10px) scale(1.08); transform-origin: center bottom; margin-bottom: -45px; }
	.person--about { transform: scale(.94); }
	.person--message .person__acf-image img { width: 100%; height: 100%; }
	.person--about .person__acf-image img { width: 86%; height: 86%; }
	.service-layout, .service-layout__bottom { grid-template-columns: 1fr; }
	.service-card--featured { display: block; }
	.service-art, .service-card--featured .service-art { min-height: 210px; }
	.service-art:has(.service-art__image) { min-height: 0; padding: 1rem; }
	.service-art:has(.service-art__image) .service-art__image { width: auto; max-width: 100%; max-height: 100%; }
	.service-layout__bottom .service-art:has(.service-art__image) { height: auto; min-height: 0; padding: 1rem; }
	.service-layout__bottom .service-art:has(.service-art__image) .service-art__image { width: min(100%, 300px); max-height: none; }
	.service-card__body p:not(.card-number) { min-height: 0; }
	.works-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.work-card__image { min-height: 210px; }
	.work-card__image:has(.work-card__image-file) { height: auto; min-height: 0; padding: .85rem; margin-bottom: .85rem; }
	.work-card__image:has(.work-card__image-file) .work-card__image-file { width: min(100%, 300px); max-height: none; }
	.section-more { margin-top: 2.5rem; }
	.strength__inner { display: block; }
	.strength__intro { margin-bottom: 2.5rem; }
	.strength__intro h2 { font-size: 2rem; }
	.strength-list { display: block; }
	.strength-item { min-height: 0; padding: 1.35rem 0 1.5rem; border-top: 1px solid var(--color-beige); border-left: 0; }
	.strength-item:first-child { padding-top: 0; border-top: 0; }
	.strength-item__number { display: block; margin-bottom: .75rem; font-size: 3.4rem; }
	.about__inner { display: flex; flex-direction: column; gap: 0; }
	.about__copy { display: contents; }
	.about__copy .section-label { order: 1; margin-bottom: .9rem; }
	.about__copy h2 { order: 2; margin-bottom: 1.8rem; font-size: 2rem; }
	.about__visual { order: 3; min-height: 300px; margin-bottom: 2.1rem; }
	.about__copy .about__lead { order: 4; }
	.about__copy > p:not(.section-label):not(.about__lead) { order: 5; }
	.about__copy .arrow-link { order: 6; align-self: flex-start; }
	.flow-list { display: block; }
	.flow-list { width: 100%; max-width: 350px; margin-inline: auto; }
	.flow-item { display: grid; grid-template-columns: 76px minmax(0, 1fr); column-gap: 20px; min-height: 88px; padding: 0 0 1.4rem; text-align: left; }
	.flow-item:not(:last-child):after { top: 68px; left: 38px; width: 1px; height: calc(100% - 68px); background: var(--color-beige-dark); }
	.flow-item__circle { grid-row: 1 / span 2; width: 68px; height: 68px; margin: 0 auto; border: 0; background: transparent; color: rgba(226,153,113,.68); font-size: 3rem; line-height: .9; }
	.flow-item h3, .flow-item p { grid-column: 2; text-align: left; }
	.flow-item h3 { margin-bottom: .25rem; }
	.flow-item p { font-size: .8rem; }
	.column-grid { display: block; }
	.column-card--featured { display: block; }
	.article-art--featured { min-height: 220px; }
	.column-side { margin-top: 1.5rem; gap: 1rem; }
	.column-side .column-card { grid-template-columns: 110px 1fr; }
	.journal-grid { display: block; }
	.journal-block + .journal-block { margin-top: 3rem; }
	.social-grid { gap: .55rem; }
	.note-list h4 { font-size: .88rem; }
	.cta__inner { padding-block: 12px; }
	.cta h2 { font-size: 2rem; }
	.cta__actions { flex-direction: column; align-items: stretch; width: 100%; gap: .7rem; }
	.cta__actions .button { width: 100%; min-height: 50px; }
	.cta__plant { display: none; }
	.site-footer { padding-top: 58px; }
	.site-footer__grid { display: flex; flex-direction: column; gap: 2rem; padding-bottom: 2.5rem; }
	.site-footer__brand { width: 100%; }
	.site-footer__grid > div:not(:first-child) { gap: .4rem; }
	.site-footer__bottom { display: block; }
	.site-footer__bottom span { display: block; margin-top: .5rem; }
}
