:root{--ink:#173346;--blue:#496882;--copper:#B16B39;--line:#d9e1e5;--muted:#5f707a;--pale:#f1f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:6px}.concept{padding:7px 5%;background:var(--ink);color:#fff;font-size:12px;letter-spacing:.12em;display:flex;justify-content:space-between}.concept span{letter-spacing:.02em;color:#ccd7de}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;gap:25px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand img{width:43px;height:42px}.brand span{font-size:29px;font-weight:400;letter-spacing:-1px;color:var(--blue)}nav{display:flex;gap:36px;font-size:14px}nav a{padding:7px 0}nav a:hover{color:var(--copper)}.contact-link{border-bottom:1px solid var(--copper)}.contact-link span{padding-left:20px}.hero{position:relative;padding:80px 5% 0;display:grid;grid-template-columns:1.25fr 1fr;min-height:690px;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;margin:0 0 27px;color:var(--copper)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0}h1{font-size:clamp(54px,5.6vw,88px)}h1 em{font-weight:400;color:var(--blue)}.intro{font-size:18px;line-height:1.65;color:var(--muted);margin:29px 0}.text-link{display:inline-flex;gap:45px;font-size:14px;border-bottom:1px solid var(--copper);padding-bottom:10px}.hero-art{position:relative;display:flex;justify-content:center;align-items:center;margin:-80px -6vw 0 0;background:var(--pale);overflow:hidden}.hero-art img{width:75%;position:relative;z-index:1;opacity:.93;transform:rotate(-2deg)}.art-grid{position:absolute;inset:0;background-image:url("paper-texture.svg"),linear-gradient(180deg,#fafcfd 0%,#edf2f6 38%,#d6e2eb 100%);background-size:220px 220px,100% 100%;background-repeat:repeat,no-repeat}.art-caption{position:absolute;bottom:30px;left:35px;font-size:10px;letter-spacing:.14em;color:var(--blue)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:23px 0;margin-top:55px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.06em;background:#fff;z-index:2}.section{padding:105px 8%}.firm{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}h2{font-size:clamp(38px,4vw,58px)}.firm-copy p{color:var(--muted);margin:0 0 20px;max-width:600px}.firm-copy .lead{font-size:23px;color:var(--ink);line-height:1.5}.approach{background:var(--ink);color:#fff}.approach .eyebrow{color:#d5996b}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:60px}.section-heading>p{color:var(--muted);margin:0}.approach .section-heading>p{color:#b7c7d0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.principles article{border-top:1px solid #ffffff40;padding-top:24px}.number{font-family:Georgia,serif;font-size:27px;color:#d5996b}.principles h3{font-size:23px;font-weight:400;letter-spacing:-.025em;margin:38px 0 16px}.principles p{color:#c0cdd5;font-size:16px;margin:0;max-width:310px}.team{padding-bottom:110px}.team-list article{display:grid;grid-template-columns:1.1fr 1.1fr 120px;gap:40px;padding:33px 0;border-top:1px solid var(--line);align-items:center}.team-list article:last-child{border-bottom:1px solid var(--line)}.person{display:flex;gap:25px;align-items:flex-start}.person-number{font-size:12px;color:var(--copper);padding-top:6px}.person h3{font-family:Georgia,serif;font-weight:400;font-size:25px;line-height:1.3;margin:0 0 6px}.role{font-size:13px;color:var(--blue);margin:0}.team-list article>p{font-size:15px;color:var(--muted);margin:0}.linkedin{background:none;border:0;cursor:pointer;text-align:left;color:var(--blue);padding:8px}.linkedin b{background:var(--blue);color:#fff;font-size:16px;line-height:22px;width:22px;display:block;text-align:center;margin-bottom:7px;border-radius:2px}.linkedin span{font-size:12px}.linkedin:hover{color:var(--copper)}.contact{background:var(--pale);border-top:1px solid var(--line)}.contact-body{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-body>div>p{color:var(--muted);margin:0 0 20px}.contact-body a{font-size:clamp(17px,2vw,26px);border-bottom:1px solid var(--copper);padding-bottom:12px;display:inline-block}.contact-body a span{margin-left:25px}.contact-body .location{font-size:12px;letter-spacing:.15em;margin-top:28px}footer{padding:45px 5%;display:flex;justify-content:space-between;gap:35px;align-items:center;font-size:12px;color:var(--muted)}footer img{width:100px;height:110px}footer>div{flex:1}.draft-note{max-width:450px}footer>a{white-space:nowrap}dialog{border:1px solid var(--line);padding:50px;max-width:500px;width:90%;color:var(--ink)}dialog::backdrop{background:#17334699}dialog h2{font-size:34px}dialog p{color:var(--muted)}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:26px;cursor:pointer}.dismiss{padding:9px 25px;background:var(--ink);color:#fff;border:0;cursor:pointer}@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:900px){nav{gap:20px}.hero{min-height:600px;padding-top:60px}.hero-art{margin-top:-60px}.hero-art img{width:90%}.section{padding:75px 6%}.firm,.contact-body{gap:35px}.team-list article{gap:22px;grid-template-columns:1fr 1fr 80px}.person{gap:12px}.principles{gap:25px}.person h3{font-size:22px}}@media(max-width:650px){.concept{font-size:10px;padding:7px 5%}.concept span{font-size:10px}header{flex-wrap:wrap;padding:18px 5%;gap:15px}.brand span{font-size:26px}.brand img{width:34px;height:34px}nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}.contact-link span{padding-left:7px}.hero{padding:48px 6% 0;grid-template-columns:1fr;min-height:0}h1{font-size:52px}.hero-art{margin:40px -7% 0;height:245px}.hero-art img{width:205px}.art-caption{font-size:9px;bottom:13px;left:22px}.hero-bottom{margin-top:0;font-size:10px;gap:15px}.eyebrow{font-size:11px;margin-bottom:22px}.intro{font-size:16px}.section{padding:60px 6%}.firm,.contact-body{grid-template-columns:1fr;gap:30px}.firm-copy .lead{font-size:21px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px}.principles{grid-template-columns:1fr;gap:35px}.principles h3{margin-top:15px}.principles p{max-width:none}.team-list article{grid-template-columns:1fr 75px;gap:18px}.team-list article>p{grid-column:1/2;grid-row:2}.linkedin{grid-column:2;grid-row:1/3}.person h3{font-size:23px}.contact-body a span{margin-left:8px}footer{flex-wrap:wrap;padding:30px 6%;gap:25px}footer>div{min-width:160px}footer img{width:75px;height:85px}footer>a{margin-left:auto}dialog{padding:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.team-list .profile-bio{grid-template-columns:minmax(180px,.8fr) minmax(0,1.5fr) 95px;align-items:start}.bio{color:var(--muted);font-size:16px}.bio p{margin:0 0 20px}.bio p:last-child{margin-bottom:0}.pending-bio{min-height:110px}.pending-bio>p{font-style:italic}.linkedin{display:block}.team-list .role{font-size:14px}@media(max-width:800px){.team-list .profile-bio{grid-template-columns:1fr 90px}.profile-bio .bio{grid-column:1/-1;grid-row:2}.profile-bio .linkedin{grid-column:2;grid-row:1}.team-list .pending-bio{grid-template-columns:1fr}.pending-bio>p{grid-column:1;grid-row:2}}

.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:65px;color:#c0cdd5;font-size:18px;line-height:1.8}.approach-copy p{margin:0}@media(max-width:800px){.approach-copy{grid-template-columns:1fr;gap:25px}.team-list .pending-bio{grid-template-columns:1fr 80px}.pending-bio .linkedin{grid-column:2;grid-row:1/3}}

.hero-text{padding-right:24px}.hero .intro{max-width:540px}.hero .eyebrow{line-height:1.8}

.approach-copy > div p + p{margin-top:1.5em}

.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 70px}.pillars article{border-top:1px solid #ffffff40;padding-top:25px}.pillars h3{font-family:Georgia,serif;font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:0 0 20px;color:#fff}.pillars p{font-size:18px;line-height:1.8;color:#c0cdd5;margin:0;max-width:570px}@media(max-width:700px){.pillars{grid-template-columns:1fr;gap:35px}.pillars h3{font-size:27px}.pillars p{font-size:16px}}

.hero-art{flex-direction:column;gap:24px;padding-top:28px;padding-bottom:28px}.hero-art img{flex-shrink:0}.hero-art .art-caption{position:relative;inset:auto;z-index:1;display:block;width:100%;text-align:center;line-height:1.4;flex-shrink:0}@media(max-width:650px){.hero-art{gap:16px;padding-top:14px;padding-bottom:14px}}

.hero{min-height:640px}.hero-text{padding-bottom:80px}.hero-art{gap:0}@media(max-width:900px){.hero{min-height:600px}.hero-text{padding-bottom:60px}}@media(max-width:650px){.hero{min-height:0}.hero-text{padding-bottom:0}}

.hero-art img.hero-logo{width:55%;max-width:340px;height:auto;transform:none;opacity:1}@media(max-width:650px){.hero-art img.hero-logo{width:175px;max-width:65%}}

.hero-art{background:transparent}.hero-art .art-grid{inset:28px 0;background-color:#f3f4f2}@media(max-width:650px){.hero-art .art-grid{inset:14px 0}}

/* Calmer opening proportions and an inset logo panel. */
.hero{min-height:560px;padding-top:64px}
.hero h1{font-size:clamp(44px,4.6vw,72px)}
.hero-text{padding-bottom:64px}
.hero-art{margin-top:-64px;margin-right:-5vw}
.hero-art .art-grid{inset:28px}
.hero-art img.hero-logo{width:49.5%;max-width:306px}
@media(max-width:900px){.hero{min-height:520px;padding-top:52px}.hero-text{padding-bottom:52px}.hero-art{margin-top:-52px}.hero-art .art-grid{inset:24px}}
@media(max-width:650px){.hero{min-height:0;padding-top:40px}.hero h1{font-size:43px}.hero-text{padding-bottom:0}.hero-art{margin:28px -6.81818% 0;height:225px}.hero-art .art-grid{inset:14px 20px}.hero-art img.hero-logo{width:157.5px;max-width:60%}}

/* Continuous-page comparison: a quiet white frame around colored sections. */
.inset-preview{--section-inset:24px}
.inset-preview .approach,.inset-preview .contact{margin-left:var(--section-inset);margin-right:var(--section-inset);padding-left:calc(8% - var(--section-inset));padding-right:calc(8% - var(--section-inset))}
.inset-preview .contact{border-top:0}
.inset-preview footer{padding:24px 5%;gap:20px;background:#fff}
.inset-preview footer p{margin:0}
@media(max-width:900px){.inset-preview{--section-inset:18px}.inset-preview .approach,.inset-preview .contact{padding-left:calc(6% - var(--section-inset));padding-right:calc(6% - var(--section-inset))}}
@media(max-width:650px){.inset-preview{--section-inset:12px}.inset-preview .approach,.inset-preview .contact{padding-left:20px;padding-right:20px}.inset-preview footer{padding:20px 6%;gap:16px}.inset-preview .contact-body .location{letter-spacing:.10em}}

/* A balanced closing panel, with equal white space above and below. */
.inset-preview .team{padding-bottom:0}
.inset-preview .contact{margin-top:48px;margin-bottom:48px;padding-top:72px;padding-bottom:72px;text-align:center}
.inset-preview .contact>.eyebrow{margin-bottom:24px}
.inset-preview .contact-body{grid-template-columns:minmax(0,1fr);gap:28px;max-width:760px;margin:0 auto}
.inset-preview .contact-body h2{line-height:1.15}
.inset-preview .contact-body>div>p{margin-bottom:18px}
.inset-preview .contact-body .location{margin-top:26px;margin-bottom:0}
.inset-preview footer{border-top:1px solid var(--line)}
@media(max-width:650px){
 .inset-preview .contact{margin-top:32px;margin-bottom:32px;padding-top:52px;padding-bottom:52px}
 .inset-preview .contact-body{gap:24px}
 .inset-preview .contact-body h2{font-size:38px}
 .inset-preview .contact-body .location{font-size:10px;letter-spacing:.08em}
}

/* Compact navigation stays available through the longer biographies. */
html{scroll-padding-top:88px}
.inset-preview header{position:sticky;top:0;z-index:50;padding-top:12px;padding-bottom:12px;background:#fff;box-shadow:0 2px 8px #17334608}
.inset-preview header .brand img{width:36px;height:36px}
.inset-preview header .brand span{font-size:26px}
.inset-preview .contact-body a{max-width:100%;overflow-wrap:anywhere}
@media(max-width:650px){
 html{scroll-padding-top:120px}
 .inset-preview header{padding:10px 6%;gap:7px}
 .inset-preview header .brand{gap:10px}
 .inset-preview header .brand img{width:30px;height:30px}
 .inset-preview header .brand span{font-size:24px}
 .inset-preview header nav{line-height:1.5}
 .inset-preview header nav a{padding-top:5px;padding-bottom:5px}
 .inset-preview .hero-text{padding-right:0}
 .inset-preview .hero h1{font-size:clamp(34px,8.5vw,43px)}
}

/* Phone opening: keep the header branding and lead with the introduction. */
@media(max-width:650px){
 .inset-preview .hero .hero-art{display:none}
 .inset-preview .hero .hero-text{padding-bottom:44px}
}
