/* Responsive refinements, scoped to tablets and phones. Desktop art direction is retained. */
@media (max-width: 1050px) {
  .site-header .menu-toggle {margin-left:auto; min-width:44px; min-height:44px; align-items:center; justify-content:center; flex-shrink:0}
  .site-nav {max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain}
  .site-nav>a {padding:10px 0; min-height:44px}
}
@media (max-width: 850px) {
  .two-col,.reference-preview,.split-with-photo,.price-table-section,.fee-note,.founder-story,.contact-layout,.method-preview,.future-project,.offer-status,.mb-forest-note {grid-template-columns:minmax(0,1fr); gap:28px}
  .details-grid,.values-grid,.services-detailed,.zones-grid,.concrete-grid,.experience-grid,.scope-columns {grid-template-columns:minmax(0,1fr)}
  .section-top {display:block}
  .section-top>p {max-width:100%}
  main>.hero-seamless .hero-card {width:min(600px,75%)}
  .final-cta {flex-direction:column; align-items:flex-start}
  .footer-top {grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top>div:first-child,.footer-top>div:last-child {grid-column:1/-1}
}
@media (max-width: 760px) {
  html {scroll-padding-top:86px}
  body {font-size:16px}
  main,main section,main article,main aside,main form,.footer-top>div {min-width:0}
  .site-header {height:70px; min-height:70px; padding:0 20px; gap:10px}
  .site-header .logo {min-width:0; gap:10px}
  .logo-word {font-size:12px; letter-spacing:.1em}
  .logo-word small {font-size:7px; letter-spacing:.1em}
  .logo-seal {width:40px; height:40px; flex-shrink:0}
  .site-header .header-cta {display:none}
  .site-nav {top:70px; padding:16px 24px 22px; gap:2px; max-height:calc(100dvh - 70px)}
  main>.hero-seamless {display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-height:0; padding:0; background:#5d2734}
  .hero-seamless .hero-picture {position:relative; inset:auto; width:100%; height:clamp(185px,53vw,300px); flex:none}
  .hero-seamless .hero-picture img {transform:none; object-position:38% 53%; height:100%; width:100%}
  .hero-seamless .hero-picture:after {background:linear-gradient(0deg,rgba(93,39,52,.18),transparent 55%)}
  main>.hero-seamless .hero-card {width:100%; max-width:none; padding:28px 24px 32px; margin:0; background:#5d2734; border:0; box-shadow:none; backdrop-filter:none}
  .hero-seamless .hero-card .eyebrow {font-size:10px; letter-spacing:.12em; margin:0 0 14px}
  main>.hero-seamless .hero-card h1 {font-size:clamp(30px,8.2vw,48px); line-height:1.12; letter-spacing:-.04em; margin:0 0 18px; text-shadow:none}
  .hero-seamless .hero-card h1 em {display:inline; margin:0}
  .hero-seamless .hero-card>p {font-size:15px; line-height:1.65; text-shadow:none; max-width:58ch}
  .hero-seamless .hero-card .hero-actions {display:flex; align-items:stretch; flex-direction:column; gap:14px; margin-top:22px}
  .hero-actions .button {width:100%; background:#3e5540; color:#fffaf0}
  .hero-actions .text-link {align-self:flex-start; min-height:44px; padding:8px 0}
  .hero-scroll {display:none}
  .button {white-space:normal; min-height:48px; max-width:100%; gap:16px; padding:14px 21px; font-size:14px; line-height:1.45}
  .button span,.text-link span {flex-shrink:0}
  .text-link {max-width:100%; gap:14px; line-height:1.5; min-height:44px; align-items:center}
  .section,main:has(>.hero-seamless)>.section {padding:42px 24px}
  .inner-hero {display:block; padding:34px 24px 38px; min-height:0}
  .inner-hero .eyebrow {margin-bottom:14px}
  .inner-hero h1 {font-size:clamp(32px,8.6vw,48px); line-height:1.15; margin-bottom:18px}
  .inner-hero>p:not(.eyebrow) {font-size:16px; line-height:1.65; margin:0}
  .section h2,main:has(>.hero-seamless)>.section h2,.confidence-intro h2,.mb-forest-note h2,.future-project h2,.offer-status h2,.next-steps h2,.final-cta h2 {font-size:clamp(29px,7.8vw,43px); line-height:1.17; letter-spacing:-.04em; margin-bottom:22px}
  .section h3,.confidence-facts h3 {font-size:22px; line-height:1.3}
  .section p,.confidence-intro>p,.confidence-facts p,.final-cta p {font-size:16px; line-height:1.7}
  main>.proof-bar {padding:24px; gap:18px; grid-template-columns:1fr}
  .proof-bar>div {gap:16px}
  .proof-bar span {font-size:14px}
  .proof-bar small {font-size:12px}
  main>.service-shortcuts {grid-template-columns:1fr}
  main>.service-shortcuts a {min-height:0; padding:22px 24px; border-left:0; transform:none; box-shadow:none}
  .service-shortcuts strong {font-size:24px; margin:8px 0 4px}
  .service-shortcuts b {padding-top:12px}
  .concrete-promise .concrete-grid {margin:24px 0 12px; gap:10px}
  .concrete-promise .concrete-grid article {padding:18px 0 12px}
  main>.reference-preview .reference-image img,.split-with-photo>img,.reference-detail .reference-full img {height:auto; width:100%; aspect-ratio:4/3}
  .founder-picture img {height:auto; max-height:520px; aspect-ratio:4/5}
  main>.confidence-panel,.mb-forest-note,.future-project,.offer-status {padding:42px 24px; gap:24px}
  main>.confidence-editorial .confidence-facts article {padding:10px 0 18px; margin:0}
  .confidence-facts article:last-child p {margin-bottom:0}
  .final-cta {padding:42px 24px; gap:20px}
  .final-cta .button {width:100%}
  .price-list>div {align-items:flex-start; gap:12px; padding:18px 0}
  .price-list>div>span {min-width:0; flex:1}
  .price-list b {font-size:15px; white-space:normal; flex:0 0 125px; text-align:right; line-height:1.5}
  .fee-note aside,.future-project aside,.services-detailed article {padding:24px 20px}
  .step-list article {grid-template-columns:36px minmax(0,1fr); gap:15px; padding:26px 0}
  .step-list article>span {font-size:32px}
  .step-list h2,.services-detailed article h2,.zone-card h2 {font-size:28px}
  .zone-card>div {padding:24px}
  .zone-card img {height:auto; aspect-ratio:4/3}
  .photo-banner {min-height:420px}
  .quote-section {padding:42px 24px}
  .quote-section blockquote {font-size:27px; line-height:1.5}
  .reference-detail .reference-description {margin:28px 0}
  .gallery {gap:10px}
  .gallery img {height:150px}
  .request-section {padding:36px 24px; gap:28px}
  .request-form {padding:22px 16px; gap:18px}
  .request-form input,.request-form select,.request-form textarea {min-width:0; font-size:16px; min-height:48px}
  .request-form .field-pair {grid-template-columns:minmax(0,1fr); gap:18px}
  .request-form label {display:block}
  .request-form label input,.request-form label select,.request-form label textarea {display:block; margin-top:8px}
  .request-form .button {width:100%; justify-self:stretch}
  .request-quick a,.contact-line strong,.legal a {overflow-wrap:anywhere}
  .site-footer {padding:38px 24px 24px}
  .footer-top {gap:28px 20px}
  .footer-top a {font-size:14px; padding:4px 0; line-height:1.5}
  .footer-top p {font-size:14px}
  .footer-brand {font-size:19px!important; letter-spacing:.1em}
  .footer-brand span {font-size:11px}
  .footer-bottom {flex-direction:column; margin-top:30px; gap:8px; font-size:12px}
  .mobile-floating-cta {left:20px; right:20px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); min-width:0; transform:none; padding:13px 20px; font-size:14px; min-height:48px}
  body:has(.hero-seamless):not(.mb-show-floating) .mobile-floating-cta,body:has(.request-form) .mobile-floating-cta {display:none}
}
@media (max-width: 360px) {
  .site-header {padding-inline:16px}
  .logo-word {font-size:11px}
  .logo-word small {font-size:6px}
  .section,main:has(>.hero-seamless)>.section,.hero-seamless .hero-card,.inner-hero,main>.confidence-panel,.final-cta,.mb-forest-note,.request-section {padding-left:20px; padding-right:20px}
  .footer-top {grid-template-columns:minmax(0,1fr)}
  .footer-top>div {grid-column:1}
}
@media (hover:none) {
  .zone-card:hover,.services-detailed article:hover,.concrete-grid article:hover,.experience-grid article:hover {transform:none; box-shadow:none}
}
