:root{--navy:#0b1f33;--ink:#1a1a1a;--soft:#f5f5f5;--gold:#b5a17b;--line:#d8dde2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--navy);line-height:1.15;margin:0 0 24px}h1{font-size:clamp(2.8rem,5.8vw,5.6rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.025em}h3{font-size:1.6rem}p{margin:0 0 24px}.wrap{width:min(1220px,calc(100% - 96px));margin:auto}.eyebrow{display:block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:26px;font-weight:600}.small{font-size:.875rem;line-height:1.6}.lede{font-size:1.2rem;max-width:720px;color:#4e5965}.section{padding:90px 0}.soft{background:var(--soft)}header{background:#fff;border-bottom:1px solid var(--line)}.header-row{display:flex;justify-content:space-between;align-items:center;min-height:112px;gap:35px}.brand img{width:250px}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:.9rem;padding:12px 0;white-space:nowrap}nav a[aria-current=page]{border-bottom:2px solid var(--navy)}nav a:last-child{border:1px solid var(--navy);padding:10px 20px}.menu-toggle{display:none}.hero{background:var(--navy);color:#fff;padding-top:85px;overflow:hidden}.hero h1{color:#fff;font-size:clamp(3rem,5vw,5rem)}.hero h1 em{font-weight:400;color:#d3c3a6}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:75px;align-items:center;padding-bottom:80px}.hero p{max-width:550px;font-size:1.15rem;color:#d6dfe8}.hero-mark{width:100%;mix-blend-mode:screen;filter:invert(1);opacity:.6}.actions{display:flex;gap:30px;align-items:center;margin-top:35px}.button{display:inline-block;border:1px solid var(--navy);padding:16px 24px;background:var(--navy);color:white;text-decoration:none;font-size:.875rem;font-weight:600;cursor:pointer;line-height:1.3}.button.light{background:#fff;color:var(--navy);border-color:white}.button:hover{background:#25425e;color:white}.quiet{font-size:.9rem;text-underline-offset:7px}.hero-bottom{border-top:1px solid #354659;display:flex;justify-content:space-between;padding:24px 0;color:#cdd5de;font-size:.875rem;letter-spacing:.05em}.intro-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro p{color:#4b5660}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:45px;border-top:1px solid var(--line)}.practice{padding:35px 42px 38px 0;text-decoration:none;border-bottom:1px solid var(--line)}.practice:nth-child(even){padding-left:42px;border-left:1px solid var(--line)}.practice:hover h3{color:#345b78}.number{font-size:.875rem;letter-spacing:.13em;color:#817256;display:block;margin-bottom:25px}.practice h3{max-width:400px}.practice p{color:#53606c;max-width:470px}.textlink{display:inline-block;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:7px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1050px}.partners{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:40px}.partner{text-decoration:none}.partner img{width:100%;height:440px;object-fit:cover;object-position:center 22%}.partner>div{padding-top:25px}.partner .eyebrow{margin-bottom:12px}.partner h3{margin-bottom:14px}.partner p{color:#52606d}.cta{background:var(--navy);color:white;padding:65px 0}.cta .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.cta h2{color:#fff;margin:0}.cta .eyebrow{color:#d3c3a6;margin-bottom:15px}.page-heading{padding-top:75px;padding-bottom:70px}.page-heading .eyebrow{color:#726143}.page-heading .lede{margin-bottom:0}.prose{max-width:800px}.prose p{color:#47535e}.bio{border-top:1px solid var(--line)}.bio-grid{display:grid;grid-template-columns:340px 1fr;gap:85px}.bio aside img{width:100%;max-height:470px;object-fit:cover;object-position:top;margin-bottom:28px}.bio aside h2{font-size:2rem}.bio aside .eyebrow{margin-bottom:12px}.bio aside>a{display:block;font-size:.9rem;overflow-wrap:anywhere}.practice-nav{display:flex;flex-wrap:wrap;gap:18px;padding-bottom:40px}.practice-nav a{font-size:.875rem;text-underline-offset:5px}.practice-detail{display:grid;grid-template-columns:100px 1fr;gap:35px}.practice-detail>div{max-width:800px}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}address{font-style:normal;margin-bottom:40px}.contact-grid h3{font-size:1.35rem;margin-top:30px;margin-bottom:12px}form{padding:40px;background:white;border:1px solid var(--line)}form h2{font-size:2rem}label{display:block;margin-bottom:20px;font-size:.9rem;font-weight:600}label span{font-weight:400;color:#53606c}input,select,textarea{display:block;width:100%;border:1px solid #9ba7b2;background:#fff;padding:12px;margin-top:8px;border-radius:0;min-width:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:2px}footer{padding-top:60px;background:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:75px}.footer-logo{width:260px;margin-bottom:20px}footer h3{font-family:Arial,sans-serif;font-size:.9rem;font-weight:600;margin:0 0 18px}footer p,footer a{font-size:.875rem;color:#52606d}.footer-grid>div:last-child a{display:block;margin-bottom:9px}.fineprint{border-top:1px solid var(--line);margin-top:40px;padding-top:25px;padding-bottom:20px;display:flex;gap:70px}.fineprint p{font-size:.75rem;max-width:760px}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid #345b78;outline-offset:5px}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}nav{gap:18px}.brand img{width:200px}.hero-grid{gap:35px}.bio-grid{gap:40px;grid-template-columns:280px 1fr}.contact-grid{gap:45px}.partner img{height:380px}.intro-section .wrap{gap:40px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-row{min-height:88px;flex-wrap:wrap;gap:0}.brand img{width:190px}.menu-toggle{display:block;background:white;border:1px solid var(--navy);padding:8px 14px;color:var(--navy);font-size:.875rem}nav{display:none;width:100%;padding:15px 0 25px;flex-direction:column;align-items:stretch;gap:5px}nav.open{display:flex}nav a{padding:8px 0}nav a:last-child{text-align:center;margin-top:8px}.hero{padding-top:55px}.hero-grid{grid-template-columns:1fr;padding-bottom:50px}.hero-mark{display:none}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}.hero .eyebrow{font-size:.75rem}.actions{flex-wrap:wrap;gap:20px}.hero-bottom{gap:15px;flex-direction:column;padding:20px 0}.section{padding:55px 0}.intro-section .wrap,.split,.partners,.bio-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:32px}.practice-grid{grid-template-columns:1fr}.practice,.practice:nth-child(even){padding:30px 0;border-left:0}.partner img{height:450px}.cta .wrap{flex-direction:column;align-items:flex-start}.page-heading{padding-top:50px;padding-bottom:45px}.bio aside{max-width:420px}.bio aside img{height:440px}.practice-detail{grid-template-columns:1fr;gap:0}.practice-detail .number{margin-bottom:15px}form{padding:25px}.footer-grid{gap:20px}.fineprint{flex-direction:column;gap:0;margin-top:25px}.footer-grid>div:last-child{display:flex;flex-wrap:wrap;gap:16px}.footer-grid>div:last-child h3{width:100%}.footer-logo{width:240px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Continuous editorial presentation */
body{font-family:Inter,Arial,sans-serif}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97)}.header-row{min-height:94px}h1,h2{font-family:Cinzel,Georgia,serif;letter-spacing:0;line-height:1.25}h3{font-family:Inter,Arial,sans-serif;font-weight:500;line-height:1.3}.hero{position:relative;background:linear-gradient(90deg,rgba(11,31,51,.91),rgba(11,31,51,.45)),url('/assets/des-moines.webp') center 56%/cover;padding-top:120px}.hero-grid{display:block;padding-bottom:135px;min-height:470px}.hero-grid>div{max-width:920px}.hero h1{font-size:clamp(2.6rem,4.9vw,4.7rem);line-height:1.3;letter-spacing:.01em}.hero h1 em{font-style:normal;color:#fff}.hero p{max-width:610px;color:#fff;margin-top:30px}.hero-bottom{background:transparent;color:#fff;font-weight:500}.hero .eyebrow{color:#fff}.section{padding:105px 0}.intro-section .wrap{grid-template-columns:1.1fr 1fr}.intro-section h2{font-size:clamp(2rem,3vw,2.8rem)}.practice-grid{grid-template-columns:1fr}.practice,.practice:nth-child(even){display:grid;grid-template-columns:60px 1.05fr 1.25fr;gap:0 32px;padding:38px 0;border-left:0}.practice h3{font-family:Cinzel,Georgia,serif;font-size:1.65rem}.practice p{font-size:.95rem;margin-bottom:0}.practice .number{padding-top:8px}.practice .textlink{grid-column:2;margin-top:10px}.approach-section{background:var(--navy);color:#fff}.approach-section h2{color:#fff;max-width:1000px;font-size:clamp(1.8rem,3.2vw,3rem)}.approach-section .prose{max-width:850px;margin-left:auto;margin-top:45px}.approach-section p{color:#e0e6ec}.approach-section .eyebrow{color:#cbd5df}.partners{gap:60px}.partner img{height:540px;object-position:center 20%}.partner h3{font-family:Cinzel,Georgia,serif;font-size:1.8rem}.partner .textlink{font-size:.9rem}.photo-credit{font-size:.75rem;padding:0 30px 25px;text-align:center;color:#56616c}.contact-grid h2{font-size:2rem}.brand img{width:230px}nav a:last-child{border:0;padding:12px 0}nav a[aria-current=location]{border-bottom:2px solid var(--navy)}.page-heading h1{font-size:clamp(2.5rem,4.5vw,4.8rem)}.bio aside h2{font-size:1.75rem}.partner{transition:color .2s}.partner:hover{color:#345b78}.practice{transition:background .2s}.practice:hover{background:#eef0f2}.quiet:hover{color:#d8e0e8}@media(max-width:1000px){nav{gap:20px}.brand img{width:200px}.partner img{height:450px}.practice,.practice:nth-child(even){grid-template-columns:45px 1fr 1.25fr;gap:0 20px}}@media(max-width:760px){.header-row{min-height:84px}.brand img{width:180px}.hero{padding-top:65px;background-position:57% center}.hero-grid{min-height:400px;padding-bottom:65px}.hero h1{font-size:clamp(2.3rem,7.8vw,3.6rem)}.hero-bottom{flex-direction:row;flex-wrap:wrap;font-size:.75rem;gap:10px 18px}.section{padding:65px 0}.intro-section .wrap{grid-template-columns:1fr}.practice,.practice:nth-child(even){display:block;padding:30px 0}.practice .textlink{margin-top:25px}.practice .number{margin-bottom:12px}.practice h3{font-size:1.5rem}.partner img{height:460px}.partner h3{font-size:1.6rem}.partners{gap:50px}.approach-section .prose{margin-top:25px}.photo-credit{padding-left:20px;padding-right:20px}.contact-grid{gap:40px}}@media(prefers-reduced-motion:no-preference){.section.in-view .eyebrow{animation:soft-reveal .6s ease both}@keyframes soft-reveal{from{transform:translateY(10px);opacity:.4}to{transform:translateY(0);opacity:1}}}

/* Cool blue interaction states */
nav a:hover,nav a:focus-visible,nav a[aria-current=location],nav a[aria-current=page],.partner:hover h3,.partner:focus-visible h3,.practice:focus-visible h3{color:#345b78}nav a[aria-current=location],nav a[aria-current=page]{border-bottom-color:#345b78}

/* Centered firm contact footer */
.footer-centered{text-align:center;max-width:900px}.footer-centered .footer-logo{margin:0 auto 24px;width:280px}.footer-centered .footer-tagline{margin-bottom:24px}.footer-centered address{font-size:1rem;color:#52606d;margin-bottom:30px}.footer-contacts{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0 auto 25px;max-width:720px}.footer-contacts h3{margin-bottom:10px}.footer-contacts a{display:block;overflow-wrap:anywhere;line-height:1.9;text-decoration:none}.footer-centered a:hover{color:#345b78;text-decoration:underline}.footer-website{display:inline-block;margin:0 0 24px;text-underline-offset:4px}.footer-navigation{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px}.footer-navigation a:last-child{border:0;padding:12px 0}.fineprint{justify-content:center;text-align:center;gap:35px}.fineprint p{max-width:650px}@media(max-width:760px){.footer-contacts{grid-template-columns:1fr;gap:24px}.footer-navigation{display:flex;width:auto;padding:0 0 20px;flex-direction:row;align-items:center;gap:8px 24px}.footer-navigation a{padding:8px 0}.footer-navigation a:last-child{margin:0;padding:8px 0}.fineprint{gap:0}.footer-centered .footer-logo{width:250px}}

/* Courthouse tower stays visible; upper crop preserves the complete bell tower. */
.people .photo-band.courthouse{background-position:center top;min-height:0;height:clamp(330px,42vw,760px)}
