/* Oakland Builder styles — clean, theme-agnostic contractor look */
:root{--ob-max:1120px;--ob-radius:14px;--ob-shadow:0 12px 30px rgba(0,0,0,.08);--ob-border:1px solid rgba(0,0,0,.08);}
.ob-container{max-width:var(--ob-max);margin:0 auto;padding:0 18px;}
.ob-section{padding:56px 0;}
.ob-section--alt{background:rgba(0,0,0,.03);}
.ob-section__head{margin-bottom:18px;}
.ob-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;opacity:.8;margin:0 0 10px;}
.ob-h1{font-size:clamp(34px,4vw,54px);line-height:1.05;margin:0 0 12px;}
.ob-h2{font-size:clamp(26px,3vw,34px);margin:0 0 10px;}
.ob-h3{font-size:18px;margin:0 0 8px;}
.ob-lead{font-size:18px;line-height:1.6;margin:0 0 16px;opacity:.92;}
.ob-muted{margin:0;opacity:.78;line-height:1.7;}
.ob-small{font-size:14px;line-height:1.6;opacity:.9;margin:0;}
.ob-card{border:var(--ob-border);border-radius:var(--ob-radius);box-shadow:var(--ob-shadow);background:#fff;padding:18px;}
.ob-hero{padding:64px 0;}
.ob-hero__grid{display:grid;gap:18px;grid-template-columns:1.2fr .8fr;align-items:stretch;}
@media (max-width:900px){.ob-hero__grid{grid-template-columns:1fr;}}
.ob-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px;}
.ob-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;text-decoration:none;border:1px solid rgba(0,0,0,.15);font-weight:600;}
.ob-btn--primary{background:#111;color:#fff;border-color:#111;}
.ob-btn--ghost{background:transparent;color:inherit;}
.ob-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;opacity:.9;font-size:14px;}
.ob-meta__item a{text-decoration:underline;}
.ob-list{margin:10px 0 0 18px;padding:0;}
.ob-list li{margin:6px 0;}
.ob-cards{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.ob-cards{grid-template-columns:1fr;}}
.ob-card--service{min-height:120px;}
.ob-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.ob-step{display:flex;gap:12px;align-items:flex-start;border:var(--ob-border);border-radius:var(--ob-radius);background:#fff;padding:14px;}
.ob-step__num{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);font-weight:700;}
.ob-projects{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.ob-projects{grid-template-columns:1fr;}}
.ob-project__thumb img{width:100%;height:auto;border-radius:12px;display:block;}
.ob-project__body{padding-top:10px;}
.ob-project a{text-decoration:none;}
.ob-project a:hover{text-decoration:underline;}
.ob-cta{padding:44px 0;}
.ob-cta__box{border-radius:calc(var(--ob-radius) + 6px);border:var(--ob-border);box-shadow:var(--ob-shadow);background:#fff;padding:18px;display:flex;gap:14px;align-items:center;justify-content:space-between;}
@media (max-width:700px){.ob-cta__box{flex-direction:column;align-items:flex-start;}}
.ob-contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:14px;}
@media (max-width:900px){.ob-contact-grid{grid-template-columns:1fr;}}
.ob-form{display:grid;gap:10px;margin-top:10px;}
.ob-form label{display:grid;gap:6px;font-size:14px;}
.ob-form input,.ob-form textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.18);}
.ob-alert{padding:10px 12px;border-radius:12px;margin:10px 0;}
.ob-alert--ok{background:rgba(0,120,0,.08);border:1px solid rgba(0,120,0,.18);}
.ob-alert--err{background:rgba(160,0,0,.08);border:1px solid rgba(160,0,0,.18);}
.ob-hr{border:none;border-top:1px solid rgba(0,0,0,.10);margin:14px 0;}
