:root {
  --navy:#071b34; --navy-2:#0e2a4b; --ink:#152232; --paper:#f7f4ed;
  --warm:#e9e2d4; --gold:#c89b3c; --gold-pale:#ead7a7; --white:#fff;
  --muted:#667080; --line:rgba(21,34,50,.16); --shadow:0 24px 60px rgba(7,27,52,.13);
  --serif:Georgia,'Times New Roman',serif; --sans:Arial,'Helvetica Neue',sans-serif; --shell:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased} img{max-width:100%} a{color:inherit}.container{width:min(calc(100% - 56px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:-4rem;left:1rem;padding:.7rem 1rem;background:var(--gold);color:var(--navy);font-weight:700}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible{outline:3px solid var(--gold-pale);outline-offset:4px}

.site-header{position:absolute;z-index:20;inset:0 0 auto;color:var(--white);border-bottom:1px solid rgba(255,255,255,.19)}.nav-wrap{display:flex;min-height:85px;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain}.brand span{display:grid;gap:2px;line-height:1}.brand strong{font:700 .73rem/1.2 var(--sans);letter-spacing:.18em}.brand small{font:500 .58rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-pale)}.primary-nav{display:flex;align-items:center;gap:30px}.primary-nav>a:not(.nav-cta){font-size:.75rem;letter-spacing:.05em;text-decoration:none;transition:color .2s}.primary-nav>a:not(.nav-cta):hover{color:var(--gold-pale)}.nav-cta{display:inline-flex;align-items:center;gap:12px;padding:11px 16px;border:1px solid rgba(234,215,167,.7);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-decoration:none;transition:.2s}.nav-cta span{color:var(--gold-pale);font-size:1rem}.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:translateY(-2px)}.nav-cta:hover span{color:var(--navy)}.menu-toggle{display:none}

