/* One sizing and alignment system for action buttons on every page. */
body :is(.button,.contact-submit){display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:fit-content!important;min-width:164px;max-width:100%;min-height:48px;height:auto;padding:12px 20px!important;font-size:14px!important;line-height:22px!important;font-weight:500;letter-spacing:.02em!important;border-width:1px;border-style:solid;border-radius:0;text-align:center;white-space:normal;vertical-align:middle;align-self:start;justify-self:start;flex:0 1 auto;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
body .button:hover,body .button:focus-visible{transform:none}
/* Earlier text-link underlines occupied the arrow box and offset its contents. */
body .button::after{content:none!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important;background:none!important;transform:none!important;flex:0 0 auto;line-height:1;transition:none}
body a.button::after{content:'→'!important;font-size:18px}
body .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body .hero-actions>.button{min-width:190px;align-self:center;margin:0}
body .section-heading-split>.button{align-self:end;flex-shrink:0}
body .header-actions>.button{min-height:44px;min-width:164px;padding:10px 16px!important;font-size:13px!important;line-height:22px!important;align-self:center}
body .cta-copy>.button,body .cta-copy>.hero-actions{margin-top:18px}
body.home-page .featured-copy .button{min-width:164px;min-height:48px;padding:12px 20px!important;font-size:14px!important;border:1px solid currentColor;margin-top:14px}
body .services-overview-card{display:flex;flex-direction:column;min-width:0}
body .services-overview-copy,body .same-style-card-grid [class*="-copy"]{flex:1}
body .services-overview-copy>.button,body .same-style-card-grid [class*="-copy"]>.button{margin-top:auto;padding-top:12px!important;padding-bottom:12px!important;align-self:start}
body .services-overview-copy>.button{margin-top:auto}
body .services-overview-grid,body .same-style-card-grid{align-items:stretch}
body .contact-submit{min-width:220px;margin-top:12px}
body :is(.project-controls,.same-project-controls) button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;padding:0;line-height:1;border-radius:50%;font-size:22px;cursor:pointer}
body .same-style-projects .section-heading,body.services-page .services-featured-work .section-heading-split{padding-right:116px}
body.home-page .service-content{padding-right:48px}
body.home-page .service-content>a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;right:0;top:12px;border:1px solid #788170;border-radius:50%;font-size:0!important;line-height:1;text-decoration:none}
body.home-page .service-content>a::after{content:'→';display:block;position:static;inset:auto;width:auto;height:auto;background:none;transform:none;line-height:1;font-size:22px}
body .button:focus-visible,body :is(.project-controls,.same-project-controls) button:focus-visible{outline:2px solid #a5ae83;outline-offset:4px}
/* Selected work uses the same visible action on every card, not mixed overlays. */
body.home-page .featured-layout{align-items:stretch}
body.home-page .featured-layout article{border:0;background:transparent;gap:0}
body.home-page .featured-layout .project-copy{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;flex:1;padding:18px 5px;gap:8px;border:0;background:transparent}
body.home-page .featured-layout .project-copy h3{margin:0}
body.home-page .featured-layout .project-copy p{margin:0;text-transform:none;letter-spacing:0!important}
body.home-page .featured-layout .project-copy .project-action{width:224px!important;min-width:0;min-height:48px;margin-top:auto;padding:12px 16px!important;font-size:14px!important;border:1px solid #343a30;background:transparent;color:#171d13}
body.home-page .featured-layout .project-copy .project-action:hover{background:#171d13;color:#fff}
body.home-page .featured-layout .project-copy>p{min-height:45px;margin-bottom:10px}
@media(max-width:1200px) and (min-width:1101px){body .primary-nav{gap:14px!important}body .primary-nav a{font-size:14px!important}}
@media(max-width:640px){
 body .hero-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:380px;gap:12px}
 body .hero-actions>.button{width:100%!important;min-width:0;min-height:48px}
 body .header-actions>.button{min-width:0}
 body .section-heading-split>.button{align-self:start;margin-top:18px}
 body .contact-submit{width:100%!important;min-width:0}
 body .services-overview-copy>.button,body .same-style-card-grid [class*="-copy"]>.button{margin-top:12px}
 body .mobile-menu>.button{width:100%!important;min-width:0;justify-content:center}
 body .project-controls,body .same-project-controls{gap:8px}
 body .services-featured-work .section-heading-split,body .same-style-projects .section-heading{padding-bottom:60px}
 body .same-style-projects .section-heading,body.services-page .services-featured-work .section-heading-split{padding-right:0}
}
