@font-face{font-family:Montreal;src:url('assets/NeueMontreal-Light.woff2') format('woff2');font-weight:300;font-display:block}@font-face{font-family:Montreal;src:url('assets/NeueMontreal-Regular.woff2') format('woff2');font-weight:400;font-display:block}@font-face{font-family:Montreal;src:url('assets/NeueMontreal-Medium.woff2') format('woff2');font-weight:500;font-display:block}
:root{--ink:#1c2330;--ivory:#f3efe6;--sky:#a7bfd0;--sun:#e6c06a;--mineral:#c9ccd0;--gutter:clamp(24px,5vw,96px);--section:clamp(64px,6.7vw,104px);--out:cubic-bezier(.23,1,.32,1);--heading:clamp(44px,5.28vw,88px)}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable;scroll-padding-top:24px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--ivory);color:var(--ink);font:400 18px/1.5 Montreal,Arial,sans-serif}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit;border:0}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:300}h2{font-size:var(--heading);line-height:1.04;letter-spacing:-.025em}h3{font-size:31px;line-height:1.15}p{max-width:65ch}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}.skip{position:fixed;top:8px;left:8px;background:var(--ivory);padding:12px;z-index:20;transform:translateY(-200%)}.skip:focus{transform:none}.header{display:flex;align-items:center;justify-content:space-between;padding:32px var(--gutter);background:var(--sky);border-bottom:1px solid #1c23302e;gap:32px}.logo{width:262px;height:auto}.header nav{display:flex;align-items:center;gap:32px;font-size:14px}.header nav>a{display:grid;min-height:44px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 22px;background:var(--ink);color:var(--ivory);min-height:56px;font-size:15px;font-weight:500;transition:transform var(--duration-quick) var(--out)}.button span{font-size:20px;line-height:1}.button:active,.contact-option:active{transform:scale(.97)}.yellow{background:var(--sun)!important;color:var(--ink)!important}.menu-toggle{display:none;background:none;text-transform:uppercase;font-size:10px;min-height:44px;min-width:48px}.hero{display:grid;grid-template-columns:minmax(0,800fr) minmax(0,432fr);gap:64px;padding:48px var(--gutter);background:var(--sky)}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:32px;min-width:0}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.hero h1{font-size:clamp(64px,9.17vw,156px);line-height:.97;letter-spacing:-.035em}.motifs{display:flex;gap:40px;align-items:center}.motifs img{width:64px;height:64px}.hero-lead{font-size:36px;line-height:1.1}.intro-copy{max-width:480px}.hero-photo{aspect-ratio:3/4;position:relative;overflow:hidden;align-self:start}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:80% center}.principles{padding:28px var(--gutter);background:var(--sun);font-size:clamp(24px,3.2vw,48px);line-height:1.15;text-transform:uppercase;text-align:center}.principles p{max-width:none;text-wrap:balance}.section{padding:var(--section) var(--gutter)}.about{display:grid;grid-template-columns:46fr 54fr;gap:96px}.about-motifs{display:flex;gap:32px;margin-top:32px}.about-motifs img{width:130px;height:130px}.about-copy{display:flex;flex-direction:column;gap:32px}.large{font-size:32px;font-weight:300;line-height:1.3}.areas{list-style:none;margin:0;padding:28px 0 0;border-top:1px solid #1c233038;font-size:22px;font-weight:300;display:grid;gap:14px}.consult{background:var(--sky)}.consult-head{display:grid;grid-template-columns:3fr 2fr;gap:96px;margin-bottom:64px}.consult-head h2{font-size:clamp(43px,5vw,80px);line-height:1.15}.consult-head>p{font-size:24px;line-height:1.4}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.steps article{border-top:1px solid #1c233033;padding-top:18px}.steps p{margin-top:18px}.quote{background:var(--sun);display:grid;grid-template-columns:864fr 340fr;gap:64px;align-items:center}.quote blockquote{font-size:clamp(42px,5.42vw,90px);font-weight:300;line-height:1.02;letter-spacing:-.025em}.quote figcaption{margin-top:28px;font-size:16px}.peer-seed{width:100%;max-width:340px;height:auto;justify-self:center}.quote .network{max-width:340px}.peers{background:var(--mineral);display:grid;grid-template-columns:752fr 380fr;gap:96px;align-items:center}.peers h2{font-size:clamp(43px,5vw,80px)}.peers p{font-size:20px;max-width:600px;margin:28px 0}.network{width:100%;max-width:380px;aspect-ratio:380/334;justify-self:center}.network img{width:100%;height:100%;object-fit:contain}.faq{display:grid;grid-template-columns:456fr 744fr;gap:96px}.faq article{border-top:1px solid #1c233038;padding-top:12px;margin-bottom:24px}.faq h3{font-size:26px;font-weight:400}.faq p{font-size:17px;margin-top:12px}footer{background:var(--ink);color:var(--ivory)}.footer-top{display:grid;grid-template-columns:2fr 1fr;gap:96px}.footer-top h2{font-size:clamp(43px,5.42vw,88px);line-height:1.08}.footer-top p{font-size:28px;line-height:1.3;margin-bottom:28px}.footer-bottom{margin-top:64px;border-top:1px solid #f3efe633;padding-top:64px;display:flex;justify-content:space-between;gap:32px}.signature{font-size:32px;font-weight:300;margin-bottom:12px}.footer-bottom p:not(.signature){font-size:14px}address{font-style:normal;display:flex;flex-direction:column;gap:12px;font-size:19px}address a:first-child{font-size:24px}dialog{border:0;padding:0;background:var(--ivory);color:var(--ink);width:min(540px,calc(100% - 32px));border-radius:32px;box-shadow:0 16px 48px #1c233029;max-height:calc(100dvh - 32px);overscroll-behavior:contain}dialog::backdrop{background:#1c233052;backdrop-filter:blur(5px)}.dialog-content{padding:40px;display:flex;flex-direction:column;gap:24px}.close{align-self:flex-end;background:none;min-height:44px;padding:0 0 0 20px;font-size:14px}.dialog-content h2{font-size:44px;line-height:1.15}.dialog-content>p{font-size:17px}.contact-option{display:flex;flex-direction:column;gap:5px;border-radius:16px;background:var(--ink);color:var(--ivory);padding:16px 18px;transition:transform var(--duration-quick) var(--out)}.contact-option strong{font-size:18px;font-weight:500}.contact-option small{font-size:14px;overflow-wrap:anywhere}.contact-option span{float:right}#menu nav{display:grid;gap:16px}#menu nav a{font-size:28px;min-height:52px}.scroll-lock{overflow:hidden}#intro{position:fixed;inset:0;background:var(--ink);z-index:100;display:grid;place-items:center;pointer-events:none;transition:opacity var(--duration-quick) var(--out)}#intro[hidden]{display:none}#intro img{width:104px;filter:brightness(0) saturate(100%) invert(80%) sepia(48%) saturate(487%) hue-rotate(355deg);animation:seed var(--duration-fast) var(--out) both}#intro.leaving{opacity:0}@keyframes seed{from{opacity:.12;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(hover:hover) and (pointer:fine){a:hover{text-decoration:underline;text-underline-offset:4px}.button:hover{text-decoration:underline;text-underline-offset:4px}}@media(max-width:1100px){.header nav{gap:18px}.header .logo{width:220px}.header nav .button{display:none}.hero{gap:36px}.about,.consult-head,.peers,.faq,.footer-top{gap:48px}.motifs{gap:26px}}@media(max-width:700px){:root{--heading:44px}.header{padding:25px 24px}.header .logo{width:218px}.header nav{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:36px 24px;gap:36px}.hero-copy{gap:24px}.hero h1{font-size:clamp(48px,16.15vw,84px)}.hero-lead{font-size:30px}.motifs img{width:52px;height:52px}.hero-copy .button{width:100%}.hero-photo{aspect-ratio:4/5}.principles{padding:24px}.about,.consult-head,.steps,.quote,.peers,.faq,.footer-top{grid-template-columns:1fr}.about{gap:36px}.about-motifs img{width:90px;height:90px}.large{font-size:25px}.consult-head{gap:24px;margin-bottom:40px}.consult-head>p{font-size:20px}.steps{gap:36px}.steps h3{font-size:26px}.quote{gap:36px}.peer-seed{max-width:180px}.quote .network{max-width:280px}.quote figcaption{font-size:14px}.peers{gap:40px}.peers .button{width:100%}.network{max-width:280px}.faq{gap:32px}.faq h2{font-size:48px}.faq h3{font-size:22px}.footer-top{gap:32px}.footer-top p{font-size:23px}.footer-top .button{width:100%}.footer-bottom{margin-top:40px;padding-top:40px;flex-direction:column}.signature{font-size:24px}address{font-size:17px}address a:first-child{font-size:21px}dialog{margin:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 20px);border-radius:28px 28px 0 0}.dialog-content{padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px))}.dialog-content h2{font-size:36px}.contact-option small{font-size:13px}#intro img{width:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}#intro{display:none}}@media(prefers-reduced-transparency:reduce){dialog::backdrop{backdrop-filter:none;background:#1c2330b3}}

/* Keep the mobile header and long contact address inside narrow viewports. */
@media(max-width:700px){.header{gap:16px}.header>a{min-width:0}.header .logo{max-width:100%}.menu-toggle{flex-shrink:0}address a{overflow-wrap:anywhere}}

/* Editorial sections added after the clinical content review. */
:root{--reading:20px;--copy-gap:24px;--column-gap:clamp(32px,6vw,96px);--rule:#1c233038}
h2,h3{text-wrap:balance}p{text-wrap:pretty}
.bio,.practice{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:var(--column-gap);border-top:1px solid var(--rule)}
.bio-copy{display:grid;gap:var(--copy-gap);font-size:var(--reading);max-width:60ch}
.about{align-items:center}
.practice .areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--copy-gap) 32px;border:0;padding:0;font-size:var(--reading);font-weight:400;align-self:start}
.practice .areas li{border-top:1px solid var(--rule);padding-top:14px}
.process-steps{list-style:none;margin:0;padding:0}
.process-steps li{min-width:0;border-top:1px solid var(--rule);padding-top:18px}
.step-number{display:block;font-size:14px;margin-bottom:var(--copy-gap)}
.consultation-detail{background:var(--ivory)}
@media(max-width:1100px){.practice{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}}
@media(max-width:700px){.bio,.practice{grid-template-columns:1fr;gap:36px}.practice .areas{grid-template-columns:1fr;gap:20px}.bio-copy{font-size:18px}.motifs{gap:16px}.step-number{margin-bottom:16px}}

