button{font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(1.5rem,5vw,5rem)}.section-label{font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:#c4806a4d;padding:.3rem .75rem;border-radius:2px;display:inline-block}.hero-label{animation:fadeUp .7s var(--ease) .05s both}.nav-cta{display:inline-flex;align-items:center;background:var(--rose);color:#fff;font-family:var(--sans);font-weight:500;font-size:.88rem;padding:.6rem 1.4rem;border-radius:100px;transition:background .25s,transform .2s var(--ease)}.nav-cta:hover{background:var(--rose-deep);transform:translateY(-1px)}.nav-cta:active{transform:scale(.97) translateY(1px)}#hero{min-height:100dvh;display:grid;grid-template-columns:1fr 420px;gap:5rem;align-items:center;padding-top:72px;padding-inline:clamp(1.5rem,5vw,5rem);position:relative}#hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 40%,rgba(196,128,106,.06) 0%,transparent 60%);pointer-events:none}.hero-left{padding-top:3rem;padding-bottom:6rem}.hero-name{font-family:var(--serif);font-size:clamp(3.8rem,7vw,6.4rem);color:var(--ink);font-weight:400;line-height:.95;letter-spacing:-.03em;margin-top:1.4rem;margin-bottom:.6rem;animation:fadeUp 1s var(--ease) .15s both}.hero-role{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);color:var(--rose);font-weight:300;margin-bottom:2rem;animation:fadeUp .8s var(--ease) .3s both}.hero-intro{font-family:var(--sans);font-weight:300;font-size:1.05rem;color:var(--ink-dim);max-width:55ch;line-height:1.85;margin-bottom:2.5rem;white-space:pre-line;animation:fadeUp .8s var(--ease) .45s both}.hero-tags{display:flex;flex-wrap:wrap;gap:.6rem;animation:fadeUp .8s var(--ease) .55s both}.hero-tag{font-family:var(--sans);font-size:.78rem;color:var(--ink-dim);border:1px solid var(--ink-ghost);padding:.35rem .9rem;border-radius:100px;transition:border-color .2s,color .2s}.hero-tag:hover{border-color:var(--rose);color:var(--rose)}.hero-right{display:flex;align-items:center;justify-content:center;padding-block:5rem;position:relative}.photo-frame{position:relative;width:100%;max-width:380px;animation:fadeUp 1.1s var(--ease) .2s both}.photo-frame:before{content:"";position:absolute;inset:-12px -12px 12px 12px;border:1px solid rgba(196,128,106,.25);border-radius:4px;z-index:0;pointer-events:none}.hero-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:4px;display:block;position:relative;z-index:1}.photo-caption{position:absolute;bottom:-2.2rem;right:0;font-family:var(--serif);font-style:italic;font-size:.82rem;color:var(--ink-dim);z-index:2}.hero-deco{position:absolute;bottom:4rem;left:-3rem;width:120px;opacity:.1;pointer-events:none;z-index:0}#philosophy{background:var(--parchment);padding:7rem 0 9rem;border-top:1px solid rgba(196,128,106,.18);border-bottom:1px solid rgba(196,128,106,.18);overflow:hidden;position:relative}#philosophy:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(196,128,106,.07) 0%,transparent 65%);pointer-events:none}.carousel{position:relative;overflow:hidden}.carousel:focus-visible{outline:2px solid var(--rose);outline-offset:4px;border-radius:2px}.carousel-track{display:flex;transition:transform .55s var(--ease);will-change:transform}.carousel-slide{min-width:100%;display:grid;grid-template-rows:auto auto 1fr;row-gap:0;padding-inline:clamp(0rem,6vw,8rem);padding-block:.5rem}.slide-index{font-family:var(--sans);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:500;padding-bottom:1.4rem}.slide-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);color:var(--ink);font-weight:400;line-height:1.1;letter-spacing:-.02em;margin:0;padding-bottom:2rem;border-top:1px solid rgba(196,128,106,.25);padding-top:1.6rem;text-wrap:balance}.slide-body{font-family:var(--sans);font-weight:300;font-size:clamp(1rem,1.5vw,1.1rem);color:var(--ink-dim);line-height:1.85;max-width:72ch}.slide-body p+p{margin-top:1.2rem}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:3.5rem;padding-inline:clamp(0rem,6vw,8rem)}.carousel-dots{display:flex;gap:.55rem;align-items:center}.carousel-dot{width:8px;height:8px;border-radius:100px;border:none;background:var(--ink-ghost);cursor:pointer;padding:0;transition:background .35s var(--ease),width .35s var(--ease),transform .2s var(--ease)}.carousel-dot[aria-selected=true]{background:var(--rose);width:28px}.carousel-dot:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.carousel-counter{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;color:var(--ink-dim);font-weight:300;font-variant-numeric:tabular-nums;user-select:none}.carousel-arrows{display:flex;gap:.6rem}.carousel-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-ghost);background:transparent;color:var(--ink);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}.carousel-arrow:hover{border-color:var(--rose);color:var(--rose);transform:scale(1.08)}.carousel-arrow:active{transform:scale(.95)}.carousel-arrow:focus-visible{outline:2px solid var(--rose);outline-offset:3px}#practice{background:var(--bg);padding:7rem 0 9rem}.practice-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:7rem;align-items:start;margin-top:3rem}.practice-areas{display:flex;flex-direction:column;gap:0}.practice-area-item{display:flex;align-items:flex-start;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--ink-ghost);cursor:default}.practice-area-item:first-child{border-top:1px solid var(--ink-ghost)}.area-dot{width:6px;height:6px;border-radius:50%;background:var(--rose);flex-shrink:0;margin-top:.55em;transition:transform .25s var(--ease)}.practice-area-item:hover .area-dot{transform:scale(1.6)}.area-name{font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:400;line-height:1.4;transition:color .25s var(--ease),transform .3s var(--ease);display:inline-block}.practice-area-item:hover .area-name{color:var(--rose);transform:translate(.3rem)}.practice-section-title{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);color:var(--ink);font-weight:400;line-height:1.15;margin-bottom:1.5rem;text-wrap:balance}.practice-section-title em{font-style:italic;color:var(--rose)}.practice-body{font-family:var(--sans);font-weight:300;font-size:1rem;color:var(--ink-dim);line-height:1.8;max-width:62ch}.practice-body p+p{margin-top:1.2rem}#formation{background:var(--bg-soft);padding:8rem 0;border-top:1px solid var(--ink-ghost)}.formation-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}.formation-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);color:var(--ink);font-weight:400;margin-top:1rem;line-height:1.1;text-wrap:balance}.formation-sub{font-family:var(--sans);font-size:1rem;color:var(--ink-dim);font-weight:300;line-height:1.7}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--rose),rgba(196,128,106,.1))}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid var(--ink-ghost);position:relative}.timeline-item:last-child{border-bottom:none}.timeline-marker{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:.2rem}.timeline-dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--rose);background:var(--bg-soft);flex-shrink:0;position:relative;z-index:1;transition:background .25s,transform .25s var(--ease)}.timeline-item:hover .timeline-dot{background:var(--rose);transform:scale(1.2)}.timeline-year{font-family:var(--sans);font-size:.7rem;color:var(--ink-dim);font-weight:300;letter-spacing:.05em}.timeline-role{font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:400;margin-bottom:.3rem;transition:color .2s}.timeline-item:hover .timeline-role{color:var(--rose)}.timeline-where{font-family:var(--sans);font-size:.85rem;color:var(--ink-dim);font-weight:300}#cta{background:var(--parchment);padding:9rem 0;border-top:1px solid rgba(196,128,106,.18);position:relative;overflow:hidden}#cta:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 50%,rgba(196,128,106,.09) 0%,transparent 60%);pointer-events:none}.cta-watermark{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:300px;opacity:.07;pointer-events:none}.cta-content{max-width:600px;position:relative;z-index:1}.cta-headline{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);color:var(--ink);font-weight:400;line-height:1.1;margin-bottom:1rem;margin-top:1.2rem;text-wrap:balance}.cta-headline em{font-style:italic;color:var(--rose)}.cta-sub{font-family:var(--sans);font-weight:300;font-size:1rem;color:var(--ink-dim);line-height:1.7;margin-bottom:2.5rem;max-width:480px}.btn-primary{position:relative;overflow:hidden;display:inline-flex;align-items:center;background:var(--rose);color:#fff;font-family:var(--sans);font-weight:500;font-size:.95rem;padding:1rem 2.4rem;border-radius:4px;border:none;cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s;text-decoration:none}.btn-primary:after{content:"";position:absolute;inset:0;background:var(--rose-deep);transform:translate(-101%);transition:transform .4s var(--ease);z-index:0}.btn-primary span{position:relative;z-index:1}.btn-primary:hover:after{transform:translate(0)}.btn-primary:hover{box-shadow:0 8px 24px #c4806a4d}.btn-primary:active{transform:scale(.98) translateY(1px)}.btn-primary:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}@media(max-width:1024px){#hero{grid-template-columns:1fr;min-height:auto;padding-top:100px;gap:3rem}.hero-right{order:-1;padding-block:2rem}.photo-frame{max-width:280px;margin:0 auto}.carousel-controls{flex-direction:column;align-items:flex-start;gap:1.5rem}.practice-grid{grid-template-columns:1fr;gap:3rem}.formation-header{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:640px){.timeline-item{grid-template-columns:64px 1fr;gap:1rem}#hero{padding-block:2rem 4rem}.photo-frame{max-width:min(320px,88vw)}.hero-photo{aspect-ratio:2/3}}
