*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7f8;color:#17212b;font-family:Seaford,Inter,Arial,sans-serif;line-height:1.6}.sidebar{position:fixed;inset:0 auto 0 0;width:288px;padding:38px 30px;background:#10283a;color:white;display:flex;flex-direction:column;z-index:20}
.wordmark{color:white;text-decoration:none;display:flex;flex-direction:column;line-height:1}
.wordmark span,
.wordmark small{font-size:11px;letter-spacing:.25em;color:#b8c3cb}.wordmark strong{font-size:30px;margin:7px 0}.sidebar nav{display:grid;gap:6px;margin-top:58px}.sidebar nav a{color:#cbd5dc;text-decoration:none;padding:11px 14px;border-radius:10px}.sidebar nav a:hover,
.sidebar nav a.active{background:#ffffff12;color:#fff}.sidebar-note{margin-top:auto;border-top:1px solid #ffffff1a;padding-top:22px;font-size:12px;color:#aebac3}.sidebar-note b{color:white}main{margin-left:288px}.menu-button{display:none}.hero{position:relative;min-height:76vh;background-size:cover;background-position:center}.home-hero{background-image:url('../images/crack01.jpg')}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10283af2,#10283ab5,transparent)}
.hero-content{position:relative;color:white;max-width:850px;padding:15vh 7vw}
.hero h1,
.split-hero h1,
.page-top h1{font-size:clamp(3rem,6vw,6rem);line-height:1.03;margin:.2em 0}.hero-content>p:not(.eyebrow){font-size:19px;max-width:700px}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#55788c;font-weight:700;font-size:12px}.eyebrow.light{color:#bfe7f4}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.button{padding:14px 22px;border-radius:10px;text-decoration:none;font-weight:700}.button.primary{background:white;color:#10283a}.button.ghost{border:1px solid #ffffff88;color:white}.practice-links{display:grid;grid-template-columns:1fr 1fr}.practice-link{padding:55px 6vw;text-decoration:none;color:#17212b}.practice-link.blue,
.split-hero.blue{background:#dce8ed}.practice-link.copper,
.split-hero.copper{background:#e9e1d8}.practice-link span{font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.practice-link h2{font-size:52px;margin:10px 0 28px}
.section{padding:80px 6vw}
.section h2{font-size:42px;margin:0 0 35px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{overflow:hidden;border-radius:16px;background:white;box-shadow:0 8px 30px #10283a0b}
.card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.card>div{padding:24px}
.card small{color:#55788c;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.card h3{font-size:23px;line-height:1.25;margin:9px 0}
.split-hero{min-height:65vh;display:grid;grid-template-columns:1fr 1fr}
.split-hero>div{padding:10vh 6vw;display:flex;flex-direction:column;justify-content:center}
.split-hero>img{width:100%;height:100%;min-height:520px;object-fit:cover}
.split-hero p{font-size:19px;max-width:650px}
.brand-logo{width:170px;max-height:75px;object-fit:contain;object-position:left;margin:18px 0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9e0e4;border-radius:16px;overflow:hidden}
.service-grid article{background:white;padding:30px;min-height:210px}
.service-grid small{color:#55788c}
.service-grid h3{font-size:21px;margin:35px 0 8px}
.page-top{min-height:100vh;padding-top:12vh}
.narrow{max-width:1100px}
.lead{font-size:21px;max-width:850px}
.filters{display:flex;gap:8px;margin:35px 0}
.filters button{border:0;border-radius:999px;padding:10px 18px;background:white;cursor:pointer}
.filters button.active{background:#10283a;color:white}.metrics,
.contact-card{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.metrics article,
.contact-card>div{background:white;border-radius:14px;padding:28px}.metrics strong{display:block;font-size:35px;color:#315b70}.metrics span,
.contact-card span,
.contact-card a{display:block;color:#60707d}.contact-card{grid-template-columns:1fr 1fr}.contact-card a{margin-top:5px}footer{padding:30px 6vw;background:#10283a;color:#cbd5dc;font-size:12px}@media(max-width:960px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.menu-button{display:block;position:fixed;top:16px;left:16px;z-index:30;border:0;border-radius:9px;padding:11px 15px;background:#10283a;color:white}main{margin-left:0}.project-grid,.service-grid{grid-template-columns:1fr 1fr}.split-hero{grid-template-columns:1fr}.practice-links{grid-template-columns:1fr}}@media(max-width:640px){.project-grid,.service-grid,.metrics,.contact-card{grid-template-columns:1fr}.hero-content{padding:110px 24px}.section{padding:70px 24px}.split-hero>div{padding:90px 24px 50px}.split-hero>img{min-height:320px}.practice-link{padding:45px 24px}}