/* Shared presentation finishing pass. Native details navigation works without JS. */
.mobile-menu { display:none; }
.global-nav,.estimator-nav { position:relative; z-index:5; }
.global-nav > nav { margin-left:auto; }
.hero-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 22px; margin-top:12px; }
.copy-hero .hero-actions .button { color:#302922; font-size:14px; text-decoration:none; }
.copy-hero .hero-actions > a:not(.button) { display:inline-flex; align-items:center; min-height:44px; }
.homepage-estimator .copy-hero .hero-contact { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0; margin:0; border:0; border-radius:0; background:none; font-size:14px; text-decoration:none; }
.estimator-shortcut { text-align:center; font-size:14px; margin-bottom:22px; }
.estimator-shortcut a { text-decoration:underline; text-underline-offset:4px; }
#request-a-quote,#contact-options { scroll-margin-top:24px; }
.home-compositions .decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-compositions .decision-card { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid var(--home-line); border-radius:9px; background:var(--home-white); }
.home-compositions .decision-card h3 { margin-top:8px; font-size:23px; line-height:1.2; }
.home-compositions .decision-card p:not(.home-kicker) { margin-top:14px; font-size:14px; }
.home-compositions .decision-card .section-link { margin-top:auto; padding-top:20px; flex-shrink:1; }
.operation-specimens { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-block:20px 0; }
.operation-specimens img { width:100%; aspect-ratio:1; object-fit:contain; mix-blend-mode:multiply; }
.operation-specimens figcaption { margin-top:6px; font-size:11px; text-align:center; }
.home-compositions .team-panel { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:44px; align-items:center; }
.home-compositions .team-panel h2 { margin-top:8px; }
.home-compositions .team-panel p:not(.home-kicker) { margin-top:15px; }
.home-compositions .team-panel .section-link { margin-top:18px; }
.home-compositions .team-portraits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.team-portraits img { width:100%; max-width:140px; margin:auto; aspect-ratio:1; object-fit:contain; border-radius:50%; }
.team-portraits figcaption { margin-top:12px; text-align:center; }
.team-portraits strong { display:block; font-size:14px; }
.team-portraits span { display:block; margin-top:4px; font-size:12px; color:var(--home-muted); }
.home-compositions .quote-status[data-state="error"] { color:#a12724; }
.field [aria-invalid="true"],.quote-field [aria-invalid="true"] { border-color:#a12724; }
.contact-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-top:22px; }
.contact-options .button { margin-top:0; }
@media(max-width:1000px) {
  .home-compositions .decision-grid { gap:14px; }
  .home-compositions .decision-card { padding:22px; }
  .home-compositions .team-panel { gap:28px; }
}
@media(max-width:760px) {
  .global-nav,.estimator-nav { gap:10px; padding:18px; }
  .global-nav > nav { gap:0; margin-left:auto; }
  .global-nav > nav > a:not(.button),.estimator-nav > nav { display:none; }
  .global-nav > nav .button,.estimator-nav > .quote-link { min-height:44px; padding:11px 14px; font-size:12px; }
  .estimator-nav > .quote-link { margin-left:auto; }
  .global-nav .brand,.estimator-nav .estimator-brand { font-size:24px; }
  .mobile-menu { display:block; flex:none; color:inherit; }
  .mobile-menu > summary { display:flex; align-items:center; justify-content:center; gap:7px; min-width:52px; min-height:44px; padding:8px; border:1px solid currentColor; border-radius:6px; cursor:pointer; list-style:none; font-size:12px; }
  .mobile-menu > summary::-webkit-details-marker { display:none; }
  .mobile-menu > nav { position:absolute; top:calc(100% - 3px); left:18px; right:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; max-height:70svh; overflow-y:auto; padding:12px 18px; margin:0; background:#fff; color:#302922; border:1px solid #ded7cf; border-radius:10px; box-shadow:0 12px 28px #0002; }
  .mobile-menu > nav > a,.global-nav .mobile-menu > nav > a { display:flex; align-items:center; min-height:48px; padding:12px 10px; font-size:14px; line-height:1.4; text-decoration:none; border-bottom:1px solid #eee7dd; }
  .mobile-menu > nav > a:focus-visible { outline-offset:-2px; }
  .home-compositions .decision-grid,.home-compositions .team-panel { grid-template-columns:minmax(0,1fr); }
  .operation-specimens img { max-height:105px; }
  .team-portraits img { max-width:110px; }
}
@media(max-width:370px) {
  .global-nav,.estimator-nav { padding-inline:12px; gap:7px; }
  .global-nav .brand,.estimator-nav .estimator-brand { font-size:21px; }
  .global-nav > nav .button,.estimator-nav > .quote-link { padding-inline:11px; }
  .mobile-menu > summary { padding:8px 6px; min-width:48px; }
  .mobile-menu > nav { left:12px; right:12px; }
  .home-compositions .team-portraits { gap:10px; }
}

/* Supplied company mark alongside the existing site wordmark. */
.brand,.estimator-brand { display:inline-flex; flex-direction:row; align-items:center; gap:12px; }
.company-logo { display:block; width:64px; height:48px; object-fit:contain; flex:none; }
.brand-wordmark { display:block; font-weight:inherit; }
.brand-wordmark small { display:block; margin-top:7px; }
@media(max-width:760px) {
  .global-nav .brand,.estimator-nav .estimator-brand { gap:7px; font-size:19px; letter-spacing:.16em; }
  .global-nav .company-logo,.estimator-nav .company-logo { width:40px; height:30px; }
  .global-nav .brand small,.estimator-nav .estimator-brand span { font-size:6px; letter-spacing:.12em; }
}
@media(max-width:370px) {
  .global-nav .brand,.estimator-nav .estimator-brand { gap:5px; font-size:16px; }
  .global-nav .company-logo,.estimator-nav .company-logo { width:32px; height:24px; }
}
