/* TRENT X: personal editorial refinement of the existing charcoal, ivory and gold identity. */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.footer-operator{font-size:.75rem;color:var(--muted);margin-top:1.25rem}
.legal-sections p a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
:root {
  color-scheme: light;
  --bg:#f5f1e8; --surface:#eae5dc; --surface-2:#f9f6f0;
  --ink:#24231f; --muted:#625c53; --accent:#805226; --line:rgba(36,35,31,.19);
  --photo-bg:#050505;
  --font-display:'Cormorant Garamond',Georgia,serif; --font-body:'Inter',Arial,sans-serif;
  --text-xs:clamp(.75rem,.7rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.82rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.93rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .4vw,1.375rem);
  --text-xl:clamp(1.625rem,1.3rem + 1vw,2.25rem);
  --text-heading:clamp(2.25rem,1.6rem + 2vw,3.5rem);
  --text-hero:clamp(3rem,1.2rem + 4.1vw,4.875rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;
  --gutter:clamp(var(--space-6),4.5vw,var(--space-20));
  --duration:180ms; --content-wide:1320px;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;--bg:#141414;--surface:#1d1d1b;--surface-2:#191918;
  --ink:#f5f1e8;--muted:#b7b1a6;--accent:#dea879;--line:rgba(245,241,232,.2);
}}
[data-theme="dark"]{
  color-scheme:dark;--bg:#141414;--surface:#1d1d1b;--surface-2:#191918;
  --ink:#f5f1e8;--muted:#b7b1a6;--accent:#dea879;--line:rgba(245,241,232,.2);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body{font:400 var(--text-base)/1.7 var(--font-body);color:var(--ink);background:var(--bg);min-height:100dvh}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
button,a{transition:color var(--duration),background-color var(--duration),border-color var(--duration)}
a:active,button:active{opacity:.8}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:var(--bg)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.07;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:var(--text-hero)}
h2{font-size:var(--text-heading)}
h3{font-size:var(--text-xl)}
p{max-width:64ch;text-wrap:pretty}
em{font-weight:400;color:var(--accent)}
.wrap{width:100%;max-width:var(--content-wide);padding-inline:var(--gutter);margin-inline:auto}
.skip-link{position:absolute;left:var(--space-4);top:-80px;padding:var(--space-3) var(--space-6);background:var(--bg);z-index:200}
.skip-link:focus{top:var(--space-4)}
.preview-status{font-size:var(--text-xs);line-height:1.5;color:var(--muted);border-bottom:1px solid var(--line)}
.preview-status .wrap{display:flex;justify-content:space-between;padding-block:var(--space-2)}
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;min-height:100px;gap:var(--space-6)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);flex:none}
.brand-mark{width:178px;height:29px}
.brand-tag{font-size:var(--text-xs);letter-spacing:.12em;line-height:1.2}
.nav-links{list-style:none;display:flex;gap:clamp(var(--space-4),2vw,var(--space-8));align-items:center;margin-left:auto;order:1}
.nav-links a,.language{font-size:var(--text-sm);min-height:44px;display:flex;align-items:center;white-space:nowrap}
.nav-links a:hover,.text-link:hover,.language:hover,.footer-bottom a:hover{color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:var(--space-2);order:2}
.language{padding-inline:var(--space-3);border-left:1px solid var(--line)}
.theme-toggle{font-size:var(--text-lg);width:44px;height:44px;display:grid;place-items:center}
.theme-toggle:hover{background:var(--surface)}
.nav-toggle{display:none;min-height:44px;font-size:var(--text-sm)}
.hero{padding-top:clamp(var(--space-12),6vw,var(--space-20))}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:0 clamp(var(--space-10),5vw,var(--space-20));align-items:center}
.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-6);line-height:1.6}
.hero-copy{padding-block:var(--space-4) var(--space-8)}
.hero h1{margin-bottom:var(--space-8);max-width:16ch}
.hero h1 em{display:inline}
.hero-intro{font-size:var(--text-base);line-height:1.8;color:var(--muted);max-width:47ch}
.hero-actions{display:flex;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-10)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-8);background:var(--ink);color:var(--bg);padding:var(--space-4) var(--space-6);min-height:52px;font-size:var(--text-sm);border:1px solid var(--ink)}
.button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-5);font-size:var(--text-sm);min-height:52px;border-bottom:1px solid var(--line)}
.button span,.text-link span{font-size:var(--text-lg)}
.portrait{align-self:start}
.portrait-frame{aspect-ratio:4/5;background:var(--photo-bg);overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:51% 50%;background:var(--photo-bg)}
figcaption{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);line-height:1.6;color:var(--muted);padding-top:var(--space-4)}
.portrait figcaption span:first-child{color:var(--ink);font-size:var(--text-sm)}
.hero-topics{grid-column:1/-1;display:flex;gap:var(--space-8);margin-top:var(--space-12);padding-block:var(--space-6);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
.topic-location{margin-left:auto}
.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}
.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16);align-items:end;margin-bottom:var(--space-16)}
.section-intro{color:var(--muted)}
.practice-list{border-top:1px solid var(--line)}
.practice-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-block:var(--space-10);border-bottom:1px solid var(--line)}
.practice-name{display:grid;grid-template-columns:var(--space-10) 1fr;gap:var(--space-4);align-items:start}
.number{font-size:var(--text-xs);color:var(--accent);padding-top:var(--space-2)}
.practice-name h3{max-width:19ch}
.practice-copy p{font-size:var(--text-base);color:var(--muted);max-width:49ch}
.practice-copy .question{color:var(--ink);font-weight:500;margin-bottom:var(--space-3)}
.principal{background:var(--surface)}
.bio-grid,.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.bio-grid h2{max-width:18ch}
.signature{font:italic 400 var(--text-xl)/1.2 var(--font-display);margin-top:var(--space-12);color:var(--accent)}
.bio-copy>p{margin-bottom:var(--space-6);color:var(--muted)}
.bio-copy>p:first-child{color:var(--ink)}
.bio-areas{padding-top:var(--space-6);margin-top:var(--space-8);border-top:1px solid var(--line)}
.bio-areas .eyebrow{margin-bottom:var(--space-4)}
.bio-areas ul{list-style:none}
.bio-areas li{padding-block:var(--space-2);font-size:var(--text-sm)}
.process-list{list-style:none;counter-reset:process}
.process-list li{counter-increment:process;position:relative;padding:0 0 var(--space-8) var(--space-12);margin-bottom:var(--space-8);border-bottom:1px solid var(--line)}
.process-list li:last-child{margin-bottom:0;padding-bottom:0;border:0}
.process-list li::before{content:'0' counter(process);position:absolute;top:var(--space-2);left:0;font-size:var(--text-xs);color:var(--accent)}
.process-list h3{margin-bottom:var(--space-3)}
.process-list p{color:var(--muted);max-width:48ch}
.valhalla-section{padding-block:var(--space-16);background:var(--surface-2);border-block:1px solid var(--line)}
.valhalla-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.valhalla-grid h2{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.01em}
.valhalla-grid p:not(.eyebrow){font-size:var(--text-sm);color:var(--muted)}
.valhalla-grid .text-link{margin-top:var(--space-4)}
.valhalla-grid .boundary{margin-top:var(--space-6);font-size:var(--text-xs);line-height:1.8}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(var(--space-10),6vw,var(--space-24));align-items:center}
.office img{width:100%;aspect-ratio:5/4;object-fit:cover;filter:saturate(.65);background:var(--surface)}
.office figcaption{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2)}
.contact h2{margin-bottom:var(--space-6)}
.contact-copy>p:not(.eyebrow){color:var(--muted)}
.contact-email{display:inline-flex;gap:var(--space-6);align-items:center;border-bottom:1px solid var(--accent);color:var(--accent);font-family:var(--font-display);font-size:clamp(1.6rem,1rem + 1.7vw,2.5rem);line-height:1.4;padding-block:var(--space-4);margin-top:var(--space-6)}
.contact-email:hover{color:var(--ink)}
.contact-copy .contact-note{font-size:var(--text-xs);margin-top:var(--space-5);max-width:52ch}
.site-footer{border-top:1px solid var(--line);padding-block:var(--space-10) var(--space-6)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-8)}
.footer-top p{font-size:var(--text-sm);color:var(--muted)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);border-top:1px solid var(--line);padding-top:var(--space-4);color:var(--muted);font-size:var(--text-xs)}
.footer-bottom a{min-height:44px;display:flex;align-items:center}
.footer-bottom span:last-child{margin-left:auto}
.legal-main{max-width:960px;padding-block:var(--space-12) var(--space-24)}
.back-link{margin-bottom:var(--space-12)}
.legal-main h1{font-size:var(--text-heading);max-width:22ch;margin-bottom:var(--space-8)}
.legal-intro{font-size:var(--text-lg);color:var(--muted);margin-bottom:var(--space-12)}
.legal-sections section{padding-block:var(--space-8);border-top:1px solid var(--line)}
.legal-sections h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}
.legal-sections p{color:var(--muted)}
@media(min-width:1500px){.hero h1{font-size:4.875rem}}
@media(max-width:1100px){
 .brand-tag{display:none}.brand-mark{width:145px}.nav{min-height:84px;gap:var(--space-4)}
 .nav-links{gap:var(--space-4)}.nav-links a{font-size:var(--text-xs)}
 .hero-grid{grid-template-columns:1.15fr .85fr;gap:0 var(--space-8)}
 .hero-actions{gap:var(--space-3)}
 .hero h1{font-size:clamp(2.5rem,1.2rem + 4.1vw,4.5rem)}
 .section-heading,.practice-row,.bio-grid,.process-grid,.valhalla-grid{gap:var(--space-10)}
}
@media(max-width:800px){
 .nav{min-height:80px;position:relative;flex-wrap:wrap}.brand-mark{width:160px}
 .nav-actions{margin-left:auto}.language{border:0;padding-inline:var(--space-2);min-width:44px;justify-content:center}
 .nav-toggle{display:block;padding-left:var(--space-2);min-width:44px}.theme-toggle{width:44px}
 .nav-links{display:flex;flex-basis:100%;width:100%;order:3;margin:0;padding-block:var(--space-2) var(--space-6);flex-wrap:wrap;gap:var(--space-2) var(--space-8)}
 .nav-links a{font-size:var(--text-sm)}
 .js .nav-links{display:none}.js .nav-links.is-open{display:flex}
 .hero{padding-top:var(--space-10)}
 .hero-grid{grid-template-columns:1fr 1fr;gap:0 var(--space-6)}
 .hero-copy{grid-column:1/-1;padding:0 0 var(--space-10)}
 .hero h1{font-size:clamp(2.5rem,1rem + 6.3vw,4rem);max-width:17ch;margin-bottom:var(--space-6)}
 .hero-intro{max-width:60ch}.hero-actions{margin-top:var(--space-6)}
 .portrait{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:end}
 .portrait-frame{aspect-ratio:4/5}.portrait figcaption{padding-bottom:var(--space-4)}
 .hero-topics{gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-8);padding-block:var(--space-5)}
 .topic-location{display:none}
 .section-heading,.practice-row,.bio-grid,.process-grid,.valhalla-grid{grid-template-columns:1fr;gap:var(--space-8)}
 .section-heading{margin-bottom:var(--space-10)}
 .practice-row{padding-block:var(--space-8);gap:var(--space-5)}
 .practice-name h3{max-width:none}.practice-copy{padding-left:calc(var(--space-10) + var(--space-4))}
 .signature{margin-top:var(--space-6)}
 .process-list{margin-top:var(--space-4)}
 .contact-grid{grid-template-columns:1fr;gap:var(--space-10)}
 .office{order:2;max-width:520px}.contact-copy{order:1}
 .footer-top{align-items:start;flex-direction:column;gap:var(--space-5)}
 .footer-bottom{gap:var(--space-3) var(--space-6)}
 .footer-bottom span:first-child{flex-basis:100%}.footer-bottom span:last-child{margin-left:0}
}
@media(max-width:420px){
 .nav{gap:var(--space-2)}.brand-mark{width:137px}.nav-actions{gap:0}
 .theme-toggle{width:44px}.nav-toggle{padding-left:0;min-width:44px}
 .hero h1{font-size:2.65rem;letter-spacing:-.035em}
 .hero-actions{flex-direction:column;gap:var(--space-2);align-items:flex-start}
 .portrait{grid-template-columns:1.25fr .75fr;gap:var(--space-4)}
 .portrait figcaption{font-size:var(--text-xs)}
 .portrait figcaption span:first-child{font-size:var(--text-xs)}
 .hero-topics{gap:var(--space-3) var(--space-5)}
 .practice-name{grid-template-columns:var(--space-6) 1fr;gap:var(--space-3)}
 .practice-copy{padding-left:calc(var(--space-6) + var(--space-3))}
 .contact-email{gap:var(--space-4);font-size:1.8rem}
}
@media(max-width:350px){.brand-mark{width:111px}.nav-actions{gap:0}.hero h1{font-size:2.22rem}.hero-topics{font-size:.75rem}.contact-email{font-size:1.55rem}.portrait{grid-template-columns:1fr}.portrait-frame{max-width:240px}.portrait figcaption{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
