:root{--navy:#103d58;--deep:#092e45;--ink:#173e54;--text:#36596d;--blue:#9fbedc;--pale:#e5eff7;--gold:#99651f;--light-gold:#e4bf81;--white:#fff;--line:#c5d6e2;--body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:Georgia,"Times New Roman",serif;--header-height:86px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}body{margin:0;background:#f8fbfd;color:var(--text);font-family:var(--body);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bf872b;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}p+p{margin-top:1.1em}h2{font-family:var(--display);font-weight:400;font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.1;letter-spacing:-.025em;color:var(--ink)}h2 em{font-weight:400;color:var(--gold)}h3{font-family:var(--display);font-weight:400;color:var(--ink)}.container{width:min(1180px,calc(100% - 112px));margin-inline:auto}.section{padding:112px 0}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin-bottom:25px}.eyebrow.light{color:var(--light-gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:15px;padding:12px 20px;z-index:200;background:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,251,253,.97);border-bottom:1px solid #d4e2ec;backdrop-filter:blur(16px)}.nav-wrap{width:min(1320px,calc(100% - 80px));min-height:var(--header-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-family:var(--display);font-size:1.65rem;letter-spacing:.055em;color:var(--gold)}nav{display:flex;align-items:center;gap:33px}nav a{font-size:.875rem;color:var(--ink);padding:8px 0;white-space:nowrap;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current="location"]{border-bottom-color:var(--gold);color:var(--gold)}nav .nav-contact{border:1px solid #a9844e;padding:10px 20px}nav .nav-contact:hover{background:#f0e9dd}.menu-toggle{display:none}.hero{background:var(--blue);text-align:center;overflow:hidden;padding:0}
.hero-art{width:min(950px,100%);position:relative;margin:0 auto}
.hero-atmosphere{position:absolute;top:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);pointer-events:none;overflow:hidden;--atmosphere-fade:linear-gradient(to bottom,transparent,black 15%,black 78%,transparent);-webkit-mask-image:var(--atmosphere-fade);mask-image:var(--atmosphere-fade)}
.hero-atmosphere svg{display:block;width:100%;height:100%}
.ambient-bubbles{animation:ambient-drift 14s ease-in-out infinite alternate;will-change:transform,opacity}
.ambient-bubbles-2{animation-duration:19s;animation-delay:-7s}
.ambient-bubbles-3{animation-duration:17s;animation-delay:-11s}
.ambient-sparks{animation:ambient-shimmer 7s ease-in-out infinite alternate}
.ambient-sparks-2{animation-duration:11s;animation-delay:-5s}
@keyframes ambient-drift{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(-5px)}}
@keyframes ambient-shimmer{from{opacity:.35}to{opacity:1}}
.hero-details{position:relative;padding:8px 24px 29px}
.service{scroll-margin-top:calc(var(--header-height) + 20px)}
.questions-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}
.question-list{border-top:1px solid var(--line)}
.question{padding:25px 0;border-bottom:1px solid var(--line)}
.question h3{font-size:1.4rem;line-height:1.35;margin-bottom:12px}
.question p{font-size:1rem;overflow-wrap:anywhere}
.question a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.questions-layout{grid-template-columns:1fr;gap:32px}}