/* A contrasting portrait section gives the middle of the page a clear rhythm. */
.bio{background:var(--ink);color:var(--ivory);border-top:0}
.bio-identity{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.bio-motif{width:112px;height:112px}
.bio-copy{align-self:center}
.bio ::selection{background:var(--sun);color:var(--ink)}
@media(max-width:700px){.bio-identity{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}.bio-motif{width:80px;height:80px;flex-shrink:0}}

/* One motion scale for the page, with native touch scrolling and reduced motion. */
:root{--duration-quick:150ms;--duration-fast:250ms;--duration-reveal:500ms;--duration-stagger:40ms;--distance-reveal:12px;--modal-scale:.96}
.reveal{transition:opacity var(--duration-reveal) var(--out),transform var(--duration-reveal) var(--out);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-pending{opacity:0;transform:translateY(var(--distance-reveal))}
.reveal.visible{opacity:1;transform:none}
.button span,.contact-option strong span{display:inline-block;transition:transform var(--duration-quick) var(--out)}
@media(hover:hover) and (pointer:fine){.button:hover span,.contact-option:hover strong span{transform:translate(2px,-2px)}}
dialog::backdrop{animation:backdrop-enter var(--duration-fast) var(--out) both}
dialog.is-closing::backdrop{animation:backdrop-exit var(--duration-quick) var(--out) both}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes backdrop-exit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.is-pending{opacity:1;transform:none;transition:none}.button:hover span,.contact-option:hover strong span{transform:none}}

/* Give selected visual anchors a more noticeable entrance. */
:root{--distance-emphasis:30px;--scale-reveal:.98}
.reveal-visual.is-pending{transform:translateY(var(--distance-emphasis)) scale(var(--scale-reveal))}
@media(prefers-reduced-motion:reduce){.reveal-visual.is-pending{transform:none}}

.professional-records{font-size:16px;line-height:1.5;border-top:1px solid #f3efe633;padding-top:24px}
