/* DAV Consulting. Charcoal and warm clay, Jost display (echoes the deco DAV mark), Roboto body. */
:root{--ink:#26231f;--ink-2:#4a4540;--muted:#7a716a;--clay:#b9805d;--clay-d:#9a6446;--sand:#f3ece6;--line:#e4dad1;--white:#fff;
--display:"Jost",system-ui,sans-serif;--body:"Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;--w:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--white);font-size:17px;line-height:1.65}
img{max-width:100%;display:block}a{color:var(--clay-d)}a:hover{color:var(--ink)}
.wrap{max-width:var(--w);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;letter-spacing:.01em;text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:1.25rem;font-weight:500}
.eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:var(--clay-d);margin:0 0 .9rem}
p{margin:0 0 1em;max-width:68ch}
header.site{background:var(--ink);color:#fff;position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}.brand img{height:52px;width:auto}
.brand span{font-family:var(--display);letter-spacing:.3em;font-size:.8rem;text-transform:uppercase}
nav.main{display:flex;gap:26px;flex-wrap:wrap}nav.main a{color:#e9e2dc;text-decoration:none;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a[aria-current]{color:#fff;border-color:var(--clay)}
.hero{position:relative;color:#fff;background:#3a2d24 url(../img/hero.jpg) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,35,31,.86),rgba(38,35,31,.35))}
.hero .wrap{position:relative;padding-block:clamp(70px,12vw,140px)}.hero p{color:#efe7e0;font-size:1.12rem}
.hero .eyebrow{color:#e5c3ab}
.btn{display:inline-block;background:var(--clay);color:#fff;text-decoration:none;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;padding:14px 26px;border-radius:2px}
.btn:hover{background:var(--clay-d);color:#fff}.btn.ghost{background:transparent;border:1px solid currentColor;color:var(--ink)}
section{padding-block:clamp(56px,8vw,96px)}section.alt{background:var(--sand)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,5vw,64px);align-items:center}
.split > *{min-width:0}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.services article{background:#fff;padding:28px 26px}.services .n{font-family:var(--display);color:var(--clay);font-size:.85rem;letter-spacing:.2em}
.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px;margin-top:28px}
.project{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.project .img{aspect-ratio:16/10;background:var(--sand) center/cover no-repeat;max-width:100%}
.project .img.plain{background:linear-gradient(135deg,#3a332d,#6b5546);display:flex;align-items:flex-end;padding:18px;color:#f3e7dd;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}
.project .body{padding:22px 22px 24px}.project dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.88rem;color:var(--muted);margin:14px 0 0}
.project dt{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;padding-top:3px}.project dd{margin:0;color:var(--ink-2)}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin-top:28px}
.values div{border-top:2px solid var(--clay);padding-top:14px}.values strong{font-family:var(--display);font-weight:500;display:block;font-size:1.1rem;margin-bottom:6px}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;margin-top:28px}
.team img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin-bottom:16px;filter:grayscale(.15)}
.team .role{color:var(--clay-d);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin:-6px 0 10px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:28px;margin-top:28px}
blockquote{margin:0;background:#fff;border-left:3px solid var(--clay);padding:24px 26px;font-size:.98rem;color:var(--ink-2)}
blockquote cite{display:block;margin-top:14px;font-style:normal;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;color:var(--ink)}
.clients{display:flex;flex-wrap:wrap;gap:40px;align-items:center;margin-top:24px}.clients img{height:56px;width:auto;object-fit:contain}
.stats{display:flex;gap:48px;flex-wrap:wrap;margin-top:12px}.stats b{font-family:var(--display);font-weight:400;font-size:3rem;color:var(--clay-d);display:block;line-height:1}.stats span{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.contact-card{background:var(--sand);padding:32px;border:1px solid var(--line)}.contact-card h3{margin-top:18px}.contact-card h3:first-child{margin-top:0}
footer.site{background:var(--ink);color:#cfc6be;font-size:.9rem}footer.site .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px;padding-block:48px}
footer.site h4{font-family:var(--display);font-weight:400;color:#fff;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;margin:0 0 12px}
footer.site a{color:#e5c3ab}footer.site .legal{grid-column:1/-1;border-top:1px solid #3d3832;padding-top:18px;color:#958b82;font-size:.8rem}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
@media (max-width:720px){header.site .wrap{flex-direction:column;align-items:flex-start;padding-block:12px}nav.main{gap:18px}.brand img{height:44px}}
