@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#17201e;--muted:#66706c;--paper:#f6f4ef;--white:#fff;--deep:#172825;--line:#d9d9d2;--accent:#9d6d45;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}a{color:inherit}.site-header{height:92px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;background:rgba(246,244,239,.97);z-index:10}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.25}.brand strong{font-family:var(--serif);font-size:1.75rem;font-weight:400;letter-spacing:-.015em}.brand span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:5px}.nav{display:flex;align-items:center;gap:2rem}.nav a{text-decoration:none;font-size:.8rem}.nav-contact{border:1px solid var(--ink);padding:.65rem 1rem}.menu{display:none;background:none;border:0;font:inherit}.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:clamp(50px,8vw,130px);align-items:center;padding:clamp(70px,9vw,130px) clamp(24px,8vw,125px)}.eyebrow{font-size:.69rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent);margin:0 0 1.5rem}.hero h1,.section h2,.method h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(2.8rem,4.7vw,5.25rem);max-width:820px}.hero h1 span{font-style:italic}.lead{font-size:clamp(1rem,1.4vw,1.18rem);max-width:700px;color:#4c5753;margin:2rem 0}.actions{display:flex;gap:1.5rem;align-items:center}.button{display:inline-block;text-decoration:none;padding:.88rem 1.25rem;font-size:.78rem;font-weight:600;letter-spacing:.02em}.primary{background:var(--deep);color:white}.secondary{border:1px solid var(--ink)}.text-link{text-decoration:none;font-size:.8rem;font-weight:600}.profile-card{border-top:3px solid var(--deep);border-bottom:1px solid var(--line);padding:2rem 0}.profile-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.profile-card h2{font-family:var(--serif);font-size:2rem;font-weight:400;margin:.4rem 0}.postnom{font-size:.78rem;color:var(--accent);font-weight:600}.rule{height:1px;background:var(--line);margin:1.5rem 0}.profile-card>p:not(.profile-label):not(.postnom){font-size:.87rem}.profile-card ul{list-style:none;padding:0;margin:1.5rem 0 0;font-size:.76rem;color:var(--muted)}.profile-card li{padding:.45rem 0;border-top:1px solid var(--line)}.trustbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem clamp(24px,8vw,125px);font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;text-align:center}.trustbar span+span{border-left:1px solid var(--line)}.section{display:grid;grid-template-columns:220px 1fr;padding:clamp(80px,10vw,150px) clamp(24px,8vw,125px);gap:4rem}.section-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.section-label span{color:var(--accent);margin-right:.8rem}.section-content{max-width:1100px}.section h2{font-size:clamp(2.7rem,4.6vw,5rem);max-width:900px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;color:#4c5753}.two-col p{margin:0}.services{background:var(--deep);color:#f5f3ed}.services .section-label,.services .service-grid p{color:#aeb7b3}.services .eyebrow{color:#c99c75}.service-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:4rem;border-top:1px solid #455451}.service-grid article{padding:2.2rem 2.5rem 2.5rem 0;border-bottom:1px solid #455451}.service-grid article:nth-child(even){padding-left:2.5rem;border-left:1px solid #455451}.service-grid span{font-size:.65rem;color:#c99c75}.service-grid h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:.65rem 0}.service-grid p{font-size:.88rem;max-width:450px}.method{padding:clamp(90px,11vw,160px) clamp(24px,13vw,200px);text-align:center}.method h2{font-size:clamp(3rem,5.8vw,6.3rem)}.method>p:last-child{max-width:680px;margin:2.5rem auto 0;color:var(--muted)}.referrals{border-top:1px solid var(--line)}.referral-content{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.referral-content p{color:#4c5753}.referral-content .button{margin-top:1rem}.contact{background:#deded6;padding:clamp(80px,9vw,135px) clamp(24px,8vw,125px);display:grid;grid-template-columns:1fr 1fr;gap:8rem}.contact h2{font-size:clamp(3rem,5vw,5.4rem)}.contact-intro>p:last-child{max-width:500px}.contact-card{border-top:2px solid var(--ink)}.contact-card>div{display:grid;grid-template-columns:110px 1fr;padding:1.2rem 0;border-bottom:1px solid #bdbdb5}.contact-card span{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.contact-card p,.contact-card a{margin:0;text-decoration:none;font-size:.9rem}footer{padding:2rem clamp(24px,5vw,76px);display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:end;font-size:.68rem;color:var(--muted);background:#101916}footer strong{display:block;color:white;font-family:var(--serif);font-size:1.1rem;font-weight:400}footer div span{display:block}footer a{color:inherit}
@media(max-width:850px){.site-header{height:78px}.menu{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:1.5rem 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:70px}.profile-card{max-width:520px}.trustbar{grid-template-columns:1fr 1fr;gap:0}.trustbar span{padding:.6rem}.trustbar span+span{border-left:0}.section{grid-template-columns:1fr;gap:2rem}.two-col,.referral-content,.contact{grid-template-columns:1fr;gap:2.5rem}.service-grid{grid-template-columns:1fr}.service-grid article:nth-child(even){padding-left:0;border-left:0}.contact{padding-left:24px;padding-right:24px}footer{grid-template-columns:1fr;gap:.8rem}.hero h1{font-size:clamp(2.65rem,11vw,4.4rem)}}
@media(max-width:520px){.brand strong{font-size:1.4rem}.brand span{font-size:.62rem}.hero{padding-left:22px;padding-right:22px}.actions{align-items:flex-start;flex-direction:column}.trustbar{padding-left:15px;padding-right:15px}.section{padding-left:22px;padding-right:22px}.two-col{grid-template-columns:1fr;gap:1rem}.method{padding-left:22px;padding-right:22px}.contact-card>div{grid-template-columns:1fr;gap:.3rem}}

