@font-face{font-family:Inter;src:url('/assets/inter-latin-wght-normal-Dx4kXJAl.woff2')}@font-face{font-family:Playfair;src:url('/assets/playfair-display-latin-wght-normal-BOwq7MWX.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f2;color:#1f1f1f;font:16px/1.8 Inter,Arial,sans-serif;font-weight:350}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Playfair,Georgia,serif;font-weight:400;line-height:1.14}h1{font-size:clamp(42px,5.1vw,76px);letter-spacing:-.035em;margin-bottom:32px}h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-.025em}h3{font-size:29px}p{margin-bottom:22px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9a7450;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}header{height:90px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9d6cf;position:relative;z-index:5}.brand,.eyebrow,nav a,.text-link,.button,.number{text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:450}.brand{font-size:15px;white-space:nowrap}nav{display:flex;gap:32px}nav a{font-size:12px;padding:12px 0}nav a:hover,nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.menu{display:none;background:none;border:0;padding:12px}.home header{position:absolute;width:100%;color:#f7f6f2;border:0}.hero{height:max(760px,100svh);max-height:1150px;position:relative;background:#0d0d0d;color:#f7f6f2;display:flex;align-items:flex-end;padding:150px 6.25% 7%}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-position:center 35%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.12) 65%,transparent)}.hero-copy{position:relative;z-index:1;max-width:655px}.hero h1{font-size:clamp(46px,4.7vw,72px);margin:27px 0 25px}.hero p{max-width:495px;line-height:1.65;color:#e4e3df;margin-bottom:14px}.hero .eyebrow{color:#bcbcb6}.button{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;padding:17px 23px;background:#0d0d0d;color:#f7f6f2;border:1px solid #0d0d0d;font-size:12px;margin-top:14px;min-height:52px}.button.light{color:#f7f6f2;border-color:#9d9d98;background:transparent}.button:hover{background:#333;color:#fff}.text-link{display:inline-flex;align-items:center;gap:25px;margin-top:20px;min-height:44px;font-size:12px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.split{display:grid;grid-template-columns:1fr 1fr}.section-copy{padding:100px 12.5%;align-self:center}.section-copy p{max-width:570px}.split>img{height:100%;width:100%;max-height:900px}.about-preview{min-height:760px}.about-preview .section-copy{padding-top:90px;padding-bottom:90px}.section-copy .eyebrow{display:block;margin-bottom:28px;color:#64645f}.intro{padding:120px 6.25%;display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.intro h2{font-size:clamp(30px,3vw,44px);line-height:1.4}.intro div{padding-top:12px}.statement{background:#0d0d0d;color:#f7f6f2;text-align:center;padding:110px 15%}.statement .eyebrow{color:#b5b5ae}.statement p{font-family:Playfair,Georgia,serif;font-size:clamp(28px,3.5vw,49px);line-height:1.35;max-width:920px;margin:25px auto 0}.section{padding:100px 6.25%}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:baseline;margin-bottom:35px}.section-heading .eyebrow{font-size:11px;color:#64645f}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#f7f6f2}.practice-card{min-height:385px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#151515;color:#f7f6f2}.practice-card:first-child{grid-column:1/-1;min-height:440px}.practice-card:first-child h3{font-size:clamp(34px,4vw,55px)}.practice-card:last-child{grid-column:1/-1}.practice-card>img{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(1);transition:transform .6s}.practice-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.87),rgba(0,0,0,.16))}.practice-card>div{position:relative;z-index:1;padding:40px;width:100%}.practice-card h3{margin:12px 30px 18px 0;max-width:780px}.practice-card p{color:#e3e1da;line-height:1.65;margin:0;max-width:630px}.number{color:#d1cfc8}.card-arrow{position:absolute;right:30px;top:40px;font-size:25px}.practice-card:hover>img{transform:scale(1.035)}.experience-preview{display:grid;grid-template-columns:1.2fr 1fr;background:#eeede7}.experience-preview>div{padding:90px 10.4%}.experience-preview>img{width:100%;height:100%}.experience-list{list-style:none;padding:0;margin:32px 0}.experience-list li{display:flex;gap:30px;border-top:1px solid #cccac2;padding:25px 0}.experience-list li:last-child{border-bottom:1px solid #cccac2}.experience-list span{font-size:12px;color:#6a6a62;padding-top:4px}.experience-list p{margin:0}.contact-strip{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:110px 6.25%}.contact-strip h2{margin-top:25px}.contact-strip p{max-width:550px}.contact-details{display:flex;flex-direction:column;align-self:center;gap:15px}.contact-details a{font-size:clamp(17px,2vw,27px);overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details p{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.12em}footer{background:#0d0d0d;color:#f7f6f2;padding:75px 6.25% 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}footer p{color:#aaa9a2;font-size:13px;margin:16px 0}footer nav,footer>div:nth-child(3){display:flex;flex-direction:column;gap:8px;align-items:flex-start}footer nav a{padding:0}footer>div:nth-child(3){font-size:14px;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #393934;grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:25px;font-size:12px;color:#b5b5ae}.footer-bottom>div{display:flex;gap:22px}.cookie-settings{border:0;background:none;color:inherit;padding:0;font-size:12px}.page-intro{padding:100px 6.25% 35px}.page-intro h1{margin:20px 0}.compact{padding-top:30px}.closing{text-align:center;text-transform:uppercase;letter-spacing:.15em;margin:40px 0 0;font-size:13px}.qualifications{display:grid;grid-template-columns:1.2fr 1fr;gap:15%;border-top:1px solid #d9d6cf}.qualifications h2{font-size:30px}.values{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;padding:50px 6.25%;background:#eae8e0;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.about-page .section-copy{padding-top:75px;padding-bottom:75px}.about-page h1{font-size:52px}.practice-detail{display:grid;grid-template-columns:.85fr 1.15fr;min-height:800px}.detail-image img{height:100%;width:100%}.practice-detail .section-copy{padding:75px 11%}.practice-detail h1{font-size:clamp(36px,3.8vw,58px)}.detail-number{margin-top:40px}.next-practice{border-top:1px solid #d9d6cf;padding:30px 6.25%;text-align:right}.experience-full{display:grid;grid-template-columns:1.3fr 1fr;padding:0 6.25% 100px;gap:8%}.experience-full>img{width:100%;height:750px;margin-top:32px;position:sticky;top:25px}.contact-page{padding:100px 6.25%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-page h1{margin-top:25px}.contact-page img{margin-top:45px;width:100%;height:280px}.contact-page .contact-details{margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;margin-bottom:28px;font-size:14px}label span{color:#777;font-size:12px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa89e;background:transparent;padding:12px 0;border-radius:0;color:#1f1f1f;font-size:16px}textarea{resize:vertical}.form-note,#form-status{font-size:13px;color:#62625b;line-height:1.65}form{padding-top:22px}#form-status{margin-top:20px}.legal-page{max-width:900px;padding:100px 6.25%;min-height:600px}.legal-page h1{margin-top:25px}dialog{border:1px solid #d9d6cf;background:#f7f6f2;color:#1f1f1f;padding:55px;max-width:550px;width:calc(100% - 40px)}dialog::backdrop{background:#0009}dialog h2{font-size:32px}.close-dialog:not(.button){position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}.skip{position:absolute;top:-100px;z-index:20;background:white;color:black;padding:12px}.skip:focus{top:0}
@media(min-width:1600px){.hero{padding-bottom:120px}}@media(max-width:900px){nav{gap:18px}.hero{height:850px}.hero-photo{object-position:60% center}.hero:after{background:linear-gradient(90deg,#0008,#0003)}.section-copy{padding:65px 10%}.about-preview{min-height:600px}.intro{gap:7%}.section-heading{display:block}.section-heading h2{margin-bottom:20px}.practice-card>div{padding:28px}.practice-card h3{font-size:27px}.experience-preview>div{padding:60px 10%}.contact-page{gap:7%}.form-grid{grid-template-columns:1fr;gap:0}footer{grid-template-columns:1fr 1fr}footer>div:nth-child(3){grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.practice-detail{grid-template-columns:.7fr 1fr}.about-page h1{font-size:43px}}
@media(max-width:650px){header{height:76px;padding:0 24px}.brand{font-size:13px}.menu{display:block;color:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.1em}header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0d0d0d;color:#f7f6f2;padding:25px;flex-direction:column;gap:8px}header nav.open{display:flex}header nav a{font-size:15px;padding:12px 0}.hero{min-height:830px;height:100svh;max-height:none;padding:130px 25px 45px}.hero-photo{object-position:64% top}.hero:after{background:linear-gradient(0deg,#000f 0%,#0008 58%,#0001)}.hero h1{font-size:clamp(38px,10vw,52px);margin:25px 0}.hero p{font-size:15px;max-width:350px}.hero .eyebrow{font-size:11px}.hero-copy{width:100%}.hero .button{margin-top:22px}.split{display:flex;flex-direction:column}.section-copy{padding:65px 25px}.split>img{max-height:610px;aspect-ratio:4/5;object-position:top}.about-preview{min-height:0}.intro{padding:70px 25px;display:block}.intro h2{font-size:33px;margin-bottom:30px}.statement{padding:75px 25px}.statement p{font-size:32px}.section{padding:65px 25px}.practice-grid{grid-template-columns:1fr;gap:2px}.practice-card,.practice-card:first-child{min-height:360px}.practice-card:first-child h3{font-size:34px}.practice-card h3{font-size:30px}.practice-card>div{padding:30px 25px}.practice-card p{font-size:15px}.experience-preview{display:flex;flex-direction:column}.experience-preview>div{padding:65px 25px}.experience-preview>img{height:370px}.experience-list li{gap:23px;padding:25px 0}.contact-strip{display:block;padding:70px 25px}.contact-strip .contact-details{margin-top:40px}.contact-details a{font-size:22px}footer{display:flex;flex-direction:column;padding:60px 25px 30px;gap:35px}footer nav{gap:12px}.footer-bottom{display:flex;flex-direction:column;gap:20px}.footer-bottom>div{gap:16px;flex-wrap:wrap}.page-intro{padding:65px 25px 20px}.page-intro h1{font-size:45px}.compact{padding-top:25px}.qualifications{display:block}.qualifications>div+div{margin-top:45px}.values{padding:40px 25px;gap:20px}.about-page .section-copy{padding:65px 25px}.about-page h1{font-size:45px}.practice-detail{display:flex;flex-direction:column}.detail-image{order:2}.detail-image img{height:360px;width:100%}.practice-detail .section-copy{padding:45px 25px 60px}.practice-detail h1{font-size:43px}.detail-number{margin-top:20px}.next-practice{padding:25px}.experience-full{display:flex;flex-direction:column;padding:0 25px 50px}.experience-full>img{position:static;height:370px;margin-top:15px}.contact-page{display:block;padding:60px 25px}.contact-page h1{font-size:48px}.contact-page form{margin-top:50px}.contact-page img{height:240px}.form-grid{grid-template-columns:1fr 1fr;gap:18px}.legal-page{padding:60px 25px}.legal-page h1{font-size:42px}dialog{padding:45px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Match the prototype's portrait-and-texture composition on large screens. */
@media(min-width:901px){.hero{background:#0d0d0d url('/assets/hero-texture.avif') left center/50% 100% no-repeat}.hero-photo{left:auto;right:0;width:66.667%;object-position:center 35%}.hero:after{background:linear-gradient(90deg,#0d0d0d55 0%,#0d0d0d20 45%,transparent 70%)}}
/* Supplied photographs: responsive art direction and intrinsic-size WebP variants. */
.hero{background:#151515;min-height:760px;height: min(900px, 100svh);max-height:none}
.hero-visual{display:block;position:absolute;inset:0 0 0 auto;width:76%;height:100%}
.hero .hero-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hero:after{background:linear-gradient(90deg,#151515 0%,#151515f2 22%,#15151588 39%,transparent 62%)}
.hero-copy{max-width:48%}.hero h1{font-size:clamp(42px,4.4vw,72px)}
.portrait-visual{display:block;width:100%;align-self:center;background:#202020;overflow:hidden}
.portrait-visual img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.about-preview,.about-page{grid-template-columns:42% 58%;min-height:0;align-items:center}
.about-preview .section-copy,.about-page .section-copy{padding:80px 12%}
@media(min-width:1800px){.hero-visual{width:76%}.hero{height:940px}.hero-copy{max-width:740px}.hero h1{font-size:78px}}
@media(min-width:768px) and (max-width:1100px){.about-preview,.about-page{display:flex;flex-direction:column}.about-preview .section-copy,.about-page .section-copy{padding:65px 8%;width:100%}.section-copy p{max-width:780px}.hero-copy{max-width:52%}.hero-visual{width:80%}.hero h1{font-size:44px}}
@media(max-width:767px){.hero{height:auto;min-height:880px;padding:465px 25px 45px;display:block}.hero-visual{inset:0 0 auto;width:100%;height:680px}.hero .hero-photo{object-position:center 28%;object-fit:cover}.hero:after{background:linear-gradient(0deg,#151515 0%,#151515 15%,#151515aa 40%,transparent 69%)}.hero-copy{max-width:100%;width:100%}.hero h1{font-size:clamp(37px,9.7vw,58px)}.hero-copy p{max-width:520px}.about-preview,.about-page{display:flex;flex-direction:column}.about-preview .section-copy,.about-page .section-copy{padding:65px 25px}.portrait-visual img{aspect-ratio:1122/1402;object-fit:contain}.portrait-visual{width:100%}}
@media(max-width:375px){.hero{padding-top:420px;min-height:840px}.hero-visual{height:605px}.hero h1{font-size:36px}}
@media(min-width:480px) and (max-width:767px){.hero{padding-top:570px;min-height:1010px}.hero-visual{height:830px}}
/* Editorial motion: three-second entrance, then subtle scroll reveals. */
@media(prefers-reduced-motion:no-preference){
 .intro-playing:before{content:"";position:fixed;z-index:30;top:0;left:0;width:100%;height:2px;background:#e7e0d3;transform-origin:left;animation:intro-line 3s ease both;pointer-events:none}
 .intro-playing .hero-visual{animation:photo-arrive 1s cubic-bezier(.2,.7,.2,1) both}
 .intro-playing header .brand{animation:soft-arrive .65s ease .3s both}
 .intro-playing header nav,.intro-playing header .menu{animation:soft-arrive .6s ease .5s both}
 .intro-playing .hero-copy>.eyebrow{animation:soft-arrive .65s ease .65s both}
 .typed-word{white-space:nowrap}.typed-letter{animation:letter-arrive .08s step-end var(--letter-delay) both}
 .intro-playing .hero-copy>p{animation:soft-arrive .5s ease 2.35s both}
 .intro-playing .hero-copy>.button{animation:soft-arrive .4s ease 2.6s both}
 .reveal-item{opacity:0;translate:0 18px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
 .reveal-item.is-visible,.reveal-item:focus-within{opacity:1;translate:0 0}
 .page-arriving header{animation:soft-arrive .5s ease both}
 .parallax-active>img{transform:translateY(var(--parallax-y,0px)) scale(1.06)}
 .practice-card.parallax-active:hover>img{transform:translateY(var(--parallax-y,0px)) scale(1.085)}
 .hero-visual{overflow:hidden}
 .hero-visual>img{transition:transform .16s linear}
 .text-link span,.button span{transition:transform .25s ease}
 .text-link:hover span,.button:hover span{transform:translate(3px,-3px)}
 @keyframes soft-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
 @keyframes photo-arrive{from{opacity:0;filter:brightness(.45)}to{opacity:1;filter:brightness(1)}}
 @keyframes letter-arrive{from{opacity:0}to{opacity:1}}
 @keyframes intro-line{0%{transform:scaleX(0);opacity:.8}80%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(1);opacity:0}}
}
@media(prefers-reduced-motion:reduce){.reveal-item,.typed-letter{opacity:1!important;translate:none!important;animation:none!important}.parallax-active>img{transform:none!important}}
@media print{.reveal-item,.typed-letter{opacity:1!important;translate:none!important;animation:none!important}.intro-playing:before{display:none}}
/* A completed entrance always leaves the full heading visible. */
.motion-ready:not(.intro-playing) .typed-letter{animation:none;opacity:1}
.legal-page{max-width:1040px;margin:auto;width:100%}.legal-page h2{font-size:30px;margin:48px 0 20px}.legal-page a:not(.text-link){text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.review-notice{border-left:2px solid #9a7450;padding:20px 25px;background:#eeece5;margin:35px 0;font-size:14px}.review-notice p{margin:10px 0 0}.legal-details{margin:30px 0}.legal-details dt{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#666;margin-top:20px}.legal-details dd{margin:5px 0 0}.source-note{font-size:13px;color:#62625b}.form-note a{text-decoration:underline}
/* Language links retain the current page across all three editions. */
header{gap:22px}header>nav{margin-left:auto;gap:24px}.language-switch{display:flex;gap:5px;align-items:center;flex-shrink:0}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;font-size:12px;letter-spacing:.05em;color:inherit;opacity:.65}.language-switch a:hover,.language-switch a[aria-current=true]{opacity:1;text-decoration:underline;text-underline-offset:6px}html:lang(es) h1,html:lang(ca) h1,html:lang(es) h3,html:lang(ca) h3{overflow-wrap:anywhere}html:not(:lang(en)) .hero h1{font-size:clamp(38px,4vw,64px)}html:not(:lang(en)) .hero-copy>.eyebrow{letter-spacing:.08em}
@media(max-width:1100px){header{gap:12px}header>nav{gap:15px}header>nav a{font-size:11px}.brand{font-size:13px}}
@media(max-width:900px){header .menu{display:block;color:inherit;margin-left:auto;font-size:12px;text-transform:uppercase;letter-spacing:.06em}header>nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px 25px;background:#0d0d0d;color:#f7f6f2;flex-direction:column;gap:8px}header>nav.open{display:flex}header>nav a{font-size:15px;padding:12px 0}.language-switch{gap:1px}}
@media(max-width:650px){header{padding:0 16px;gap:7px}header .brand{font-size:11px;letter-spacing:.1em}header .menu{padding:12px 5px;font-size:11px}.language-switch a{font-size:11px;min-width:25px}html:not(:lang(en)) .hero h1{font-size:clamp(32px,8.5vw,46px)}html:not(:lang(en)) .hero{padding-bottom:50px}html:not(:lang(en)) .section-copy h1{font-size:38px}}
@media(max-width:360px){header{gap:4px;padding:0 12px}.language-switch a{min-width:23px}header .brand{font-size:10px}}

.email-contact{padding:36px;border-top:1px solid #d9d6cf;background:#eeece6}.email-contact .button{margin-bottom:28px}@media(max-width:650px){.email-contact{margin-top:42px;padding:26px}}

.local-intro{max-width:1440px;margin:auto}.local-intro>p{max-width:800px}.local-links{display:flex;flex-wrap:wrap;gap:16px 32px}.local-links a{max-width:100%;letter-spacing:.07em}
