@font-face{font-family:'Rubik Dirt';src:url('/assets/fonts/rubik-dirt.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Rubik Broken Fax';src:url('/assets/fonts/rubik-broken-fax.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Black Ops One';src:url('/assets/fonts/black-ops-one.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
[data-font=quarry]{--display:'Rubik Dirt',Impact,sans-serif;--face:#294b56;--edge:#122c36;--shadow:#799092}
[data-font=concrete]{--display:'Rubik Broken Fax',Impact,sans-serif;--face:#737266;--edge:#333e3b;--shadow:#b0ac9b}
[data-font=foundry]{--display:'Black Ops One',Impact,sans-serif;--face:#ad452f;--edge:#512b22;--shadow:#bea295}
.block-type,[data-font] .hero h1,[data-font] .brand strong,[data-font] .pillar-heading h3,[data-font] .services-heading h2,[data-font] .section-heading h2,[data-font] .reviews-heading h2{font-family:var(--display);font-weight:400;font-style:normal;text-transform:uppercase;letter-spacing:.005em;color:var(--face);text-shadow:1px 1px 0 var(--edge),2px 2px 0 var(--edge),3px 3px 0 var(--edge),4px 4px 0 var(--edge),5px 5px 0 var(--shadow),6px 9px 9px #14272a20}
[data-font] .hero h1{font-size:clamp(44px,4.3vw,67px);line-height:1.16;letter-spacing:0;margin-bottom:30px;overflow-wrap:normal}
[data-font] .hero h1 em{font:inherit;color:var(--face)}
[data-font] .hero h1 .headline-line{display:block;white-space:nowrap}
[data-font] .brand strong{font-size:25px;letter-spacing:.015em;text-shadow:1px 1px 0 var(--edge),2px 2px 0 var(--shadow)}
[data-font] .brand-period{color:inherit}
[data-font] .pillar-heading h3{font-size:clamp(21px,2.1vw,29px);letter-spacing:0;text-shadow:1px 1px 0 var(--edge),2px 2px 0 var(--shadow)}
[data-font] .services-heading h2,[data-font] .section-heading h2,[data-font] .reviews-heading h2{font-size:clamp(27px,2.8vw,39px);line-height:1.3;text-shadow:1px 1px 0 var(--edge),2px 2px 0 var(--shadow)}
.font-toolbar{background:#e8ede9;border-bottom:1px solid #bec9c4;padding:13px 4%;display:flex;gap:14px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;font:14px/1.5 'Segoe UI',Arial,sans-serif;color:#102e39}
.font-toolbar p{margin:0;color:inherit}.font-toolbar strong{display:block}.font-toolbar nav{display:flex;gap:6px;flex-wrap:wrap}.font-toolbar nav a{padding:9px 12px;border:1px solid #a6b8b0;border-radius:4px;font-size:14px;background:#faf9f5}.font-toolbar nav a[aria-current=page]{background:#102e39;color:white;border-color:#102e39}.font-toolbar>a{text-decoration:underline;min-height:44px;display:flex;align-items:center}
.font-sample .font-toolbar,.font-sample .preview-bar,.font-sample .mobile-cta{display:none}
.font-sample .site-header{position:relative}
.font-sample .hero{padding-top:32px;padding-bottom:45px;gap:45px}
.font-sample .hero-photo{height:500px}
@media(max-width:1000px){[data-font] .hero h1{font-size:clamp(38px,4.8vw,57px)}[data-font] .hero{gap:35px}}
@media(max-width:800px){[data-font] .hero h1{font-size:clamp(42px,8vw,62px)}[data-font] .pillar-heading h3{font-size:27px}}
@media(max-width:560px){[data-font] .hero h1{font-size:clamp(35px,9.4vw,51px);line-height:1.2;text-shadow:1px 1px 0 var(--edge),2px 2px 0 var(--edge),3px 3px 0 var(--edge),4px 4px 0 var(--shadow),5px 7px 7px #14272a20}[data-font] .brand strong{font-size:25px}[data-font] .hero{gap:26px}[data-font] .services-heading h2,[data-font] .section-heading h2,[data-font] .reviews-heading h2{font-size:27px}.font-toolbar{padding:15px 20px;gap:10px}.font-toolbar nav{width:100%}.font-toolbar nav a{flex:1;text-align:center;padding:10px 8px}.font-sample .hero{padding-top:24px}.font-sample .hero-photo{height:360px}}

/* The selected brick logo is image artwork; other type previews remain optional. */
.brand.brand-brick{display:inline-flex;align-items:center;justify-content:flex-start;gap:0;flex-shrink:0;line-height:1;padding:8px 0;width:232px;min-height:90px}
.brand-brick .logo-art{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;background:#fff;border-radius:4px}
.footer-main .brand.brand-brick{width:280px;align-self:flex-start}
@media(max-width:1000px){.brand.brand-brick{width:205px}.nav-wrap{gap:20px}}
@media(max-width:800px){.brand.brand-brick{width:190px;min-height:79px;padding:5px 0}.brand-brick .logo-art{max-height:none}.footer-main .brand.brand-brick{width:250px;max-width:100%;flex-basis:auto}}
@media(max-width:360px){.brand.brand-brick{width:177px}}
