:root{--navy-950:#061b2f;--navy-900:#0b2b4b;--navy-800:#123d67;--blue-600:#1f5f9e;--gold-500:#c49a3a;--gold-300:#dfc175;--ink:#132536;--muted:#65727e;--line:#d8dee3;--cloud:#f2f4f5;--warm:#f5f1e8;--white:#fff;--display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 24px 70px #061b2f24}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,.98rem + .15vw,1.08rem);line-height:1.7;overflow-x:clip}::selection{background:var(--gold-300);color:var(--navy-950)}:focus-visible{outline:3px solid var(--gold-300);outline-offset:4px}body,button,input,textarea{font-family:var(--sans)}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.035em;font-weight:500;line-height:1.05}h1{font-size:clamp(3.5rem,8vw,7.8rem)}h2{font-size:clamp(2.45rem,5vw,4.9rem)}h3{font-size:clamp(1.5rem,2.2vw,2rem)}.shell{width:min(100% - 3rem,82rem);margin-inline:auto}.section{padding-block:clamp(5rem,10vw,9rem)}.kicker{color:var(--gold-500);letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.76rem;font-weight:800}.kicker--light{color:var(--gold-300)}.button,.text-link{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.button{background:var(--gold-500);min-height:3.6rem;color:var(--navy-950);padding:.9rem 1.35rem;transition:background .18s,transform .18s}.button:hover,.button:focus-visible{background:var(--gold-300);transform:translateY(-2px)}.button--light{background:var(--white)}.text-link{border-bottom:1px solid;padding-bottom:.35rem}.text-link--light{color:var(--white)}.site-header{z-index:20;backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #0b2b4b1f;position:sticky;top:0}.site-header--transparent{width:100%;color:var(--white);background:0 0;border-bottom-color:#ffffff38;position:absolute;top:0}.header-inner{grid-template-columns:15rem 1fr auto;align-items:center;gap:2rem;min-height:7.2rem;display:grid}.brand{width:13rem;display:inline-flex}.brand img{object-fit:contain;object-position:center;width:100%;height:5rem}.site-header--transparent .brand img{background:#ffffffe6;border-radius:.35rem;padding:.4rem}.primary-nav{justify-content:center;gap:clamp(1rem,2.5vw,2.5rem);display:flex}.primary-nav a,.header-contact{letter-spacing:.065em;text-transform:uppercase;font-size:.79rem;font-weight:750;text-decoration:none;position:relative}.primary-nav a:after{background:var(--gold-500);content:"";opacity:0;height:2px;transition:opacity .16s,transform .16s;position:absolute;bottom:-.65rem;left:0;right:0;transform:scaleX(.4)}.primary-nav a:hover:after,.primary-nav a:focus-visible:after,.primary-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.header-contact{color:var(--blue-600);border:1px solid #1f5f9e47;padding:.7rem .9rem;transition:border-color .18s,background .18s,color .18s}.header-contact:hover,.header-contact:focus-visible{border-color:var(--navy-800);background:var(--navy-800);color:var(--white)}.site-header--transparent .header-contact{color:var(--gold-300);border-color:#dfc17580}.site-header--transparent .header-contact:hover,.site-header--transparent .header-contact:focus-visible{border-color:var(--gold-300);background:var(--gold-300);color:var(--navy-950)}.menu-toggle{display:none}.home-hero{background:var(--navy-950) var(--hero-image) center 54% / cover no-repeat;min-height:min(58rem,100svh);color:var(--white);align-items:end;display:grid;position:relative;overflow:hidden}.home-hero:after,.page-hero:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:6rem 6rem;position:absolute;inset:0;mask-image:linear-gradient(90deg,#000,#0000 75%)}.home-hero-overlay{background:linear-gradient(90deg,#061b2feb 0%,#061b2fa3 48%,#061b2f29 100%),linear-gradient(#0000 55%,#061b2f6b);position:absolute;inset:0}.home-hero-content{z-index:1;padding-block:15rem 8rem;animation:.7s cubic-bezier(.22,1,.36,1) both rise-in;position:relative}.home-hero h1{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(3.25rem,6vw,6rem)}.home-hero-content>p:not(.kicker){color:#ffffffd1;max-width:35rem;margin-bottom:2.25rem;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-index{z-index:1;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.7rem;font-weight:800;display:flex;position:absolute;bottom:3rem;right:max(1.5rem,50vw - 41rem)}.hero-index span{background:var(--gold-300);width:3rem;height:1px}.capability-strip{background:var(--navy-950);color:var(--white);border-top:1px solid #ffffff1f}.capability-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.capability-grid>div{border-right:1px solid #ffffff1f;align-content:center;gap:.2rem;min-height:7rem;padding:1.5rem;display:grid}.capability-grid>div:first-child{border-left:1px solid #ffffff1f}.capability-grid span{color:var(--gold-300);letter-spacing:.12em;font-size:.68rem;font-weight:800}.capability-grid strong{font-family:var(--display);font-size:clamp(1.2rem,2vw,1.65rem);font-weight:500}.intro-section{background:radial-gradient(circle at 85% 15%, #c49a3a1a, transparent 24rem), var(--white)}.intro-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.intro-grid h2{max-width:13ch}.large-copy{padding-top:2.75rem}.large-copy p{font-size:clamp(1.15rem,2vw,1.5rem)}.large-copy p:first-child{font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.35rem);line-height:1.35}.clients-section{background:var(--cloud)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.section-heading h2{max-width:13ch;margin-bottom:0}.logo-grid{background:var(--line);grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;display:grid}.logo-card{background:var(--white);place-items:center;min-height:8.5rem;padding:1.5rem;transition:background .18s;display:grid}.logo-card img{object-fit:contain;filter:grayscale()saturate(.55);opacity:.78;max-width:8rem;max-height:4.5rem;transition:filter .18s,opacity .18s,transform .18s}.logo-card:hover{background:#fbfcfc}.logo-card:hover img{filter:none;opacity:1;transform:scale(1.04)}.expertise-section{background:var(--navy-950);color:var(--white);padding-block:clamp(5rem,10vw,9rem)}.expertise-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);display:grid}.expertise-copy h2{max-width:12ch}.expertise-copy>p:not(.kicker){color:#ffffffad;max-width:38rem}.experience-stat{border-top:1px solid #fff3;align-items:center;gap:1.5rem;margin-top:3rem;padding-top:2rem;display:flex}.experience-stat strong{color:var(--gold-300);font-family:var(--display);font-size:4rem;font-weight:500;line-height:1}.experience-stat span{color:#ffffffb3;letter-spacing:.06em;text-transform:uppercase;max-width:13rem;font-size:.82rem}.practice-panel{background:var(--warm);border:1px solid #0b2b4b1f;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 30px 80px #0000002e}.practice-panel>img{aspect-ratio:16/9;object-fit:contain;width:100%;margin-bottom:2rem}.practice-list{grid-template-columns:1fr 1fr;display:grid}.practice-list span{color:var(--navy-900);border-top:1px solid #0b2b4b29;padding:1rem 0}.practice-list span:nth-child(odd){padding-right:1rem}.practice-list span:nth-child(2n){border-left:1px solid #0b2b4b29;padding-left:1rem}.page-hero{background:linear-gradient(120deg, var(--navy-950), var(--navy-800));min-height:30rem;color:var(--white);align-items:end;display:grid;position:relative;overflow:hidden}.page-hero--with-image{min-height:38rem}.page-hero-image,.page-hero-overlay{width:100%;height:100%;position:absolute;inset:0}.page-hero-image{object-fit:cover}.page-hero-overlay{background:linear-gradient(90deg,#061b2fed,#061b2f61)}.page-hero-content{z-index:1;padding-block:8rem 5rem;animation:.6s cubic-bezier(.22,1,.36,1) both rise-in;position:relative}.page-hero h1{max-width:15ch;margin-bottom:1rem;font-size:clamp(3.4rem,7vw,6.5rem)}.page-hero-intro{color:#ffffffbd;max-width:45rem;margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem)}.content-section{padding-block:clamp(4.5rem,8vw,8rem)}.team-group{padding-block:clamp(4.5rem,8vw,7rem)}.team-group--tinted{background:var(--cloud)}.group-heading{grid-template-columns:12rem 1fr;align-items:end;margin-bottom:3rem;display:grid}.group-heading h2{margin-bottom:0}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.person-card{border:1px solid var(--line);background:var(--white);color:var(--ink);text-decoration:none;transition:box-shadow .18s,transform .18s;overflow:hidden}.person-card:hover,.person-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-5px)}.person-image{aspect-ratio:4/5;background:#dfe4e7;overflow:hidden}.person-image img{object-fit:cover;object-position:center top;filter:saturate(.82);width:100%;height:100%;transition:filter .18s,transform .35s}.person-card:hover .person-image img{filter:saturate();transform:scale(1.025)}.person-info{min-height:12rem;padding:1.4rem;position:relative}.person-number{color:var(--gold-500);letter-spacing:.12em;font-size:.7rem;font-weight:800}.person-info h3{margin:.7rem 2rem .5rem 0}.person-info p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.card-arrow{color:var(--blue-600);transition:transform .18s;position:absolute;top:1.4rem;right:1.4rem}.person-card:hover .card-arrow{transform:translate(3px,-3px)}.project-map-section{background:var(--cloud);padding-block:clamp(3rem,7vw,6rem)}.project-map-section img{object-fit:contain;width:100%;max-height:42rem}.project-region-row{border-top:1px solid var(--line);grid-template-columns:minmax(13rem,.45fr) 1.55fr;gap:clamp(2rem,6vw,6rem);padding-block:3rem;display:grid}.project-region-row:last-child{border-bottom:1px solid var(--line)}.region-label{align-items:baseline;gap:1rem;display:flex}.region-label span{color:var(--gold-500);letter-spacing:.1em;font-size:.72rem;font-weight:800}.region-label h2{margin:0;font-size:clamp(2.1rem,3vw,3.2rem)}.region-projects a,.region-projects>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;min-height:4rem;padding-block:.9rem;font-size:clamp(1rem,1.4vw,1.18rem);text-decoration:none;display:flex}.region-projects a i{color:var(--gold-500);font-style:normal;transition:transform .16s}.region-projects a{transition:color .16s,padding .16s}.region-projects a:hover{color:var(--blue-600);padding-inline:.75rem}.region-projects a:hover i{transform:translate(3px,-3px)}.news-section{background:var(--cloud)}.featured-article{background:var(--white);min-height:38rem;color:var(--ink);grid-template-columns:1.15fr .85fr;margin-bottom:5rem;text-decoration:none;display:grid}.featured-image{min-height:30rem;overflow:hidden}.featured-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.featured-article:hover .featured-image img{transform:scale(1.025)}.featured-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(2rem,5vw,4rem);display:flex}.featured-copy time,.article-card time{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.featured-copy h2{margin-block:1rem;font-size:clamp(2.2rem,4vw,3.8rem)}.featured-copy>p:not(.kicker){color:var(--muted)}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.article-card{border:1px solid var(--line);background:var(--white);min-height:32rem;color:var(--ink);flex-direction:column;padding:1.25rem;text-decoration:none;transition:box-shadow .18s,transform .18s;display:flex}.article-card:hover,.article-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-4px)}.article-card-image{aspect-ratio:16/10;background:var(--navy-900);margin-bottom:1.5rem;overflow:hidden}.article-card-image img{object-fit:cover;width:100%;height:100%}.article-card h2{margin-block:.8rem;font-size:clamp(1.65rem,2.4vw,2.3rem)}.article-card p{color:var(--muted);font-size:.9rem}.article-card>span{color:var(--blue-600);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;font-size:.75rem;font-weight:800}.article-detail{padding-block:clamp(4rem,8vw,7rem)}.article-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:2rem;margin-bottom:4rem;font-size:.8rem;display:flex}.contact-grid{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.contact-form-wrap h2{max-width:10ch}.contact-form{gap:1.2rem;margin-top:3rem;display:grid}.contact-form label{gap:.45rem;display:grid}.contact-form label span,.contact-details>div span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #aeb8c0;border-radius:0;outline:0;padding:.9rem 0}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--gold-500)}.contact-form textarea{resize:vertical}.contact-form .button{cursor:pointer;border:0;justify-self:start}.form-note{color:var(--muted);font-size:.75rem}.contact-details{background:var(--navy-950);color:#ffffffbf;padding:clamp(2rem,4vw,3.5rem)}.contact-details h2{color:var(--white);font-size:clamp(2.2rem,3.5vw,3.2rem)}.contact-details address{margin-bottom:3rem;font-style:normal}.contact-details>div{border-top:1px solid #ffffff29;gap:.25rem;padding-block:1rem;display:grid}.contact-details>div span{color:var(--gold-300)}.contact-details a{text-decoration:none}.profile-section,.project-detail-section{padding-block:clamp(4.5rem,9vw,8rem)}.profile-grid{grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.profile-portrait{aspect-ratio:4/5;background:var(--cloud);position:sticky;top:2rem;overflow:hidden}.profile-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%}.profile-grid .content-blocks{margin:0}.profile-copy{max-width:48rem}.profile-copy h2{margin-bottom:2rem}.profile-copy>p:not(.kicker){color:#293a49;font-size:clamp(1.05rem,1.5vw,1.2rem)}.profile-copy>p:not(.kicker):first-of-type{font-family:var(--display);font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.45}.project-detail{gap:2.5rem;max-width:68rem;display:grid}.project-detail>img{width:100%;box-shadow:var(--shadow)}.project-detail .text-link{justify-self:start}.legal-content .content-blocks{max-width:48rem}.not-found{min-height:65vh;padding-block:10rem}.not-found h1{max-width:11ch;color:var(--navy-950);font-size:clamp(3.5rem,8vw,7rem)}.content-blocks{gap:2rem;max-width:52rem;margin-inline:auto;display:grid}.content-blocks figure{margin:0}.content-blocks figure img{object-fit:contain;width:100%;max-height:45rem}.content-blocks figcaption{color:var(--muted);margin-top:.6rem;font-size:.78rem}.prose{color:#293a49}.prose h1,.prose h2,.prose h3{margin-top:2.5rem}.prose h2{font-size:clamp(2rem,3vw,2.8rem)}.prose h3{font-size:clamp(1.55rem,2.5vw,2.15rem)}.prose p{margin-bottom:1.35rem}.prose a{color:var(--blue-600)}.cta{background:var(--gold-500);color:var(--navy-950);padding-block:clamp(4rem,7vw,6rem)}.cta-inner{justify-content:space-between;align-items:end;gap:3rem;display:flex}.cta h2{max-width:14ch;margin-bottom:0}.cta .kicker{color:var(--navy-800)}.site-footer{background:var(--navy-950);color:#ffffffb8;padding-block:clamp(4rem,7vw,6rem) 1.5rem}.footer-main{grid-template-columns:1.6fr .7fr .7fr;gap:clamp(2rem,6vw,6rem);display:grid}.footer-main h2{max-width:14ch;color:var(--white);font-size:clamp(2.5rem,4vw,4rem)}.footer-main h3{color:var(--gold-300);font-family:var(--sans);letter-spacing:.13em;text-transform:uppercase;font-size:.76rem;font-weight:800}.footer-main a{margin-bottom:.5rem;text-decoration:none;display:block}.footer-main address{font-style:normal}.footer-bottom{border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:2rem;margin-top:5rem;padding-top:1.5rem;font-size:.75rem;display:flex}.footer-bottom p{margin:0}.footer-bottom nav{gap:1.5rem;display:flex}.footer-bottom a{text-decoration:none}@keyframes rise-in{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media (width<=70rem){.header-inner{grid-template-columns:12rem 1fr auto}.brand{width:11rem}.header-contact{display:none}.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=52rem){.shell{width:min(100% - 2rem,82rem)}.header-inner{justify-content:space-between;min-height:6rem;display:flex}.menu-toggle{width:3.2rem;height:3.2rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;place-content:center;padding:.75rem;display:grid}.menu-toggle span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.menu-toggle i{background:currentColor;width:1.3rem;height:1px;margin:.2rem;display:block}.primary-nav{background:var(--navy-950);color:var(--white);flex-direction:column;padding:1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.primary-nav--open{display:flex}.home-hero-content{padding-block:11rem 7rem}.hero-index{display:none}.intro-grid,.expertise-grid,.footer-main{grid-template-columns:1fr}.large-copy{padding-top:0}.section-heading,.cta-inner{flex-direction:column;align-items:flex-start}.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-grid>div:nth-child(odd){border-left:1px solid #ffffff1f}.capability-grid>div:nth-child(n+3){border-top:1px solid #ffffff1f}.team-grid,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-heading,.project-region-row,.contact-grid,.profile-grid,.featured-article{grid-template-columns:1fr}.featured-image{min-height:22rem}.profile-portrait{max-width:30rem;position:static}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom nav{flex-wrap:wrap}}@media (width<=34rem){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-list,.capability-grid{grid-template-columns:1fr}.capability-grid>div{border-top:1px solid #ffffff1f;border-left:1px solid #ffffff1f;min-height:5.5rem}.capability-grid>div:first-child{border-top:0}.team-grid,.article-grid{grid-template-columns:1fr}.practice-list span:nth-child(2n){border-left:0;padding-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
