.project-intro { color:var(--muted);font-size:16px;line-height:1.7;max-width:640px;margin:24px 0 0; }
.services:has(.service-with-photo) { gap:30px 24px;border-top:0; }
.service.service-with-photo,.service.service-with-photo:not(:nth-child(3n+1)) { padding:0;min-height:0;border-left:0;display:block;overflow:hidden; }
.service-photo { width:100%;height:250px;object-fit:cover;background:var(--panel); }
.service-photo[src$="home-countertop.webp"] { object-position:center 64%; }
.service-photo[src$="home-wall.webp"] { object-position:center 74%; }
.service-copy { position:relative;padding:25px 20px 30px 0; }
.service-with-photo .glyph { top:25px;right:12px;width:18px;height:18px; }
.service-with-photo h3 { margin:26px 0 16px; }
.service-with-photo p { min-height:66px; }
@media(max-width:1100px) { .service-photo { height:220px; } }
@media(max-width:760px) {
  .services:has(.service-with-photo) { gap:24px 18px; }
  .service-photo { height:200px; }
  .service-copy { padding:20px 8px 24px 0; }
  .service-with-photo .glyph { display:none; }
  .service-with-photo h3 { margin-top:20px; }
  .business .services:has(.service-with-photo) { grid-template-columns:1fr; }
  .business .service-photo { height:auto;aspect-ratio:16/10; }
  .business .service-with-photo h3 { font-size:27px; }
  .business .service-with-photo p { min-height:0;max-width:none; }
}
@media(max-width:540px) {
  .home .services:has(.service-with-photo) { grid-template-columns:1fr;gap:30px; }
  .service-photo { height:auto;aspect-ratio:4/3; }
  .service-with-photo h3 { font-size:29px; }
  .service-with-photo p { font-size:14px;min-height:0;max-width:none; }
}
.project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 22px; }
.project-card { margin:0;min-width:0; }
.project-card img { width:100%;height:380px;object-fit:cover;background:var(--panel); }
.project-card figcaption { padding-top:22px; }
.project-card .micro { color:var(--accent);font-size:9px; }
.project-card h3 { font:400 28px/1.15 Georgia,serif;letter-spacing:-.035em;margin:12px 0 0; }
.business .project-card h3 { font:600 23px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.04em; }
.business .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.business .project-card img { height:400px; }
.feature-left.feature-photo { position:relative;display:block;padding:0;min-height:620px;overflow:hidden; }
.feature-photo>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%; }
.photo-caption { position:absolute;bottom:28px;left:28px;right:28px;background:#171b1acf;color:#fff;padding:15px 18px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
.workshop-band { border-block:1px solid var(--line);padding:80px 0;background:var(--panel); }
.workshop-grid { display:grid;grid-template-columns:1fr 1.4fr .6fr;gap:36px;align-items:center; }
.workshop-grid>div>img { width:100%;height:440px;object-fit:cover; }
.workshop-grid h2 { font:400 clamp(34px,3.4vw,52px)/1.08 Georgia,serif;letter-spacing:-.05em;margin:22px 0; }
.workshop-grid p { color:var(--muted);line-height:1.7;font-size:14px; }
.workshop-grid .team-photo { height:auto;aspect-ratio:3/2;margin-top:28px; }
.workshop-grid .micro { color:var(--accent); }
.video-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:1060px;margin:auto; }
.video-card { margin:0;min-width:0; }
.video-card video { display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#202523; }
.video-card figcaption { padding:22px 0 0; }
.video-card h3 { font:400 27px/1.2 Georgia,serif;letter-spacing:-.03em;margin-bottom:12px; }
.video-card p { font-size:13px;line-height:1.6;color:var(--muted);margin:0; }
@media(max-width:1100px) { .project-card img { height:300px; } .workshop-grid { grid-template-columns:1fr 1.4fr; } .workshop-grid>div:last-child { display:none; } }
@media(max-width:760px) {
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px; }
  .project-card img,.business .project-card img { height:270px; }
  .project-card h3,.business .project-card h3 { font-size:23px; }
  .feature-left.feature-photo { min-height:440px; }
  .workshop-band { padding:60px 0; }
  .workshop-grid { grid-template-columns:1fr;gap:30px; }
  .workshop-grid>div:first-child>img { height:360px;object-position:center 35%; }
  .video-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
  .video-card h3 { font-size:21px; }
}
@media(max-width:540px) {
  .project-grid,.business .project-grid { grid-template-columns:1fr;gap:36px; }
  .project-card img,.business .project-card img { height:auto;aspect-ratio:4/3; }
  .project-card:first-child img { aspect-ratio:4/5; }
  .project-card h3,.business .project-card h3 { font-size:27px; }
  .project-card figcaption { padding-top:18px; }
  .video-grid { grid-template-columns:1fr;gap:42px;max-width:340px; }
  .video-card h3 { font-size:27px; }
  .hero-visual img { object-position:43% center; }
  .business .hero-visual img { object-position:55% center; }
}

.industry.industry-with-photo { display:block;padding:0;overflow:hidden; }
.stage-photo { width:100%;height:210px;object-fit:cover;background:var(--panel); }
.industry-copy { min-height:180px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:28px; }
@media(max-width:760px) { .stage-photo { height:auto;aspect-ratio:16/10; } .industry-copy { min-height:150px;padding:24px; } }

.contact-address { margin-top:38px;font-style:normal;display:grid;gap:15px;max-width:510px; }
.contact-address>a:first-of-type { font-size:22px;line-height:1.45; }
.contact-address .address-note { font-size:13px;opacity:.75; }
.route-link { width:fit-content;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:13px;font-weight:700;line-height:1.5; }
.contact-phone { display:block;font-size:clamp(24px,3vw,38px);font-weight:700;letter-spacing:-.04em;margin:0 0 25px;white-space:nowrap; }
.contact-actions { display:flex;flex-wrap:wrap;gap:12px; }
.contact-actions .btn { padding:17px 20px;gap:20px; }
.contact-socials { display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:25px;font-size:13px;font-weight:700; }
.max-contact { display:inline-block;font:inherit;color:inherit;text-align:left;background:none;border:0;border-bottom:1px solid currentColor;padding:6px 0;cursor:pointer;line-height:1.6; }
.contact p.max-number { margin:16px 0 0;font-size:12px;opacity:.75; }
footer .foot-grid.contact-footer { grid-template-columns:1.2fr 1.15fr 1fr .85fr;gap:30px; }
.contact-footer>div>a:not(.brand) { margin-bottom:10px; }
.contact-footer .max-contact { font-size:12px;line-height:1.6;font-weight:700; }
@media(max-width:1100px) { footer .foot-grid.contact-footer { grid-template-columns:1fr 1fr;gap:35px; } }
@media(max-width:760px) { .contact-address>a:first-of-type { font-size:21px; } .contact-footer>div:first-child { grid-column:auto; } .contact-actions .btn { flex:1 1 180px; } }
@media(max-width:540px) { footer .foot-grid.contact-footer { grid-template-columns:1fr; } .contact-socials { gap:16px; } .contact-phone { font-size:29px; } }
