/* Company / stoneworking presentation, included on every WordPress domain.
   Keep the existing logo, palette, content, photographs and motion assets. */
.lpg-site h1,
.lpg-site h2,
.lpg-site h3 {
  font-family: var(--sans);
  font-weight: 750;
  font-style: normal;
  letter-spacing: -.045em;
  line-height: 1.06;
}
.lpg-site em {
  font-family: var(--sans);
  font-style: normal;
  font-weight: inherit;
}
.lpg-site h1 { font-size: clamp(44px, 5.1vw, 82px); }
.lpg-site h2 { font-size: clamp(36px, 3.9vw, 62px); }
.lpg-site h3 { font-size: clamp(28px, 2.7vw, 42px); }
.lpg-label { font-weight: 650; letter-spacing: .1em; }
.lpg-header {
  background: var(--paper);
  border-bottom: 3px solid var(--ink);
}
.lpg-header-inner { height: 104px; gap: 28px; }
.lpg-desktop-nav { gap: 32px; font: 650 16px/1.5 var(--sans); }
.lpg-desktop-nav a { padding-block: 15px; }
.lpg-desktop-nav a::after { height: 2px; bottom: 5px; }
.lpg-desktop-nav a:last-child {
  padding: 13px 23px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  transition: background .3s, border-color .3s;
}
.lpg-desktop-nav a:last-child:hover {
  background: var(--accent);
  border-color: var(--accent);
}
.lpg-desktop-nav a:last-child[aria-current] {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
.lpg-site .lpg-button,
.lpg-text-link { font-weight: 600; }
.lpg-home-hero { padding-top: 52px; }
.lpg-home-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.lpg-hero-copy h1 { font-size: clamp(44px, 4.9vw, 78px); }
.lpg-hero-copy { padding-block: 24px 32px; }
.lpg-hero-description { margin-top: 26px; }
.lpg-hero-description strong,
.lpg-prose strong,
.lpg-contact-copy strong { font-weight: 650; }
.lpg-editorial-copy h3 { font-size: clamp(36px, 3.5vw, 54px); }
.lpg-service h3 { font-size: 28px; letter-spacing: -.035em; }
.lpg-statement h2 { font-size: clamp(36px, 4.9vw, 76px); }
.lpg-cta h2 { font-size: clamp(44px, 6.1vw, 92px); }
.lpg-footer-top p { font: 600 23px/1.4 var(--sans); letter-spacing: -.025em; }
.lpg-inner-hero { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.lpg-inner-hero h1 { font-size: clamp(44px, 5vw, 78px); }
.lpg-stat { font-family: var(--sans); font-weight: 750; font-size: 112px; }
.lpg-prose .lpg-small-title { font-size: 32px; line-height: 1.2; }
.lpg-material-card h3 { font-size: 36px; }
.lpg-service-detail h3 { font-size: 26px; letter-spacing: -.035em; }
.lpg-contact-hero h1 { font-size: clamp(44px, 6.4vw, 96px); }
.lpg-legal h2 { font-size: 28px; line-height: 1.2; }
.lpg-legal h3 { font-size: 23px; line-height: 1.25; }
@media (max-width: 1100px) {
  .lpg-desktop-nav { gap: 24px; }
  .lpg-hero-copy h1 { font-size: clamp(42px, 4.9vw, 56px); }
  .lpg-inner-hero h1 { font-size: clamp(44px, 5vw, 58px); }
  .lpg-service-detail h3 { font-size: 24px; }
}
@media (max-width: 960px) {
  .lpg-menu summary { font-weight: 650; }
  .lpg-menu nav { border-bottom: 3px solid var(--ink); }
  .lpg-menu nav a { font: 650 26px/1.35 var(--sans); letter-spacing: -.03em; }
  .lpg-menu nav a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; }
  .lpg-menu nav a:last-child { font: 500 14px/1.6 var(--sans); letter-spacing: 0; }
}
@media (max-width: 760px) {
  .lpg-header-inner { height: 88px; gap: 15px; }
  .lpg-home-hero { padding-top: 30px; }
  .lpg-home-hero-grid,
  .lpg-inner-hero { grid-template-columns: minmax(0, 1fr); }
  .lpg-hero-copy { padding-block: 10px 20px; }
  .lpg-hero-copy h1,
  .lpg-inner-hero h1 { font-size: clamp(36px, 10vw, 58px); line-height: 1.07; }
  .lpg-site h2 { font-size: clamp(34px, 8.8vw, 48px); }
  .lpg-editorial-copy h3 { font-size: 36px; }
  .lpg-service h3 { font-size: 24px; }
  .lpg-statement h2 { font-size: clamp(32px, 8.7vw, 48px); }
  .lpg-cta h2 { font-size: clamp(40px, 11.8vw, 64px); }
  .lpg-footer-top p { font-size: 22px; }
  .lpg-stat { font-size: 88px; }
  .lpg-material-card h3 { font-size: 30px; }
  .lpg-contact-hero h1 { font-size: clamp(36px, 10.8vw, 64px); }
  .lpg-legal-hero h1 { font-size: clamp(36px, 11vw, 60px); }
  .lpg-legal h2 { font-size: 26px; }
  .lpg-legal h3 { font-size: 23px; }
}