/* Refined audience routes */
.audience-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2.2rem 0 2.8rem}
.audience-routes p{background:var(--paper);margin:0;padding:1.15rem 1.25rem;font-size:.94rem;line-height:1.6}
.audience-routes strong{font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:720px){.audience-routes{grid-template-columns:1fr}}

/* Professional profile homepage refinements */
.profile-hero .hero-copy h1{font-size:clamp(3.4rem,6vw,6.7rem);line-height:.93;letter-spacing:-.045em;margin:.3rem 0 .65rem;max-width:900px}
.hero-title{font-family:var(--serif);font-size:clamp(1.65rem,2.7vw,2.6rem);line-height:1.15;margin:0 0 .55rem;color:var(--ink)}
.hero-postnom{margin:0 0 2rem;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.83rem;font-weight:700}
.profile-hero .lead{max-width:760px}
.credentials-card h2{font-size:clamp(2rem,3vw,3rem);line-height:1.05}
.profile-services{grid-template-columns:repeat(3,1fr)}
.credential-list{margin-top:2rem;border-top:1px solid var(--line)}
.credential-list>div{display:grid;grid-template-columns:160px 1fr;gap:2rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.credential-list span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);font-weight:700}
.credential-list strong{font-weight:500;font-size:1.05rem}
@media(max-width:900px){.profile-services{grid-template-columns:1fr 1fr}.profile-hero .hero-copy h1{font-size:clamp(3rem,11vw,5rem)}}
@media(max-width:620px){.profile-services{grid-template-columns:1fr}.credential-list>div{grid-template-columns:1fr;gap:.35rem}.profile-hero .hero-copy h1{font-size:3.15rem}.hero-title{font-size:1.55rem}}
/* Qualification panel: professional standing is primary; academic background is stated without over-emphasis. */
.credentials-card > p:not(.profile-label):not(.postnom){line-height:1.75;color:#4c5753}
.credentials-card > p:not(.profile-label):not(.postnom) strong{color:var(--ink);font-weight:600}

/* Areas of practice — clean 3 × 2 grid */
.profile-services{grid-template-columns:repeat(3,minmax(0,1fr));}
.profile-services article{padding:2.2rem 2.5rem 2.5rem 0;border-bottom:1px solid #455451;border-left:0;}
.profile-services article:nth-child(3n+2),
.profile-services article:nth-child(3n+3){padding-left:2.5rem;border-left:1px solid #455451;}
.profile-services article:nth-child(even){padding-left:2.5rem;}
.profile-services article:nth-child(4){padding-left:0;border-left:0;}
@media(max-width:900px){
  .profile-services{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile-services article{padding:2.2rem 2rem 2.5rem 0;border-left:0;}
  .profile-services article:nth-child(odd){padding-left:0;border-left:0;}
  .profile-services article:nth-child(even){padding-left:2rem;border-left:1px solid #455451;}
}
@media(max-width:620px){
  .profile-services{grid-template-columns:1fr;}
  .profile-services article,
  .profile-services article:nth-child(even),
  .profile-services article:nth-child(3n+2),
  .profile-services article:nth-child(3n+3){padding:1.8rem 0 2rem;border-left:0;}
}

.practice-intro{max-width:820px;margin:-.25rem 0 2.2rem;color:#b9c2bf;line-height:1.75;font-size:1rem}

/* Spacing refinement for Areas of Practice introduction */
.services .section-content > h2{margin-bottom:2.4rem;}
.practice-intro{margin:0 0 3rem;}

/* Contact form */
.contact{align-items:start}.contact-intro>p{max-width:520px}.contact-details{margin-top:2.25rem;border-top:2px solid var(--ink)}.contact-details>div{display:grid;grid-template-columns:110px 1fr;padding:1rem 0;border-bottom:1px solid #bdbdb5}.contact-details span,.contact-form label{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.contact-details p,.contact-details a{margin:0;text-decoration:none;font-size:.9rem}.contact-form-wrap{background:rgba(246,244,239,.72);padding:clamp(28px,4vw,48px)}.contact-form-wrap h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,2.7vw,2.6rem);margin:0 0 1.8rem}.contact-form{display:grid;gap:1.15rem}.form-field{display:grid;gap:.45rem}.form-field label span{font-size:.58rem;text-transform:none;letter-spacing:0}.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid #9fa39d;background:transparent;border-radius:0;padding:.7rem 0;font:inherit;color:var(--ink);outline:none}.form-field textarea{border:1px solid #aeb0aa;padding:.85rem;resize:vertical;min-height:150px}.form-field input:focus{border-bottom-color:var(--deep)}.form-field textarea:focus{border-color:var(--deep)}.form-note{font-size:.73rem;line-height:1.55;color:var(--muted);margin:.15rem 0}.form-submit{border:0;cursor:pointer;justify-self:start}.form-submit[disabled]{opacity:.55;cursor:wait}.form-status{min-height:1.3em;margin:0;font-size:.78rem}.form-status.success{color:#245d43}.form-status.error{color:#7a2f2f}.form-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.contact-details>div{grid-template-columns:110px 1fr}.contact-form-wrap{padding:28px}}
@media(max-width:520px){.contact-details>div{grid-template-columns:1fr;gap:.3rem}}


/* Professional links band */
.professional-links{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.45rem clamp(24px,5vw,76px)}
.professional-links-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1500px;margin:0 auto}
.professional-links-label{margin:0;font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600;white-space:nowrap}
.professional-links-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0}
.professional-links-nav a{text-decoration:none;font-size:.76rem;font-weight:500;padding:.2rem 1.2rem;border-left:1px solid var(--line);transition:opacity .2s ease}
.professional-links-nav a:first-child{border-left:0}
.professional-links-nav a:hover{opacity:.58}
.professional-links-nav span{font-size:.72rem;margin-left:.25rem;color:var(--accent)}
@media(max-width:850px){.professional-links-inner{align-items:flex-start;flex-direction:column;gap:1rem}.professional-links-nav{justify-content:flex-start}.professional-links-nav a{padding:.25rem 1rem .25rem 0;margin-right:1rem;border-left:0}}
@media(max-width:520px){.professional-links-nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.7rem 1rem}.professional-links-nav a{margin:0;padding:0}}