.hero{position:relative;overflow:hidden;min-height:760px;background:var(--navy);color:var(--white)}.hero:after{position:absolute;content:'';z-index:0;inset:auto -10% -240px 26%;height:520px;border:1px solid rgba(200,155,60,.32);border-radius:50%;transform:rotate(-18deg)}.hero-gridline{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.07) 50%,transparent calc(50% + .5px)),linear-gradient(105deg,transparent 46%,rgba(200,155,60,.15) 46.1%,transparent 46.3%)}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:50px;min-height:760px;align-items:end;padding-top:100px}.hero-copy{padding:70px 0 100px}.eyebrow,.section-label{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:var(--gold);font:700 .7rem/1 var(--sans);letter-spacing:.17em;text-transform:uppercase}.eyebrow span{width:34px;height:1px;background:currentColor}.hero h1,.intro h2,.section-head h2,.profile h2,.reviews h2,.location h2,.contact h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.hero h1{max-width:660px;font-size:clamp(3.8rem,6.5vw,6.5rem);line-height:.93}.hero h1 em{color:var(--gold-pale);font-weight:400}.hero-description{max-width:470px;margin:30px 0 34px;color:#d7dce4;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:53px;padding:0 18px;border:1px solid transparent;font:700 .74rem/1 var(--sans);letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:.24s}.button span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:1.1rem}.button-gold{background:var(--gold);color:var(--navy)}.button-gold span,.button-outline span{background:var(--navy);color:var(--gold-pale)}.button-gold:hover{background:#deb65e;box-shadow:0 12px 24px rgba(0,0,0,.18);transform:translateY(-3px)}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.text-link span{font-size:1.2rem;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.hero-actions .text-link{color:var(--white)}.hero-details{display:flex;gap:50px;margin:74px 0 0}.hero-details div{display:grid;gap:5px}.hero-details dt{color:var(--gold);font-size:.61rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-details dd{margin:0;color:#e7eaf0;font:400 .91rem var(--serif)}.hero-image-wrap{position:relative;align-self:end;height:640px}.portrait-frame{position:absolute;right:0;bottom:0;width:min(100%,460px);height:610px;overflow:hidden;background:linear-gradient(145deg,#d8d4cc,#aeb8c6);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%,0 15%)}.portrait-frame:after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,rgba(7,27,52,.38),transparent 35%)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9) contrast(1.02)}.hero-monogram{position:absolute;z-index:0;right:30px;top:-20px;color:transparent;font:400 clamp(13rem,25vw,24rem)/.8 var(--serif);-webkit-text-stroke:1px rgba(234,215,167,.34);letter-spacing:-.13em}.portrait-caption{position:absolute;z-index:3;bottom:33px;left:-32px;display:grid;gap:3px;padding:13px 19px;background:var(--paper);color:var(--navy);box-shadow:var(--shadow)}.portrait-caption span{color:#8b6825;font-size:.59rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.portrait-caption strong{font:400 1.1rem var(--serif)}

.intro{padding:130px 0;background:var(--paper)}.intro-layout{display:grid;grid-template-columns:.48fr 1fr;gap:38px}.intro .section-label{align-self:start;margin-top:12px;color:#8c6829}.intro-copy{max-width:715px}.intro h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.99;color:var(--navy)}.intro p{max-width:570px;margin:28px 0;color:#4f5a68;font-size:1.02rem}.gold-link{color:#89631f}
.practice{padding:105px 0 120px;background:var(--navy);color:var(--white)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-head .section-label{color:var(--gold-pale);margin:0}.section-head h2{font-size:clamp(3rem,5vw,5rem);line-height:.9;color:var(--white)}.practice-card{display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:center;padding:37px 35px;border-top:1px solid rgba(234,215,167,.6);border-bottom:1px solid rgba(234,215,167,.28);transition:.25s}.practice-card:hover{padding-inline:47px;background:rgba(255,255,255,.055)}.number{color:var(--gold);font:400 2.4rem/1 var(--serif)}.practice-card h3{margin:0 0 9px;font:400 clamp(1.7rem,3vw,2.5rem)/1 var(--serif);letter-spacing:-.04em}.practice-card p{max-width:690px;margin:0;color:#d0d7df;font-size:.93rem}.circle-link{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-pale);font-size:1.4rem;text-decoration:none;transition:.2s}.circle-link:hover{background:var(--gold);color:var(--navy);transform:rotate(-35deg)}
.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:650px;background:var(--warm)}.profile-photo{min-height:650px;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.79) contrast(.98)}.profile-panel{position:relative;display:flex;align-items:center;padding:86px max(28px,calc((100vw - var(--shell))/2));padding-right:max(28px,calc((100vw - var(--shell))/2));background:#e7dfd1}.profile-panel:before{position:absolute;content:'A';right:5%;top:2%;color:rgba(7,27,52,.055);font:400 22rem/.8 var(--serif)}.profile-copy{position:relative;max-width:510px}.profile .section-label,.reviews .section-label,.contact .section-label{color:#8a6727}.profile h2{font-size:clamp(2.7rem,4.3vw,4.5rem);line-height:.96;color:var(--navy)}.profile p:not(.section-label){margin:26px 0 32px;color:#3f4d5e}.button-outline{border-color:var(--navy);color:var(--navy)}.button-outline:hover{background:var(--navy);color:var(--white);transform:translateY(-3px)}
.reviews{padding:120px 0;background:#fff}.reviews-top{display:flex;justify-content:space-between;align-items:end;gap:45px;padding-bottom:42px;border-bottom:1px solid var(--line)}.reviews h2{max-width:690px;font-size:clamp(2.8rem,4.7vw,4.7rem);line-height:.98;color:var(--navy)}.rating{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;min-width:165px}.rating strong{grid-row:span 2;font:400 3rem/1 var(--serif);letter-spacing:-.08em}.rating span{color:var(--gold);font-size:.9rem;letter-spacing:.1em}.rating small{color:var(--muted);font-size:.69rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:37px}.review-card{display:flex;flex-direction:column;justify-content:space-between;min-height:292px;margin:0;padding:29px;background:var(--paper);border-bottom:3px solid var(--gold)}.review-card blockquote{margin:0;font:400 1.3rem/1.28 var(--serif);letter-spacing:-.02em}.review-card figcaption{display:grid;gap:4px;margin-top:27px}.review-card figcaption strong{font-size:.77rem;letter-spacing:.04em}.review-card figcaption span{color:#8d6928;font-size:.66rem;letter-spacing:.04em}
.location{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--navy);color:var(--white)}.location-image{min-height:510px;overflow:hidden}.location-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.84)}.location-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:82px max(28px,calc((100vw - var(--shell))/2));padding-right:max(28px,calc((100vw - var(--shell))/2));background:linear-gradient(120deg,var(--navy),var(--navy-2))}.location .section-label{color:var(--gold-pale)}.location h2{font-size:clamp(3rem,5vw,5.2rem);line-height:.9}.location address{display:grid;gap:1px;margin:29px 0;color:#dbe0e6;font-style:normal;font-size:.92rem;line-height:1.8}
.contact{position:relative;overflow:hidden;padding:125px 0;background:var(--paper)}.contact-ring{position:absolute;width:540px;height:540px;right:-240px;top:-180px;border:1px solid rgba(200,155,60,.46);border-radius:50%;box-shadow:0 0 0 35px rgba(200,155,60,.19)}.contact-layout{position:relative;display:grid;grid-template-columns:.83fr 1.17fr;gap:80px;align-items:start}.contact h2{font-size:clamp(3.2rem,5vw,5.1rem);line-height:.9;color:var(--navy)}.contact-copy>p:not(.section-label){max-width:330px;margin:27px 0 0;color:#536070}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;color:#445164;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form label:nth-child(3),.contact-form button{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #8993a0;background:transparent;padding:8px 0 12px;color:var(--ink);font:400 .95rem var(--sans);outline:0;resize:vertical;transition:.2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8993a0;text-transform:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 2px 0 var(--gold)}.contact-form .button{justify-self:start;margin-top:10px}
.site-footer{padding:30px 0;background:#051428;color:#d2d9e1}.footer-layout{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:42px;height:42px}.footer-brand strong{font-size:.65rem}.footer-info{display:flex;gap:19px;color:#b7c0ca;font-size:.68rem}.footer-whatsapp{display:grid;gap:2px;color:var(--gold-pale);font-size:.7rem;font-weight:700;text-align:right;text-decoration:none}.footer-whatsapp span{color:#fff;font-weight:400}.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.has-js .reveal.reveal-delay{transition-delay:.14s}.has-js .reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr .8fr;gap:18px}.hero h1{font-size:clamp(3.6rem,7.3vw,5.8rem)}.portrait-frame{width:100%;height:545px}.hero-image-wrap{height:570px}.intro-layout{grid-template-columns:.35fr 1fr}.profile-panel{padding-block:70px}.review-card{padding:23px}.review-card blockquote{font-size:1.14rem}.contact-layout{gap:40px}}
@media(max-width:700px){.container{width:min(calc(100% - 34px),var(--shell))}.site-header{position:relative;background:var(--navy)}.nav-wrap{min-height:70px}.brand img{width:42px;height:42px}.brand strong{font-size:.63rem}.primary-nav{position:absolute;z-index:5;left:0;right:0;top:70px;display:none;align-items:stretch;gap:0;padding:8px 17px 18px;background:var(--navy);border-top:1px solid rgba(255,255,255,.1)}.primary-nav.is-open{display:flex;flex-direction:column}.primary-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.nav-cta{justify-content:space-between;margin-top:15px}.menu-toggle{display:grid;grid-template-columns:18px auto;align-items:center;column-gap:8px;row-gap:3px;padding:8px 0;border:0;background:transparent;color:var(--white);cursor:pointer}.menu-toggle span{grid-column:1;width:18px;height:1px;background:currentColor}.menu-toggle b{grid-column:2;grid-row:1/4;font:700 .63rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.hero{min-height:auto}.hero-layout{grid-template-columns:1fr;min-height:auto;padding-top:0}.hero-copy{padding:70px 0 42px}.hero h1{font-size:clamp(3.25rem,14vw,4.6rem)}.hero-description{margin:24px 0 28px}.hero-details{gap:25px;margin-top:48px}.hero-image-wrap{width:calc(100% + 34px);height:440px;margin-left:-17px}.portrait-frame{right:auto;left:17px;width:calc(100% - 17px);height:420px}.hero-monogram{right:10px;font-size:14rem}.portrait-caption{left:0;bottom:22px}.intro{padding:76px 0}.intro-layout{grid-template-columns:1fr;gap:4px}.intro .section-label{margin-top:0}.intro h2{font-size:clamp(2.5rem,11vw,3.6rem)}.practice{padding:74px 0}.section-head{display:block;margin-bottom:30px}.section-head .section-label{margin-bottom:17px}.practice-card{grid-template-columns:54px 1fr;gap:15px;padding:25px 0}.practice-card:hover{padding-inline:0;background:transparent}.practice-card .circle-link{grid-column:2;width:41px;height:41px;margin-top:4px}.number{font-size:1.8rem}.practice-card h3{font-size:1.7rem}.profile{grid-template-columns:1fr;min-height:0}.profile-photo{min-height:430px}.profile-panel{padding:70px 17px}.profile h2{font-size:clamp(2.55rem,11vw,3.8rem)}.reviews{padding:76px 0}.reviews-top{display:grid;gap:28px;align-items:start;padding-bottom:30px}.reviews h2{font-size:clamp(2.5rem,11vw,3.7rem)}.review-grid{grid-template-columns:1fr;gap:14px;margin-top:25px}.review-card{min-height:0;padding:25px}.location{grid-template-columns:1fr}.location-image{min-height:315px}.location-copy{padding:65px 17px}.location h2{font-size:clamp(3rem,13vw,4.4rem)}.contact{padding:78px 0}.contact-layout{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(3rem,13vw,4.5rem)}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(3),.contact-form button{grid-column:auto}.footer-layout{align-items:flex-start;flex-direction:column;gap:23px}.footer-info{display:grid;gap:3px}.footer-whatsapp{text-align:left}.contact-ring{right:-360px}.has-js .reveal{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.has-js .reveal{opacity:1;transform:none;transition:none}.button,.nav-cta,.circle-link,.text-link span{transition:none}}
