.od-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:var(--od-button-height,48px);padding:12px 22px;border:1px solid transparent;border-radius:var(--od-button-radius,6px);font-size:14px;font-weight:750;line-height:1.3;white-space:normal;text-align:center;transition:background .2s,border-color .2s,transform .2s;}
.od-btn:hover{transform:translateY(-1px);}
.od-btn span{font-size:1.25em;line-height:1;}
.od-btn--primary{background:var(--od-color-accent,#c34d2f);color:#fff;}
.od-btn--primary:hover{background:color-mix(in srgb,var(--od-color-accent),#000 16%);color:#fff;}
.od-btn--outline{background:transparent;border-color:#ffffff91;color:#fff;}
.od-btn--outline:hover{border-color:#fff;color:#fff;}
.od-btn--text{padding-inline:0;color:var(--od-color-accent);background:transparent;}
.od-btn--large{min-height:calc(var(--od-button-height,48px) + 10px);padding-inline:27px;}
.od-feature-card{padding:32px;border:1px solid var(--od-color-border);background:var(--od-color-surface);border-radius:var(--od-card-radius);min-height:225px;}
.od-feature-card h3{margin-top:20px;font-size:var(--od-h3);}
.od-feature-card p{color:#526068;margin-bottom:0;}
.od-feature-no{display:inline-flex;min-width:36px;min-height:36px;align-items:center;justify-content:center;background:var(--od-color-primary);color:#fff;font-size:12px;font-weight:700;}
/* Global footer component, no industry-specific assumptions. */
.od-site-footer{background:#161b1f;color:#fff;padding-top:clamp(50px,5.5vw,88px);}
.od-footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.7fr) minmax(210px,.7fr);gap:clamp(24px,5vw,78px);padding-bottom:clamp(42px,5vw,72px);}
.od-footer-brand>a{font-size:clamp(22px,2vw,30px);font-weight:850;letter-spacing:-.04em;line-height:1.2;}
.od-footer-brand p{max-width:360px;color:#a9b3b8;margin:11px 0 0;font-size:14px;line-height:1.65;}
.od-footer-brand .od-footer-intro{margin-top:21px;color:#d0d6d8;}
.od-footer-title{font:800 12px/1.25 var(--od-body-font,system-ui,sans-serif);text-transform:uppercase;letter-spacing:.15em;color:#fff;margin:2px 0 21px;}
.od-footer-menu{display:flex;flex-direction:column;align-items:flex-start;gap:12px;list-style:none;margin:0;padding:0;}
.od-footer-menu li{margin:0;padding:0;}
.od-footer-menu a{color:#bdc6c9;font-size:14px;line-height:1.4;transition:color .18s;}
.od-footer-menu a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--od-color-accent);text-underline-offset:5px;}
.od-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:17px;}
.od-footer-contact .od-footer-title{margin-bottom:3px;}
.od-footer-phone{font-size:clamp(18px,1.7vw,24px);line-height:1.2;font-weight:800;white-space:nowrap;}
.od-footer-phone:hover{color:var(--od-color-accent);}
.od-footer-contact .od-btn{font-size:13px;}
.od-footer-bottom{border-top:1px solid #ffffff22;padding-block:23px;display:flex;gap:12px;justify-content:space-between;font-size:12px;color:#a6b0b4;}
@media(max-width:900px){.od-footer-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}.od-footer-contact{grid-column:1/-1;}}
@media(max-width:600px){.od-footer-grid{grid-template-columns:1fr;gap:36px;}.od-footer-contact{grid-column:auto;}.od-footer-bottom{flex-direction:column;gap:6px;}.od-footer-brand p{max-width:420px;}}
