:root{--forest:#15271f;--forest-light:#283b30;--ivory:#f1eee5;--paper:#f8f6ef;--ink:#21372c;--muted:#687165;--gold:#cab185;--line:#d9d9cc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}img{max-width:100%;height:auto}::selection{background:#cab185;color:#15271f}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(72px,9vw,148px)}h2{font-size:clamp(46px,5vw,76px)}h1 em,h2 em{font-weight:400}em{font-family:var(--serif)}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--ivory);color:var(--forest);padding:12px 20px}.skip-link:focus{top:12px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.2em;font-weight:500}.section-shell{padding-left:7%;padding-right:7%}.site-header{position:absolute;top:0;left:0;width:100%;height:111px;padding:0 5%;z-index:30;display:flex;justify-content:space-between;align-items:center;color:var(--ink);border-bottom:1px solid #25382e20}body[data-page=home] .site-header{color:var(--ivory);border-bottom-color:#f1eee519}.wordmark{display:flex;align-items:center;gap:16px;font-family:var(--serif);font-size:24px;line-height:1.2;letter-spacing:-.035em}.wordmark small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.25em;margin-top:8px;font-weight:500}.monogram{font-size:36px;position:relative;line-height:1;padding-right:17px;border-right:1px solid currentColor;margin-right:0}.monogram span{font-size:23px;margin-left:-11px;display:inline-block;transform:translateY(4px)}.site-header nav{display:flex;align-items:center;gap:40px;font-size:12px;letter-spacing:.015em}.site-header nav>a{position:relative;padding:10px 0}.site-header nav>a:after{content:'';position:absolute;bottom:2px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.site-header nav>a:hover:after,.site-header nav>a[aria-current=page]:after{width:100%}.site-header .nav-contact{display:flex;align-items:center;gap:36px;border:1px solid #8e9b874d;padding:10px 18px}.site-header nav>.nav-contact:after{display:none}.nav-contact:hover{background:#9cab851a}.menu-toggle{display:none;background:none;border:0}.hero-track{height:245svh;min-height:1500px;position:relative;background:var(--forest)}.hero-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;color:var(--ivory);isolation:isolate}.hero-atmosphere{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 74% 32%,#86956b38 0,transparent 50%),radial-gradient(ellipse at 93% 96%,#b69a5c15,transparent 55%),linear-gradient(130deg,#15271f 20%,#1c3124 75%,#1b2c20)}.hero-grain{position:absolute;inset:0;opacity:.028;pointer-events:none;z-index:8;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.hero-rule{position:absolute;left:54%;top:0;bottom:0;border-left:1px solid #d8ceac0b;z-index:-1}.hero-visual{position:absolute;inset:50px -5% 15px 36%;pointer-events:none}.scale-poster{position:absolute;width:90%;height:100%;object-fit:contain;left:5%;top:0;transition:opacity .4s}.hero-visual.is-ready .scale-poster{opacity:0}#scale-scene{position:absolute;inset:0}#scale-scene canvas{width:100%;height:100%;display:block}.hero-content{position:absolute;left:7%;top:24%;z-index:5;width:45%;will-change:transform,opacity}.hero-content>.eyebrow{display:flex;align-items:center;gap:9px;color:#d8d9c7}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}.hero-content h1{font-size:clamp(82px,9.4vw,157px);line-height:.91;margin-top:28px;letter-spacing:-.04em}.hero-profession{display:block;font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.16em;margin-bottom:22px}.hero-content h1 em{color:#d2bd93}.hero-intro{display:flex;align-items:flex-end;gap:38px;margin-top:35px}.hero-intro p{font-size:12px;line-height:1.9;color:#c0c9b9}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:12px;font-weight:500;letter-spacing:.015em;border-bottom:1px solid #52634e6b;padding:11px 0;transition:gap .25s}.text-link span{font-size:20px;font-weight:400;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{color:var(--ivory);border-color:#d2d3bd50}.hero-scroll-copy{position:absolute;left:7%;top:30%;z-index:5;opacity:0;pointer-events:none;transform:translateY(35px);width:45%}.hero-scroll-copy .eyebrow{color:var(--gold)}.hero-scroll-copy>p{font-family:var(--serif);font-size:clamp(66px,7vw,117px);line-height:1.02;letter-spacing:-.035em;margin-top:22px}.hero-scroll-copy em{color:#d2bd93}.hero-bottom{position:absolute;bottom:35px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;z-index:10;gap:15px}.scroll-cue{display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:.18em}.scroll-stem{height:38px;width:1px;background:#d0bd8d55;position:relative;overflow:hidden}.scroll-stem:after{content:'';position:absolute;width:1px;height:13px;top:0;left:0;background:#d0bd8d;animation:scroll-hint 2s infinite}.hero-location{text-align:right;font-family:var(--serif);font-size:15px;color:#d1c4a3}.hero-location span{display:block;font-family:var(--sans);font-size:7px;letter-spacing:.13em;margin-top:4px;color:#b1bca8}.hero-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#d1c09412}.hero-progress span{display:block;height:100%;width:0;background:var(--gold)}.intro-section{padding-top:115px;padding-bottom:105px;background:var(--ivory);position:relative;z-index:2}.section-kicker{display:flex;justify-content:space-between;gap:15px;padding-bottom:30px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.13em}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:64px}.intro-grid h2 em{color:#6b735f}.intro-copy .lead{font-size:19px;line-height:1.75;color:#35483a}.intro-copy>p+p{margin-top:21px;font-size:13px;color:var(--muted);max-width:450px}.intro-copy .text-link{margin-top:26px}.credentials{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;margin-top:76px;border-top:1px solid var(--line);padding-top:30px;gap:22px}.credentials>div{border-right:1px solid var(--line)}.credentials>div:last-child{border:0;padding-left:15px}.credentials span{font-size:8px;letter-spacing:.16em;color:var(--muted)}.credentials p{font-family:var(--serif);font-size:27px;line-height:1.2;margin-top:13px}.practice-section{padding-top:100px;padding-bottom:100px;background:var(--paper)}.practice-section h2{margin-top:50px}.practice-list{margin-top:45px}.practice-row{border-top:1px solid var(--line);display:flex;padding:30px 0;gap:35px}.practice-row h3{font-family:var(--serif);font-size:38px;line-height:1.1}.practice-row p{font-size:14px;color:var(--muted);max-width:650px;margin-top:16px}.row-number{font-size:10px;color:var(--muted);padding-top:7px}.contact-section{position:relative;overflow:hidden;background:var(--forest);color:var(--ivory);padding-top:80px;padding-bottom:200px}.contact-section .section-kicker{color:#bbc4b0;border-color:#afbd9b33}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;margin-top:58px}.contact-grid h2{font-size:clamp(55px,6vw,90px);margin-bottom:26px}.contact-grid h2 em{display:block;color:#c8b58b}.contact-details{margin:0}.contact-details>div{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #a5b09630}.contact-details dt{font-size:10px;letter-spacing:.08em;opacity:.65}.contact-details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.contact-note{font-size:11px;line-height:1.7;margin-top:18px;opacity:.58;max-width:350px}.contact-word{font-family:var(--serif);position:absolute;bottom:-.29em;left:6%;font-size:clamp(130px,20vw,330px);line-height:1;letter-spacing:-.05em;color:#d9cfab0b;white-space:nowrap;pointer-events:none}.site-footer{padding:55px 7% 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px 40px;background:var(--ivory);align-items:start}.footer-signature{font-family:var(--serif);font-size:33px;line-height:1}.footer-signature>span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.22em;margin-top:11px}.site-footer>div>span{display:block;font-size:10px;line-height:2.3;color:var(--muted)}.footer-links{display:flex;justify-content:flex-end;gap:28px;font-size:10px}.copyright{grid-column:1/-1;font-size:9px;color:#7f8477;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.page-heading{padding-top:162px;padding-bottom:65px}.back-link{display:block;color:var(--muted);font-size:10px;margin-bottom:56px}.page-heading>.eyebrow{display:block;color:var(--muted);margin-bottom:18px}.page-heading h1{font-size:clamp(65px,9vw,135px)}.page-heading h1 em{color:#78806a}.page-lead{margin-top:25px;font-size:13px;color:var(--muted)}.about-body{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;padding-bottom:100px;padding-top:30px}.about-art{position:relative;min-height:590px;background:var(--forest);display:flex;align-items:center;justify-content:center;overflow:hidden}.about-art img{width:90%;height:530px;object-fit:contain}.about-art>span{position:absolute;bottom:32px;left:32px;font-size:8px;letter-spacing:.24em;color:var(--gold)}.about-text{padding-top:35px}.about-text>.eyebrow{color:var(--muted)}.about-text h2{font-size:58px;margin:20px 0 28px}.about-text .lead{font-size:16px;color:var(--muted);line-height:1.8}.profile-list{margin:28px 0}.profile-list>div{display:grid;grid-template-columns:1fr 1.4fr;padding:14px 0;border-bottom:1px solid var(--line);gap:15px;font-size:12px}.profile-list dt{color:var(--muted)}.profile-list dd{margin:0}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:20px;padding-bottom:100px}.contact-page h2{font-size:60px;margin:20px 0 40px}.contact-page .contact-details>div{border-color:var(--line)}.location-panel{background:#e8e8dc;position:relative;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.location-panel>span{position:absolute;top:30px;left:30px;font-size:9px;letter-spacing:.18em}.location-rings{position:relative;width:210px;height:210px;display:grid;place-items:center;margin-bottom:22px}.location-rings i{position:absolute;border:1px solid #7a8d7333;border-radius:50%;inset:0}.location-rings i:nth-child(2){inset:25px}.location-rings i:nth-child(3){inset:50px}.location-rings b{font-weight:400;font-family:var(--serif);font-size:38px;color:#63745b}.location-panel>p{font-family:var(--serif);font-size:30px}.location-panel>small{font-size:10px;color:var(--muted);margin-top:6px}.prose{max-width:950px;padding-top:0;padding-bottom:100px}.prose h2{font-size:38px;margin:25px 0 18px}.prose p{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:40px}.not-found{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10%}.not-found h1{margin:25px 0}.no-motion .hero-track{height:100svh;min-height:650px}.no-motion .hero-stage{position:relative}.no-motion .hero-scroll-copy{display:none}.no-motion .scroll-stem:after{animation:none}@keyframes scroll-hint{0%{transform:translateY(-15px)}100%{transform:translateY(45px)}}
@media(min-width:1600px){.hero-content{top:25%}.hero-visual{inset:7% -2% 4% 37%}}
@media(max-width:1000px){.hero-content{width:52%;top:26%}.hero-content h1{font-size:110px}.hero-intro{flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}.hero-visual{inset:90px -13% 65px 32%}.intro-grid{gap:6%;grid-template-columns:1fr 1fr}.intro-grid h2{font-size:53px}.intro-copy .lead{font-size:16px}.credentials p{font-size:23px}.hero-location{display:none}.about-body{gap:6%}.about-art{min-height:510px}.about-text h2{font-size:49px}.footer-links{gap:14px}}
@media(max-width:700px){html{scroll-padding-top:30px}.section-shell{padding-left:7%;padding-right:7%}.site-header{height:88px;padding:0 7%}.wordmark{font-size:21px;gap:13px}.wordmark small{font-size:7px}.monogram{font-size:32px}.menu-toggle{display:flex;gap:15px;align-items:center;font-size:11px;z-index:42;padding:12px 0}.menu-toggle i{width:20px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.site-header nav{position:absolute;left:0;right:0;top:88px;background:var(--forest);color:var(--ivory);padding:20px 7% 32px;flex-direction:column;align-items:stretch;gap:12px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:.2s;border-bottom:1px solid #ffffff22}.site-header nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.site-header nav>a{font-size:17px;padding:12px 0}.site-header .nav-contact{border:0;padding:12px 0}.hero-track{height:190svh;min-height:1250px}.hero-stage{min-height:720px}.hero-content{left:7%;top:18%;width:80%}.hero-content>.eyebrow{font-size:8px;letter-spacing:.17em}.hero-profession{font-size:9px;margin-bottom:16px}.hero-content h1{font-size:88px;margin-top:24px;line-height:.91}.hero-content h1 br{display:none}.hero-content h1 em{display:block}.hero-intro{margin-top:21px;gap:8px}.hero-intro p{font-size:10px;line-height:1.7}.hero-intro .text-link{font-size:10px;gap:25px;padding:6px 0}.hero-visual{inset:36% -24% 5% 22%}.hero-content h1{max-width:350px}.hero-scroll-copy{left:7%;top:20%;width:90%}.hero-scroll-copy>p{font-size:68px;margin-top:17px}.hero-scroll-copy>.eyebrow{font-size:8px}.hero-bottom{bottom:23px;left:7%;right:7%}.scroll-cue{font-size:7px;gap:10px}.hero-rule{left:77%}.hero-atmosphere{background:radial-gradient(ellipse at 85% 70%,#8a93693b,transparent 55%),#15271f}.intro-section{padding-top:68px;padding-bottom:65px}.section-kicker{font-size:8px;padding-bottom:22px}.section-kicker>span+span{display:none}.intro-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.intro-grid h2{font-size:48px}.intro-copy .lead{font-size:16px}.intro-copy>p+p{font-size:12px}.credentials{grid-template-columns:1fr;margin-top:40px;padding:0;gap:0}.credentials>div,.credentials>div:last-child{padding:20px 0;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:15px}.credentials span{font-size:7px}.credentials p{margin:0;font-size:21px}.contact-section{padding-top:55px;padding-bottom:130px}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:37px}.contact-grid h2{font-size:65px}.contact-grid h2 em{display:inline}.contact-word{font-size:110px;bottom:-20px;left:5%}.contact-details dd{font-size:13px}.site-footer{padding-top:40px;grid-template-columns:1fr;gap:27px}.footer-signature{font-size:31px}.footer-links{justify-content:flex-start;gap:35px}.copyright{margin-top:0}.page-heading{padding-top:120px;padding-bottom:42px}.back-link{margin-bottom:32px}.page-heading h1{font-size:70px}.page-heading>.eyebrow{font-size:8px}.page-lead{font-size:11px}.about-body{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.about-art{min-height:350px;height:350px}.about-art img{height:340px;width:80%}.about-text{padding-top:0}.about-text h2{font-size:48px}.contact-page{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.contact-page h2{font-size:52px;margin-bottom:30px}.location-panel{min-height:340px}.location-rings{height:160px;width:160px}.prose h2{font-size:33px}.prose p{font-size:14px}.prose{padding-bottom:50px}.practice-section{padding-top:55px;padding-bottom:65px}.practice-row h3{font-size:31px}.practice-row{gap:20px}.no-motion .hero-track{height:100svh;min-height:720px}}
@media(max-width:370px){.hero-content h1{font-size:77px}.hero-content{top:17%}.hero-visual{inset:38% -27% 6% 14%}.intro-grid h2{font-size:42px}.hero-intro{margin-top:18px}.page-heading h1{font-size:61px}.credentials p{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-track{height:100svh;min-height:650px}.hero-stage{position:relative}.hero-scroll-copy{display:none}body.motion-opt-in .hero-track{height:245svh;min-height:1500px}body.motion-opt-in .hero-stage{position:sticky}body.motion-opt-in .hero-scroll-copy{display:block}@media(max-width:700px){.hero-track{min-height:720px}body.motion-opt-in .hero-track{height:190svh;min-height:1250px}}}
/* Layout refinements after visual verification. */
.practice-list{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.practice-row{min-width:0}.practice-row h3{font-size:32px}.practice-section>.text-link{margin-top:30px}
@media(max-width:700px){.practice-list{grid-template-columns:1fr;column-gap:0}.practice-row h3{font-size:30px}.hero-visual{inset:48% -6% 7% -6%}.hero-intro .text-link{display:none}}
.practice-row h2{font-family:var(--serif);font-size:32px;line-height:1.1;letter-spacing:0;margin:0}
@media(max-width:700px){.practice-row h2{font-size:30px}}

/* Contact-first composition and scroll choreography. */
.site-header nav{gap:26px}.site-header .nav-phone{font-size:13px;letter-spacing:.03em;white-space:nowrap}.nav-phone span{margin-left:9px;color:var(--gold)}
.hero-content{top:clamp(145px,21vh,210px);width:46%}.hero-content h1{font-size:clamp(85px,9.1vw,146px);line-height:.91;margin-top:20px}.hero-content h1 em{display:block}.hero-profession{font-size:clamp(38px,4.3vw,66px);font-weight:500;letter-spacing:.055em;line-height:1;margin-bottom:20px;color:var(--ivory)}
.hero-office{color:#c3cab9;font-size:12px;margin-top:23px}.hero-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:24px}.hero-contacts a{display:flex;align-items:center;gap:24px;padding:3px 0}.hero-contacts a:hover{text-decoration:underline;text-underline-offset:5px}.hero-contacts a span{color:var(--gold);font-size:18px}.hero-phone{font-size:26px;font-weight:400;letter-spacing:.02em}.hero-email{font-size:13px;color:#c8d0c1}.hero-scroll-copy{top:27%;visibility:hidden;pointer-events:auto}.hero-scroll-copy>p{font-size:clamp(66px,7.6vw,115px)}.hero-scroll-copy .text-link{margin-top:25px}
.hero-orbit{position:absolute;left:74%;top:53%;width:min(58vw,830px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #c5b78e12;border-radius:50%;pointer-events:none;z-index:-1}.hero-orbit i{position:absolute;inset:9%;border:1px solid #c5b78e12;border-radius:50%}.hero-orbit i:nth-child(2){inset:-9%;border-style:dashed;opacity:.6}.hero-orbit:before{content:'';position:absolute;top:14.5%;left:14.5%;width:5px;height:5px;border-radius:50%;background:var(--gold)}.hero-orbit>span{position:absolute;top:12%;left:13%;font-size:7px;letter-spacing:.3em;transform:rotate(-39deg);color:#cbb68966}
.hero-visual{inset:60px -7% 15px 38%}.hero-bottom{bottom:28px}.hero-location{display:none}
.intro-title h2{font-size:clamp(60px,6.5vw,92px)}.balance-drawing{width:min(100%,350px);height:145px;margin-top:38px;stroke:#9c875f;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.intro-grid{align-items:start}.intro-copy{padding-top:7px}.credentials{margin-top:40px}
.practice-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:8%;align-items:start}.practice-heading{position:sticky;top:60px;padding-bottom:20px}.practice-heading h2{margin-top:50px;font-size:clamp(60px,6.4vw,90px)}.practice-heading>p{max-width:270px;margin:24px 0 18px;color:var(--muted);font-size:13px}.practice-heading .text-link{margin-top:5px}.practice-seal{display:block;font-family:var(--serif);font-size:150px;line-height:1;color:#34492e0b;letter-spacing:-.14em;margin-top:40px}
.practice-layout .practice-list{display:block;margin-top:50px}.practice-row{position:relative;--line-progress:1;border-top:1px solid var(--line);overflow:hidden;padding:32px 0 38px}.practice-row:before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:#987c4f;transform:scaleX(var(--line-progress));transform-origin:left}.practice-row .row-number{font-size:11px;color:#927b56;min-width:20px}.practice-row h3,.practice-row h2{font-size:clamp(29px,3vw,43px);letter-spacing:-.02em}.practice-row p{font-size:13px;line-height:1.8;max-width:440px}.practice-content{min-width:0}.practice-row:hover .row-number{color:var(--ink)}
.contact-section{isolation:isolate}.contact-grid{position:relative;z-index:1}.contact-section .section-kicker{position:relative;z-index:1}.contact-orbit{position:absolute;left:-200px;top:-250px;width:850px;height:850px;pointer-events:none;border:1px solid #b9bc9720;border-radius:50%;z-index:-1}.contact-orbit i{position:absolute;border:1px solid #b9bc971a;border-radius:50%;inset:70px}.contact-orbit i:nth-child(2){inset:150px}.contact-orbit:after{content:'';position:absolute;left:120px;top:120px;background:var(--gold);width:5px;height:5px;border-radius:50%}.contact-grid .contact-details dd{font-size:17px}.contact-grid .contact-details>div{padding:18px 0}.contact-grid .contact-details a[href^=tel]{font-size:24px;white-space:nowrap}.contact-word{color:#d9cfab10}
.reading-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--gold);z-index:100;transform:scaleX(0);transform-origin:left;pointer-events:none}.contact-dock{position:fixed;right:24px;bottom:22px;z-index:40;display:flex;border:1px solid #cfbea25c;background:#f1eee5f7;color:var(--ink);box-shadow:0 6px 28px #09170e20;border-radius:3px;backdrop-filter:blur(12px)}.contact-dock a{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:500;min-height:48px;padding:0 17px;transition:background .2s}.contact-dock a+a{border-left:1px solid var(--line)}.contact-dock a:hover{background:#dfddcf}.contact-dock svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3}.footer-links{flex-wrap:wrap}.site-footer{padding-bottom:96px}.location-rings i:first-child{border-style:dashed}.no-motion [data-reveal]{transform:none;opacity:1}
@media(min-width:701px) and (max-height:780px){.hero-content{top:140px}.hero-content h1{font-size:94px}.hero-profession{font-size:42px;margin-bottom:14px}.hero-office{margin-top:17px}.hero-contacts{margin-top:16px}.hero-phone{font-size:23px}}
@media(max-width:1000px){.site-header nav{gap:19px}.site-header .nav-phone{display:none}.hero-content{width:53%}.hero-content h1{font-size:104px}.hero-profession{font-size:45px}.hero-visual{left:38%;right:-18%}.practice-layout{gap:6%;grid-template-columns:.85fr 1.15fr}.practice-heading h2{font-size:65px}.contact-grid .contact-details dd{font-size:14px}.contact-grid .contact-details a[href^=tel]{font-size:21px}.contact-dock{right:18px;bottom:15px}}
@media(max-width:700px){
  .site-header nav .nav-phone{display:flex}.hero-content{top:119px;width:86%}.hero-content h1{font-size:71px;margin-top:15px;max-width:none;line-height:.9}.hero-profession{font-size:34px;letter-spacing:.045em;margin-bottom:14px}.hero-content>.eyebrow{font-size:7px}.hero-content h1 em{display:inline;margin-left:9px}.hero-office{font-size:10px;margin-top:19px}.hero-contacts{margin-top:16px;gap:4px}.hero-phone{font-size:23px}.hero-email{font-size:12px}.hero-contacts a{gap:16px;min-height:30px}.hero-stage{min-height:760px}.hero-track{min-height:1390px}.no-motion .hero-track{min-height:760px}.hero-visual{inset:45% -4% 13% -4%}.hero-orbit{width:106vw;left:50%;top:62%}.hero-orbit>span{font-size:6px}.hero-bottom{bottom:89px;align-items:center}.scroll-cue{font-size:6px;letter-spacing:.12em}.hero-scroll-copy{top:136px;width:86%}.hero-scroll-copy>p{font-size:62px}.hero-scroll-copy .hero-contacts{margin-top:16px}.hero-scroll-copy .text-link{margin-top:14px;font-size:11px}.hero-scroll-copy .hero-phone{font-size:22px}
  .intro-title h2{font-size:60px}.balance-drawing{height:115px;max-width:300px;margin-top:24px}.intro-grid{gap:22px}.intro-copy{padding-top:0}.credentials{margin-top:35px}.practice-layout{display:block}.practice-heading{position:relative;top:auto}.practice-heading h2{font-size:61px;margin-top:35px}.practice-heading>p{max-width:280px;font-size:12px}.practice-seal{position:absolute;right:8px;bottom:22px;font-size:100px;margin:0}.practice-layout .practice-list{margin-top:23px}.practice-row{padding:26px 0 30px}.practice-row h3,.practice-row h2{font-size:32px}.practice-row p{font-size:12px}.contact-grid .contact-details dd{font-size:14px}.contact-grid .contact-details a[href^=tel]{font-size:21px}.contact-orbit{width:650px;height:650px;left:-350px;top:-100px}.contact-dock{right:12px;left:12px;bottom:max(10px,env(safe-area-inset-bottom));border-radius:4px;justify-content:center}.contact-dock a{flex:1;font-size:10px;min-height:47px;padding:0 9px}.site-footer{padding-bottom:100px}.footer-links{justify-content:space-between;gap:14px}.reading-progress{height:2px}
}
@media(max-width:390px){.hero-content h1{font-size:64px}.hero-content h1 em{margin-left:6px}.hero-profession{font-size:32px}.hero-content{top:115px}.hero-phone{font-size:22px}.hero-email{font-size:11px}.hero-stage,.no-motion .hero-track{min-height:740px}.hero-visual{top:44%;bottom:15%}.hero-bottom{bottom:88px}.scroll-cue{max-width:140px}.hero-orbit{top:60%}}
@media(min-width:701px){.hero-visual{inset:60px 1% 20px 43%}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.credential-number{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.03em;margin-top:10px;color:var(--muted)}
/* Monumental bronze sculpture, framed by an illuminated architectural niche. */
.hero-atmosphere{background:radial-gradient(ellipse at 76% 37%,#9b865d50 0,#3b4b3120 38%,transparent 65%),linear-gradient(115deg,#0e2019 18%,#203c2e 70%,#152b20)}.hero-architecture{position:absolute;left:64%;top:51%;width:41%;height:86%;transform:translate(-50%,-50%);border:1px solid #d2bc8752;border-bottom:0;border-radius:48% 48% 0 0;background:linear-gradient(90deg,#e9cb7912,transparent 8%,transparent 90%,#e9cb7910);box-shadow:inset 0 0 80px #cab17f08,0 0 100px #bb9b5e08;pointer-events:none;z-index:-1}.hero-architecture i{position:absolute;inset:14px 13px 0;border:1px solid #d2bc871f;border-bottom:0;border-radius:48% 48% 0 0}.hero-architecture i:nth-child(2){inset:29px 27px 0;border-color:#d2bc8712}.hero-floor{position:absolute;left:64%;bottom:5%;width:65%;height:9%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#d0b57924,transparent 65%);border-top:1px solid #ccb78524;box-shadow:0 -20px 90px #d6b96608;pointer-events:none;z-index:-1}.hero-light{position:absolute;left:52%;top:-24%;width:29%;height:130%;transform:rotate(24deg);transform-origin:top;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent,#f4d99a07 36%,#f4d99a12 51%,#f4d99a04 78%,transparent);filter:blur(23px)}.hero-orbit{border:0;background:none}.hero-orbit i,.hero-orbit span,.hero-orbit:before{display:none}.hero-rule{display:none}.hero-visual{inset:100px -2% 10px 24%}.hero-content,.hero-scroll-copy{text-shadow:0 2px 26px #09181070}.hero-content h1 em{color:#ddc596}.hero-profession{color:#f4f0e4}.hero-grain{opacity:.038}
@media(min-width:701px){}
@media(min-width:701px) and (max-width:1000px){.hero-visual{inset:80px -10% 12px 24%}.hero-architecture{left:67%;width:47%;height:78%}}
@media(max-width:700px){.hero-atmosphere{background:radial-gradient(ellipse at 50% 74%,#a9976750,transparent 48%),linear-gradient(170deg,#10261d,#1c3528)}.hero-visual{inset:44% -8% 13% -8%}.hero-architecture{left:50%;top:66%;height:51%;width:75%;border-radius:47% 47% 0 0}.hero-architecture i{inset:10px 10px 0}.hero-architecture i:nth-child(2){inset:21px 21px 0}.hero-floor{left:50%;bottom:13%;width:96%;height:6%}.hero-light{left:25%;top:23%;width:50%;height:77%;filter:blur(12px)}.hero-bottom{bottom:77px}.hero-content h1{font-size:clamp(54px,17vw,71px)}.hero-content h1 em{margin-left:6px}.hero-content{top:115px}.hero-office{margin-top:17px}}
.intro-with-portrait{grid-template-columns:.9fr 1fr;align-items:center;gap:11%}.intro-with-portrait .intro-copy h2{font-size:clamp(55px,6.1vw,85px);margin-bottom:30px}.intro-with-portrait .intro-copy h2 em{color:#727c65}.profile-portrait{margin:0;min-width:0;width:100%;max-width:450px}.portrait-frame{background:#fff;aspect-ratio:4/5;overflow:hidden;position:relative}.portrait-frame:after{content:'';position:absolute;inset:12px;border:1px solid #b6a78145;pointer-events:none}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}.profile-portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px}.profile-portrait figcaption>span{font-family:var(--serif);font-size:24px;white-space:nowrap}.profile-portrait figcaption>small{font-size:8px;line-height:1.7;color:var(--muted);text-align:right;max-width:135px}.about-body>.profile-portrait{max-width:500px}.intro-with-portrait+.credentials{margin-top:55px}
@media(max-width:700px){.intro-with-portrait{grid-template-columns:1fr;gap:35px}.profile-portrait{max-width:400px;margin:0 auto}.intro-with-portrait .intro-copy h2{font-size:57px;margin-bottom:24px}.profile-portrait figcaption{padding-top:14px}.profile-portrait figcaption>span{font-size:24px}.intro-with-portrait+.credentials{margin-top:35px}}
.preparation-section{padding-top:90px;padding-bottom:100px;background:#e4e5d9}.preparation-section .section-kicker{border-color:#b9c0ac}.preparation-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:50px;align-items:center}.preparation-heading h2{font-size:clamp(55px,5.7vw,82px)}.preparation-heading h2 em{color:#68755b}.preparation-heading p{font-size:16px;line-height:1.9;max-width:385px;color:#53614e}.preparation-heading .text-link{margin-top:20px}.preparation-steps{list-style:none;padding:0;margin:55px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.preparation-steps li{border-top:1px solid #b4bda7;padding-top:24px;min-width:0}.step-number{font-family:var(--serif);font-size:62px;line-height:1;color:#859377;display:block;margin-bottom:24px}.preparation-steps h3{font-family:var(--serif);font-size:32px;line-height:1.2;margin-bottom:18px}.preparation-steps p{font-size:13px;line-height:1.9;color:#55634e}
.faq-section{background:var(--paper);padding-top:90px;padding-bottom:65px}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;margin-top:55px}.faq-layout h2{font-size:clamp(55px,5.5vw,80px)}.faq-layout h2 em{color:#7b816b}.faq-layout>div>p{font-size:13px;color:var(--muted);max-width:245px;line-height:1.8;margin-top:22px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;align-items:center;gap:20px;padding:25px 0;cursor:pointer;min-height:70px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.faq-number{font-size:9px;color:#8e7958;align-self:flex-start;padding-top:8px}.faq-item h3{font-family:var(--serif);font-size:27px;line-height:1.2;flex:1}.faq-symbol{width:15px;height:15px;position:relative;flex-shrink:0;margin-left:12px}.faq-symbol:before,.faq-symbol:after{content:'';position:absolute;background:#65715d;top:7px;left:0;width:15px;height:1px}.faq-symbol:after{transform:rotate(90deg);transition:transform .25s}.faq-item[open] .faq-symbol:after{transform:rotate(0)}.faq-answer{padding:0 34px 25px;font-size:13px;line-height:1.9;color:var(--muted)}.faq-answer a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.official-links{margin-top:70px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px;align-items:center}.official-links>p{font-family:var(--serif);font-size:25px;line-height:1.4}.official-links .eyebrow{display:block;font-family:var(--sans);font-size:8px;color:var(--muted);margin-bottom:8px}.official-links>a{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;border-bottom:1px solid var(--line);min-height:50px}.official-links>a:hover{border-color:var(--ink)}.official-links>a>span:last-child{font-size:21px}
@media(max-width:1000px){.preparation-steps{gap:25px}.preparation-steps h3{font-size:28px}.faq-layout{grid-template-columns:.65fr 1.35fr;gap:6%}.official-links{gap:25px}.faq-item h3{font-size:25px}}
@media(max-width:700px){.credential-number{grid-column:2;margin-top:-4px;font-size:10px}.preparation-section{padding-top:60px;padding-bottom:65px}.preparation-heading{grid-template-columns:1fr;gap:28px;margin-top:35px}.preparation-heading h2{font-size:56px}.preparation-heading p{font-size:14px}.preparation-heading .text-link{margin-top:13px}.preparation-steps{grid-template-columns:1fr;margin-top:40px;gap:28px}.preparation-steps li{display:grid;grid-template-columns:45px 1fr;gap:13px 20px;padding-top:25px}.step-number{font-size:45px;margin:0;grid-row:1/3}.preparation-steps h3{font-size:30px;margin:0}.preparation-steps p{grid-column:2;font-size:12px}.faq-section{padding-top:60px;padding-bottom:55px}.faq-layout{grid-template-columns:1fr;gap:35px;margin-top:35px}.faq-layout h2{font-size:56px}.faq-layout h2 br{display:none}.faq-layout h2 em{margin-left:10px}.faq-layout>div>p{max-width:290px;font-size:12px;margin-top:17px}.faq-item summary{gap:13px;padding:23px 0}.faq-item h3{font-size:25px}.faq-number{padding-top:6px}.faq-answer{padding:0 0 25px 26px;font-size:12px}.official-links{grid-template-columns:1fr;gap:15px;margin-top:40px;padding-top:27px}.official-links>p{margin-bottom:8px;font-size:26px}.official-links>a{min-height:47px}}

/* Lawyer's practising certificate, rendered from the supplied PDF's first page. */
.certificate-section{padding-top:54px;padding-bottom:74px;border-top:1px solid var(--line);background:#eae7dc}.certificate-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:7%;align-items:center}.certificate-copy h2{font-size:clamp(44px,4.5vw,72px);line-height:1.02;margin:20px 0}.certificate-copy>p:not(.eyebrow){max-width:370px;font-size:14px;line-height:1.85;color:var(--muted)}.certificate-details{display:grid;gap:13px;margin:26px 0}.certificate-details>div{display:flex;gap:18px;justify-content:space-between;max-width:370px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px}.certificate-details dt{color:var(--muted)}.certificate-details dd{margin:0;text-align:right}.certificate-frame{position:relative;display:block;padding:14px;background:#f7f4eb;border:1px solid #a993683d;box-shadow:0 18px 50px #15271f12;transition:box-shadow .3s}.certificate-frame:hover{box-shadow:0 20px 60px #15271f24}.certificate-frame img{display:block;width:100%;height:auto}.certificate-frame>span{display:block;text-align:right;padding:14px 3px 2px;font-size:9px;letter-spacing:.14em;color:var(--muted)}
@media(max-width:700px){.certificate-section{padding-top:38px;padding-bottom:44px}.certificate-layout{grid-template-columns:1fr;gap:28px}.certificate-copy h2{font-size:52px}.certificate-frame{padding:9px}.certificate-copy>p:not(.eyebrow){font-size:12px}.certificate-details{margin:22px 0}.certificate-copy .text-link{font-size:12px}}

/* Office map: framed in the site's palette, with native map controls and attribution. */
.office-map{position:relative;z-index:1;min-width:0;overflow:hidden;border:1px solid #a9936859;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 18px 50px #0a1c1420}.office-map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 28px;background:#ebeade;border-bottom:1px solid var(--line)}.office-map-title{display:flex;align-items:center;gap:15px;min-width:0}.office-map-title .eyebrow{font-size:8px;letter-spacing:.19em;color:var(--muted)}.office-map-title h3{font-family:var(--serif);font-size:31px;letter-spacing:-.025em;line-height:1.15;margin-top:4px}.map-pin{display:grid;place-items:center;flex-shrink:0;width:47px;height:47px;border:1px solid #a993685c;border-radius:50%;background:#f4f1e8}.map-pin svg{width:22px;height:22px;stroke:#647457;stroke-width:1.3}.map-district{font-size:10px;letter-spacing:.15em;text-align:right;white-space:nowrap}.map-district span{display:block;font-size:7px;letter-spacing:.2em;color:var(--muted);margin-top:5px}.office-map-viewport{height:380px;background:#e0e5d8}.office-map iframe{display:block;width:100%;height:100%;border:0}.office-map-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 28px}.office-map-footer p{font-size:13px;font-weight:500}.office-map-footer>div>span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.directions-link{display:inline-flex;align-items:center;justify-content:center;gap:25px;flex-shrink:0;min-height:47px;padding:10px 20px;background:var(--forest);border:1px solid var(--forest);border-radius:3px;color:var(--ivory);font-size:12px;transition:background .2s,transform .2s}.directions-link>span[aria-hidden]{font-size:21px;line-height:1}.directions-link:hover{background:var(--forest-light);transform:translateY(-2px)}.contact-section>.office-map{margin-top:56px}.contact-page{grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start}.contact-page .office-map{margin-top:0}.contact-page .office-map-heading{padding:22px}.contact-page .office-map-title h3{font-size:28px}.contact-page .map-district{display:none}.contact-page .office-map-viewport{height:345px}.contact-page .office-map-footer{padding:20px 22px;gap:12px}.contact-page .office-map-footer p{font-size:11px}.contact-page .directions-link{font-size:11px;padding:10px 16px;gap:14px}.contact-details dd{line-height:1.75}
@media(max-width:1000px){.contact-page{grid-template-columns:1fr;gap:38px}.contact-page .map-district{display:block}.contact-page .office-map-viewport{height:390px}}
@media(max-width:700px){.office-map{border-radius:8px}.office-map-heading,.contact-page .office-map-heading{padding:18px;gap:10px}.office-map-title{gap:11px}.office-map-title h3,.contact-page .office-map-title h3{font-size:26px}.office-map-title .eyebrow{font-size:7px}.map-pin{width:39px;height:39px}.map-pin svg{width:19px;height:19px}.map-district,.contact-page .map-district{display:none}.office-map-viewport,.contact-page .office-map-viewport{height:320px}.office-map-footer,.contact-page .office-map-footer{padding:18px;align-items:stretch;flex-direction:column;gap:16px}.office-map-footer p,.contact-page .office-map-footer p{font-size:12px}.directions-link,.contact-page .directions-link{min-height:47px;font-size:12px;justify-content:space-between;padding:10px 17px}.contact-section>.office-map{margin-top:36px}.contact-page{gap:35px}.contact-grid .contact-details dd{font-size:13px}}

/* Mobile hero: one contact area at a time, clear type and room for the scales. */
@media(max-width:700px){
 .site-header{height:80px}.site-header nav{top:80px}.wordmark{font-size:22px;gap:10px}.wordmark small{display:none}.monogram{font-size:30px;padding-right:12px}
 .hero-stage{min-height:740px}.hero-content{top:116px;width:86%}.hero-content>.eyebrow{font-size:8px;letter-spacing:.15em}
 .hero-content h1{font-size:clamp(52px,15.5vw,68px);line-height:.98;margin-top:22px}.hero-profession{font-size:28px;letter-spacing:.07em;margin-bottom:18px}
 .hero-office{font-size:11px;line-height:1.75;margin-top:22px}.hero-contacts{margin-top:24px;gap:8px}.hero-phone{font-size:22px;line-height:1.4}.hero-contacts .hero-phone{min-height:34px}.hero-email{font-size:12px;overflow-wrap:anywhere}.hero-contacts .hero-email{min-height:30px}
 .hero-visual{inset:max(415px,50svh) -4% 48px -4%}.hero-bottom{bottom:22px}.hero-scroll-copy{top:125px}.hero-scroll-copy>p{font-size:58px}
 .contact-dock{bottom:max(10px,env(safe-area-inset-bottom))}
 body[data-page=home]:not(.past-hero) .contact-dock{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px)}
 body[data-page=home] .contact-dock{transition:opacity .25s,transform .25s,visibility .25s}
 .intro-section{padding-top:64px;padding-bottom:64px}.intro-copy .lead{font-size:16px;line-height:1.8}.intro-copy>p+p{font-size:14px;line-height:1.85}.practice-row{padding:30px 0 34px}.practice-row p{font-size:14px;line-height:1.8}
}
@media(max-width:700px) and (max-height:740px){
 .hero-stage{min-height:660px}.hero-content{top:104px}.hero-content h1{font-size:clamp(50px,15vw,62px);margin-top:16px}.hero-profession{font-size:25px;margin-bottom:12px}.hero-office{margin-top:16px}.hero-contacts{margin-top:18px;gap:4px}.hero-visual{top:365px;bottom:38px}.hero-bottom{bottom:18px}
}

.intro-copy h2.local-heading,.about-text h2.local-heading{font-size:clamp(34px,4.2vw,72px)}
