/* Phone layout: compact reading rhythm, touch controls and deliberate photo crops. */
@media (max-width: 700px) {
  :root { --shell:calc(100% - 40px); }
  body { font-size:15px; }
  .section { padding-block:56px; }
  .site-header { height:66px; }
  .site-header .brand { --brand-width:176px; gap:10px; }
  .brand-description { padding-left:10px; }
  .site-header nav { max-height:calc(100svh - 86px); overflow:auto; }
  .eyebrow { font-size:9px; letter-spacing:.15em; gap:9px; margin-bottom:16px; }
  .eyebrow:before { width:20px; flex-shrink:0; }
  h2,.benefits-intro h2 { font-size:36px; line-height:1.08; letter-spacing:-.04em; }
  .intro,.split,.section-heading.split,.faq-section,.seo-faq { gap:22px; }
  .section-heading { margin-bottom:28px; }
  .intro>p,.split>p { font-size:14px; line-height:1.75; margin:0; }
  .button { min-height:48px; padding:13px 16px; font-size:11px; }
  .hero { gap:26px; padding-block:30px 38px; min-height:0; }
  .hero h1 { font-size:52px; line-height:.96; margin-bottom:20px; }
  .hero-copy>p { font-size:14px; line-height:1.75; margin-bottom:0; }
  .hero-actions { display:grid; grid-template-columns:1.25fr 1fr; gap:8px; margin:22px 0; }
  .hero-actions .button { font-size:11px; padding-inline:9px; letter-spacing:.02em; }
  .hero-proof { flex-direction:row; padding-top:16px; }
  .hero-proof div { width:33.333%; padding:0 8px 0 0; }
  .hero-proof div+div { padding-left:12px; }
  .hero-proof strong { font-size:18px; }
  .hero-proof span { font-size:8px; letter-spacing:.04em; }
  .hero-visual { height:340px; box-shadow:6px 6px 0 #102d360b; }
  .hero-visual:before { padding:10px 12px; font-size:8px; }
  .visual-note { left:0; padding:15px; }
  .visual-note strong { font-size:17px; }
  .trust-strip { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; padding-block:20px; font-size:8px; letter-spacing:.06em; }
  .trust-strip span:before { margin-right:8px; }
  .services { grid-template-columns:1fr; gap:12px; padding-bottom:52px; }
  .services article { display:grid; grid-template-columns:100px minmax(0,1fr); }
  .services article>img { height:100%; min-height:210px; object-fit:cover; }
  .services article>div { padding:19px 16px; }
  .services article:before { top:10px; left:10px; padding:4px 7px; font-size:8px; }
  .services h3 { font-size:19px; line-height:1.2; margin-bottom:10px; }
  .services p { min-height:0; font-size:13px; line-height:1.65; margin-bottom:12px; }
  .services a { min-height:44px; font-size:10px; letter-spacing:.04em; }
  .home-projects { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  .home-project>img { height:auto; aspect-ratio:3/4; object-fit:cover; }
  .home-project>div { padding-top:14px; }
  .home-project span { font-size:8px; letter-spacing:.04em; }
  .home-project h3 { font-size:21px; line-height:1.12; margin:9px 0 14px; }
  .home-project .project-open { font-size:8px; min-height:32px; }
  .comparison-layout { gap:26px; }
  .comparison-intro>p { margin-top:18px; font-size:14px; }
  .comparison-picker { flex-direction:row; border:0; gap:6px; margin:20px 0 14px; }
  .comparison-picker button { flex:1; justify-content:center; gap:0; padding:12px 5px; border:1px solid var(--line); font-size:11px; min-height:44px; }
  .comparison-picker button span { display:none; }
  .comparison-source-note { margin-bottom:0; font-size:11px!important; }
  .comparison-note { font-size:11px; }
  .work-sequence { gap:16px; }
  .work-sequence figure { display:grid; grid-template-columns:104px 1fr; gap:20px; align-items:center; }
  .work-sequence img { height:130px; }
  .work-sequence figcaption { padding:0; font-size:14px; line-height:1.5; }
  .work-sequence figcaption span { font-size:9px; margin-bottom:7px; }
  .process-list { grid-template-columns:1fr; border-top:0; }
  .process-list article,.process-list li { display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:16px; padding:20px 0; border-top:1px solid var(--line); }
  .process-list article:before,.process-list li:before { display:none; }
  .process-list article>span,.process-list li>span { grid-row:1 / 3; font-size:10px; padding-top:3px; }
  .process-list h3,.process-list li h3 { margin:0 0 8px; font-size:19px; }
  .process-list p,.process-list li p { grid-column:2; margin:0; font-size:13px; line-height:1.65; }
  .verified-reviews .verified-reviews-grid { display:grid; grid-auto-flow:column; grid-auto-columns:88%; grid-template-columns:none; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 16px; scrollbar-width:thin; scrollbar-color:var(--copper) transparent; }
  .verified-reviews .verified-review { scroll-snap-align:start; padding:22px; }
  .verified-reviews .verified-review blockquote { font-size:25px; margin:24px 0; }
  .verified-reviews .verified-review:hover { transform:none; }
  .review-heading-side { gap:16px; }
  .review-score { gap:10px; }
  .review-score-line>strong { font-size:52px; }
  .mobile-swipe-hint { display:block; margin:0 0 14px; color:var(--muted); font-size:12px; }
  .faq-list button { padding-block:19px; font-size:15px; gap:14px; }
  .faq-list p { font-size:14px; line-height:1.75; }
  .contact-section { padding-block:56px; }
  .contact-grid { gap:32px; }
  .contact-section h2,.seo-cta h2 { font-size:36px; }
  .contact-section p,.seo-cta p { font-size:14px; line-height:1.75; }
  .contact-details { margin:24px 0; }
  .contact-details a { padding-block:13px; }
  .contact-details strong { font-size:16px; overflow-wrap:anywhere; }
  .quick-contact { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .quick-contact a { min-height:68px; padding:12px; gap:9px; font-size:12px; }
  .quick-contact a:last-child { grid-column:1 / -1; }
  .quick-contact .brand-icon { width:23px; height:23px; }
  .contact-section form,.contact-page form { padding:22px; }
  input,select,textarea { font-size:16px; }
  .site-footer { gap:20px; padding-block:28px; }
  .site-footer p { font-size:12px; }
  .footer-social { gap:16px; font-size:12px; }
  .breadcrumbs { padding-block:18px; font-size:10px; flex-wrap:wrap; }
  .seo-hero { gap:26px; padding-block:20px 46px; }
  .seo-hero h1,.contact-page h1 { font-size:42px; line-height:1.02; margin-bottom:20px; }
  .seo-hero>div>p,.contact-page>div>p { font-size:14px; line-height:1.75; }
  .seo-hero .hero-actions { margin-bottom:0; }
  .seo-hero>img { aspect-ratio:4/3; box-shadow:6px 6px 0 #102d360b; }
  .seo-intro { gap:22px; }
  .seo-intro p { font-size:14px; line-height:1.8; }
  .service-benefits { padding-block:52px; }
  .benefits-layout { gap:26px; }
  .benefits-intro p { font-size:14px; margin:20px 0; }
  .benefits-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .benefits-cards article { display:block; min-height:152px; padding:18px 14px; }
  .benefits-cards svg { width:28px; height:28px; margin:0 0 16px; }
  .benefits-cards h3 { font-size:16px; line-height:1.4; }
  .seo-cta { padding-block:48px; }
  .seo-cta>.shell { gap:22px; }
  .journal-intro { padding-block:26px 36px; gap:22px; }
  .journal-intro h1,.case-hero h1 { font-size:42px; line-height:1.04; }
  .journal-intro p,.case-hero-copy>p { font-size:14px; line-height:1.75; }
  .portfolio-list { padding-bottom:52px; }
  .portfolio-list .journal-grid { gap:34px; }
  .portfolio-list .journal-card img { width:100%; height:360px; object-fit:cover; }
  .case-hero { padding-top:10px; gap:20px; }
  .case-hero-copy { padding:12px 0; }
  .case-hero h1 { margin:18px 0; }
  .case-hero>img { max-height:450px; }
  .case-facts>.shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .case-facts span { padding:16px 12px; }
  .case-facts strong { font-size:14px; }
  .case-opening,.case-scope,.case-detail { padding-block:40px; gap:20px; }
  .case-opening p,.case-detail p,.case-scope li { font-size:14px; line-height:1.75; }
  .project-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .project-gallery img { height:auto; aspect-ratio:3/4; object-fit:contain; }
  .project-gallery figcaption { font-size:11px; line-height:1.6; padding-top:10px; }
  .project-gallery a>span { width:32px; height:32px; right:6px; bottom:6px; }
  .case-next { gap:20px; padding-block:32px; }
  .opinions-list { padding-bottom:52px; }
  .opinions-list .verified-reviews-grid { gap:14px; }
  .opinions-list .verified-review { padding:22px; }
  .opinions-list .verified-review>p { font-size:15px; line-height:1.75; margin:20px 0; }
  .service-scope { padding-block:52px; }
  .service-scope .section-heading { gap:20px; }
  .scope-editorial { gap:16px; }
  .scope-photo { top:76px; height:min(28svh,230px); }
  .scope-row { min-height:64px; padding:15px 10px; scroll-margin-top:calc(92px + min(28svh,230px)); }
  .row-copy strong { font-size:18px; }
  .row-copy>span { display:none; }
  .scope-row.active .row-copy>span { display:block; font-size:12px; }
  .scope-photo figcaption { bottom:12px; left:14px; right:14px; }
  .photo-kicker { left:14px; top:12px; padding:7px 9px; font-size:8px; }
}
@media (min-width:701px) { .mobile-swipe-hint { display:none; } }
@media (max-width:359px) {
  :root { --shell:calc(100% - 32px); }
  .hero h1 { font-size:46px; }
  h2,.benefits-intro h2 { font-size:32px; }
  .seo-hero h1,.contact-page h1,.journal-intro h1,.case-hero h1 { font-size:37px; }
  .brand-description strong { font-size:10px; }
  .services article { grid-template-columns:82px minmax(0,1fr); }
  .services article>div { padding:16px 12px; }
  .home-project h3 { font-size:19px; }
}

@media(max-width:360px){
 .site-header .brand{--brand-width:150px;gap:8px}
 .brand-description{padding-left:8px}
 .brand-description>span{font-size:9px;letter-spacing:0}
}
