:root{--ink:#17202a;--muted:#66717c;--navy:#263746;--navy2:#1d2b36;--paper:#f7f5f0;--alt:#ece9e2;--line:#d7d4cc;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(247,245,240,.96);border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15}.brand-name{font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:19px}.brand-sub{margin-top:6px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:27px}nav a{text-decoration:none;font-size:13px;font-weight:600}.button-link{border:1px solid var(--ink);padding:9px 14px}
.hero{padding:96px 0 88px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:90px;align-items:end}.eyebrow,.section-label,.case-type{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;line-height:1.15;margin:0}h1{font-size:clamp(46px,5.3vw,76px);letter-spacing:-.035em;max-width:820px}.hero-copy{font-size:16px}.hero-copy p:first-child{margin-top:0}.text-link,.card-link{display:inline-block;margin-top:16px;font-weight:700;font-size:13px;text-decoration:none;border-bottom:1px solid currentColor}
.section{padding:78px 0}.section-label{margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:34px 30px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:465px;display:flex;flex-direction:column}.service-card h2{font-size:26px}.service-body{margin-top:25px}.service-body p{font-size:14px;margin:0;padding:9px 0;border-top:1px solid var(--line)}.card-link{margin-top:auto;align-self:flex-start}
.alt{background:var(--alt)}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cbc7bd;border-left:1px solid #cbc7bd}.case{padding:30px 32px 34px;border-right:1px solid #cbc7bd;border-bottom:1px solid #cbc7bd}.case h3{font-size:27px;margin:10px 0 16px}.case p{margin:0;font-size:15px}.section-link{margin-top:30px}
.background-photo-grid{display:grid;grid-template-columns:260px 1fr;gap:65px;align-items:center;max-width:950px}.portrait-small img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center top}.background h2{font-size:38px;margin-bottom:22px}.lead-small{max-width:670px;font-size:17px;color:#39434c}.credential{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}.credential strong{min-width:150px}.credential span{color:var(--muted)}
.contact{background:var(--navy);color:var(--white);padding:72px 0}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.contact h2{font-size:38px;max-width:700px}.section-label.light{color:#c7d0d6}.contact-details p{margin:0 0 10px}.contact-details a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}footer{background:var(--navy2);color:#cbd2d7;padding:22px 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.footer-inner{display:flex;justify-content:space-between;gap:20px}
.page-hero{padding:78px 0 62px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,5vw,66px);max-width:920px}.page-hero p{max-width:760px;font-size:18px;color:#414b54;margin-top:24px}.content-section{padding:70px 0;border-bottom:1px solid var(--line)}.content-grid{display:grid;grid-template-columns:280px 1fr;gap:70px}.content-grid h2{font-size:31px}.content-grid h3{font-size:21px;margin:28px 0 8px}.content-grid p{margin-top:0}.content-grid ul{padding-left:18px}.content-grid li{margin:8px 0}.case-study{padding:65px 0;border-bottom:1px solid var(--line)}.case-study-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:38px}.case-study h2{font-size:36px}.case-study-body{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.case-study-body h3{font-family:Inter,Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:12px}.metric-strip{margin-top:32px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.about-grid{display:grid;grid-template-columns:minmax(260px,35%) 1fr;gap:70px;align-items:start}.about-grid img{width:100%;display:block}.about-copy p:first-child{margin-top:0}.credentials-list{margin-top:36px}.credentials-list .credential{padding:15px 0}
@media(max-width:800px){.container{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:auto;padding:18px 0;align-items:flex-start}nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:12px}.button-link{padding:6px 9px}.hero{padding:62px 0}.hero-grid,.contact-grid,.content-grid,.case-study-head,.about-grid{grid-template-columns:1fr;gap:34px}h1{font-size:45px}.service-grid,.experience-grid,.case-study-body{grid-template-columns:1fr}.service-card{min-height:auto}.background-photo-grid{grid-template-columns:150px 1fr;gap:28px}.background h2,.contact h2{font-size:30px}}
@media(max-width:560px){.header-inner{display:block}nav{margin-top:16px;justify-content:flex-start}.brand-sub{font-size:9px}h1{font-size:38px}.background-photo-grid{grid-template-columns:1fr}.portrait-small{max-width:220px}.credential{display:block}.credential strong,.credential span{display:block}.footer-inner{display:block}.footer-inner span{display:block;margin:4px 0}}