/* Separate masks avoid browser differences in combining mask layers. */
.logo-blend{position:relative;--logo-side-fade:linear-gradient(to right,transparent 0%,transparent 2%,rgb(0 0 0 / .03) 3%,rgb(0 0 0 / .3) 6%,rgb(0 0 0 / .8) 9%,black 12%,black 88%,rgb(0 0 0 / .8) 91%,rgb(0 0 0 / .3) 94%,rgb(0 0 0 / .03) 97%,transparent 98%,transparent 100%);-webkit-mask-image:var(--logo-side-fade);mask-image:var(--logo-side-fade)}
.hero-art img{--logo-end-fade:linear-gradient(to bottom,transparent 0%,transparent .3%,rgb(0 0 0 / .12) 1%,rgb(0 0 0 / .5) 2%,rgb(0 0 0 / .88) 3%,black 3.8%,black 86%,rgb(0 0 0 / .94) 89%,rgb(0 0 0 / .65) 93%,rgb(0 0 0 / .16) 97%,transparent 100%);width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;-webkit-mask-image:var(--logo-end-fade);mask-image:var(--logo-end-fade)}
.hero-intro{position:relative;margin:0 auto;max-width:800px}.hero-intro .eyebrow{color:var(--ink);margin-bottom:10px}.credentials{font-weight:400;letter-spacing:.04em;text-transform:none;margin-left:8px}.hero-description{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2.05rem);color:var(--ink);line-height:1.4}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:12px 25px;background:var(--navy);color:white;font-size:.875rem;letter-spacing:.015em;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.hero-intro .button{margin-top:24px}.location-note{display:block;margin-top:13px;font-family:var(--body);font-size:.875rem;font-weight:400;line-height:1.5;color:var(--ink);text-wrap:balance}.explore{display:inline-flex;align-items:center;gap:15px;margin-top:34px;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase}.explore span{font-size:1.2rem}.approach{background:var(--navy);color:#dfebf2}.approach-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:105px}.approach h2{color:white}.approach h2 em{color:var(--light-gold)}.approach-copy{padding-top:48px;max-width:590px}.large-copy{font-size:1.5rem;line-height:1.55;color:white;margin-bottom:24px}.approach-copy strong{font-weight:600;color:white}.approach-note{display:flex;gap:22px;margin-top:34px;align-items:flex-start;color:var(--light-gold);font-size:.9375rem}.gold-line{width:40px;height:1px;background:var(--light-gold);margin-top:14px;flex-shrink:0}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:70px;margin-bottom:61px}.section-heading>p{max-width:370px;margin:0 0 8px auto}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:65px 1fr 1.25fr;gap:35px;align-items:start;padding:37px 0;border-bottom:1px solid var(--line)}.service-number{font-size:.875rem;letter-spacing:.07em;color:var(--gold);padding-top:6px}.service h3{font-size:1.75rem;line-height:1.3;max-width:320px}.service p{font-size:1rem;max-width:490px}.about{background:var(--pale);border-top:1px solid #dae5ed}.about-layout{display:grid;grid-template-columns:1fr 1.17fr;gap:95px;align-items:center}.portrait-wrap{position:relative;padding:18px 18px 0 0}.portrait-wrap:before{content:"";position:absolute;inset:0 0 70px 24px;border:1px solid #b38b53;pointer-events:none}.portrait{position:relative;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 45%}.portrait-caption{margin:20px 0 0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.about-copy h2{font-size:clamp(2.4rem,4vw,3.9rem)}
.about-copy .name{margin:0;line-height:1.12}
.bio-credentials{display:flex;flex-wrap:wrap;gap:.25rem .6rem;margin:12px 0 26px;font-family:var(--body);font-size:1rem;font-weight:400;line-height:1.65;letter-spacing:.02em;color:var(--text)}
.bio-credentials span{white-space:nowrap}
.about-copy>p:not(.eyebrow){font-size:1rem}.qualifications{list-style:none;padding:24px 0 0;margin:30px 0 0;border-top:1px solid #bccedb;display:grid;grid-template-columns:1fr;gap:14px;font-size:.9375rem;line-height:1.6;color:var(--ink)}.qualifications li{padding-left:14px;border-left:2px solid #b7945e}.contact{background:var(--deep);color:#dce9f1}.contact-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end;margin-bottom:65px}.contact h2{color:white}.contact h2 em{color:var(--light-gold)}.contact-heading>p{margin-bottom:6px}.contact-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:40px;border-top:1px solid #446073;padding-top:32px}.contact-block h3{font-family:var(--body);font-size:.875rem;text-transform:uppercase;letter-spacing:.13em;color:var(--light-gold);margin-bottom:20px}.contact-value{font-size:1.35rem;color:white;line-height:1.5;display:inline-block}.contact-value:hover{text-decoration:underline;text-underline-offset:6px}.contact-value.email{font-size:1.08rem;overflow-wrap:anywhere}.contact-actions{display:flex;gap:25px;margin-top:20px;font-size:.875rem}.contact-actions a,.directions{color:var(--light-gold)}.contact-actions a:hover,.directions:hover{text-decoration:underline;text-underline-offset:6px}.contact-block>p{font-size:.875rem;max-width:260px;margin-top:17px}.contact-block address{font-style:normal;font-size:1rem;line-height:1.7}.directions{display:inline-block;font-size:.875rem;margin-top:18px}.site-footer{padding:27px 0;background:#f1f6fa}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.site-footer .wordmark{font-size:1.3rem}.footer-brand{display:inline-flex;align-items:center;gap:12px}.footer-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}.site-footer p{font-size:.75rem;letter-spacing:.035em}.site-footer a:last-child{font-size:.75rem}
@media(min-width:1100px) and (min-height:780px){.hero-art{width:min(950px,82vh)}.explore{margin-top:25px}}
@media(max-width:1050px){.container{width:calc(100% - 72px)}.nav-wrap{width:calc(100% - 48px)}nav{gap:20px}.approach-layout{gap:55px}.about-layout{gap:50px}.service{grid-template-columns:40px 1fr 1.2fr;gap:24px}.contact-grid{gap:28px;grid-template-columns:1fr 1.2fr}.contact-block:last-child{grid-column:1 / -1;border-top:1px solid #446073;padding-top:28px}.contact-block:last-child address{display:inline-block;margin-right:30px}.contact-block:last-child .directions{vertical-align:top;margin-top:0}.footer-inner{flex-wrap:wrap}.site-footer p{order:3;width:100%}}
@media(max-width:760px){:root{--header-height:72px}.container{width:calc(100% - 44px)}.section{padding:72px 0}.nav-wrap{width:calc(100% - 40px);gap:15px;flex-wrap:wrap}.wordmark{font-size:1.4rem}.menu-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;background:none;border:0;color:var(--ink);font-size:.875rem;padding:6px}.menu-toggle span{font-size:1.2rem}nav{width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:0 0 18px}nav.is-open{display:flex}nav a{padding:11px 4px}nav .nav-contact{border:0;padding:11px 4px}.hero-details{padding:0 0 28px}.hero-art{width:100%;margin-bottom:0}.hero-intro{padding:23px 22px 0;margin:0}.hero-intro .eyebrow{font-size:.75rem;letter-spacing:.09em}.hero-description{font-size:1.6rem}.desktop-break{display:none}.hero-intro .button{width:100%;max-width:340px;margin-top:22px}.location-note{font-size:.8125rem}.explore{margin-top:26px}.approach-layout{grid-template-columns:1fr;gap:30px}.approach-copy{padding-top:0}.large-copy{font-size:1.25rem}.eyebrow{margin-bottom:19px;font-size:.8125rem}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:37px}.section-heading>p{max-width:none;margin:0}.service{grid-template-columns:30px 1fr;gap:7px 13px;padding:27px 0}.service h3{font-size:1.6rem;max-width:none}.service p{grid-column:2;font-size:1rem}.service-number{padding-top:4px;font-size:.8125rem}.about-layout{grid-template-columns:1fr;gap:43px}.portrait-wrap{width:min(400px,100%);margin:0 auto}.portrait{aspect-ratio:1/1}.portrait-caption{font-size:.75rem}.about-copy h2{font-size:2.8rem}.qualifications{gap:14px;font-size:.875rem}.contact-heading{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-block+.contact-block{border-top:1px solid #446073;padding-top:25px}.contact-block h3{margin-bottom:12px}.contact-value{font-size:1.5rem}.contact-value.email{font-size:1.1rem}.contact-block:last-child{grid-column:auto}.contact-block:last-child address{display:block}.contact-block:last-child .directions{margin-top:18px}.contact-actions{margin-top:15px}.footer-inner{gap:15px}.site-footer{padding:24px 0}.site-footer p{font-size:.75rem}.site-footer a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
