@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}

:root{--ink:#163440;--navy:#142e39;--paper:#faf9f6;--gold:#a87b42;--muted:#54656b;--line:#d8ddda;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-.035em}em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(2.65rem,4.6vw,4.9rem)}p{color:var(--muted)}.wrap{width:min(1232px,88%);margin-inline:auto}.section{padding-block:112px}.eyebrow,.section-label>span{font-size:.75rem;font-weight:600;letter-spacing:.16em;color:var(--ink)}.nav{height:102px;width:min(1320px,92%);margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:2.9rem;letter-spacing:-.09em;line-height:1}.wordmark span{color:var(--gold)}.nav nav{display:flex;gap:40px;align-items:center;font-size:.875rem}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0}.nav-contact span{margin-left:16px}.hero{position:relative;display:grid;grid-template-columns:1.14fr 1fr;gap:70px;padding:72px 0 110px;align-items:center}.hero-copy{padding-bottom:26px}.hero h1{font-size:clamp(4rem,6.15vw,6.5rem);margin-top:28px}.hero h1 em{color:var(--gold);font-size:.91em;line-height:1.15}.hero-description{font-size:1.06rem;line-height:1.75;margin-top:32px}.hero-actions,.contact-actions{display:flex;gap:32px;align-items:center;margin-top:31px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:15px 24px;border-radius:3px;font-size:.875rem;line-height:1.5;transition:transform .45s cubic-bezier(.22,1.4,.4,1),box-shadow .3s,background .3s}.primary{background:var(--navy);color:white}.button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #142e3914}.primary:hover{background:#254b58}.text-link{font-size:.875rem;border-bottom:1px solid #879498;padding-bottom:6px}.text-link span{display:inline-block;margin-left:14px;transition:transform .4s cubic-bezier(.2,1.5,.4,1)}.text-link:hover span{transform:translate(2px,-2px)}.hero-location{font-size:.75rem;letter-spacing:.1em;display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:48px;color:var(--muted);max-width:480px}.small-rule{width:24px;height:1px;background:var(--gold)}.location-separator{color:#89948f}.hero-visual{position:relative;padding-right:24px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.photo-mat{background:#e9e6df;padding:12px;border-radius:48% 48% 4px 4px;position:relative}.hero-photo{width:100%;height:560px;object-fit:cover;object-position:center 36%;border-radius:48% 48% 2px 2px}.portrait-caption{display:flex;align-items:center;justify-content:space-between;margin:18px 0 0 7px;gap:16px}.portrait-caption span:first-child{font-size:.75rem;letter-spacing:.16em}.portrait-caption span:last-child{font-family:Georgia,serif;font-style:italic;font-size:1rem}.portrait-note{position:absolute;bottom:105px;left:-45px;display:flex;align-items:center;gap:16px;background:var(--paper);padding:22px 26px;box-shadow:0 8px 38px #142e3912;border:1px solid #dfddd3;border-radius:3px;line-height:1.6;font-size:.875rem;animation:gentle-float 7s ease-in-out infinite}.note-symbol{font-size:2.5rem;font-family:Georgia,serif;color:var(--gold)}.scroll-cue{position:absolute;bottom:35px;left:0;display:flex;align-items:center;gap:25px;font-size:.75rem;letter-spacing:.16em}.scroll-arrow{font-size:1.3rem;animation:soft-bounce 3.8s ease-in-out infinite}.qualities{background:var(--navy);color:#f4f4ee;display:flex;justify-content:center;align-items:center;gap:clamp(18px,3vw,48px);min-height:85px;padding:24px;font-size:.75rem;letter-spacing:.14em}.qualities span:nth-child(even){color:#d4b382;font-size:1.3rem}.about{display:grid;grid-template-columns:.75fr 1.3fr;gap:100px}.section-label{display:flex;flex-direction:column;justify-content:space-between}.mini-monogram{font-family:var(--serif);font-size:12rem;line-height:1;color:#e4e8e3;padding-bottom:22px}.about-copy h2{margin-bottom:34px}.about-copy p{max-width:660px;margin-bottom:22px}.about-copy .lead{font-size:1.2rem;line-height:1.65;color:var(--ink)}.signature{font-family:Georgia,serif;font-style:italic;font-size:2.4rem;margin-top:35px}.signature span{display:block;font-family:var(--sans);font-style:normal;font-size:.75rem;letter-spacing:.16em;margin-top:4px;color:var(--muted)}.approach{background:#edf1ef}.section-heading .eyebrow{margin-bottom:25px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.approach-grid article{border-top:1px solid #bbc8c5;padding-top:25px}.number{font-size:.75rem;color:var(--gold);letter-spacing:.05em}.approach-grid h3{font-family:Georgia,serif;font-weight:400;font-size:1.5rem;margin:20px 0 16px}.approach-grid p{font-size:.95rem}.journey .section-heading{margin-bottom:58px}.experience{display:grid;grid-template-columns:1fr 2.7fr;gap:40px;padding:37px 0;border-top:1px solid var(--line)}.experience-date{font-size:.75rem;letter-spacing:.08em;padding-top:8px;color:var(--muted)}.role-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.role-top h3{font-weight:500;font-size:1.3rem;line-height:1.5}.role-tag{font-size:.75rem;letter-spacing:.09em;border:1px solid var(--line);border-radius:20px;padding:4px 10px;white-space:nowrap}.employer{font-size:.95rem;margin:7px 0 17px;color:var(--ink)}.employer span{color:var(--muted);margin-left:16px}.experience p:not(.employer){max-width:715px}.experience details{margin-top:20px}summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:.875rem;max-width:170px}summary::-webkit-details-marker{display:none}summary span{font-size:1.3rem;transition:transform .35s}details[open] summary span{transform:rotate(45deg)}details ul{padding-left:20px;color:var(--muted);font-size:.95rem;margin:20px 0 0}details li{margin-bottom:8px}.testimonial{background:var(--navy);color:var(--paper)}.quote-layout{display:grid;grid-template-columns:1fr 2.7fr;gap:40px}.testimonial .eyebrow{color:#d4b382;max-width:150px;line-height:1.8}.testimonial blockquote{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.3;margin:0}.testimonial blockquote em{color:#dfc19b}.testimonial figcaption{margin-top:35px}.testimonial figcaption strong,.testimonial figcaption span{display:block}.testimonial figcaption strong{font-size:.95rem;font-weight:500}.testimonial figcaption>span{font-size:.875rem;color:#c2cecf;margin-top:3px}.testimonial figcaption a{font-size:.75rem;color:#d7c6ad;border-bottom:1px solid #718487;display:inline-block;margin-top:18px}.testimonial figcaption a span{display:inline}.beyond{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:center}.event-photo{align-self:start}.event-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:4px 4px 100px 4px}.event-photo figcaption{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.08em;margin-top:18px}.event-photo figcaption span{color:var(--muted)}.beyond .eyebrow{margin-bottom:24px}.beyond h2{font-size:clamp(2.6rem,3.7vw,4rem);margin-bottom:28px}.beyond p:not(.eyebrow){margin-bottom:20px}.education{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.education h3{font-size:1rem;font-weight:500;margin-bottom:20px}.education>div{display:grid;grid-template-columns:1fr 1.7fr;gap:20px;margin-top:18px;font-size:.875rem;line-height:1.65}.education strong{font-weight:500}.education span{color:var(--muted)}.contact{background:#e9eeeb;text-align:center}.contact .eyebrow{margin-bottom:25px}.contact h2{font-size:clamp(3rem,5.6vw,5.7rem)}.contact h2 em{color:#876036}.contact p:not(.eyebrow){margin-top:27px}.contact-actions{justify-content:center;margin-top:32px}.light{background:var(--navy);color:white}.email{font-size:.875rem;display:inline-block;margin-top:30px;color:var(--muted)}footer{padding:44px 0;display:flex;justify-content:space-between;align-items:center;gap:35px}footer>div:first-child{display:flex;align-items:center;gap:28px}footer p{font-size:.75rem;line-height:1.7;color:var(--ink)}footer p span{color:var(--muted)}.socials{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-size:.75rem}.socials button{background:transparent;border:0;padding:8px 0;color:var(--muted);font-size:.75rem;cursor:pointer}.skip{position:absolute;top:-80px;left:20px;padding:12px 20px;background:var(--navy);color:white;z-index:10}.skip:focus{top:12px}.entrance{animation:rise-in 1s cubic-bezier(.2,.7,.2,1) both}.delay-one{animation-delay:.12s}.delay-two{animation-delay:.24s}.delay-three{animation-delay:.36s}.reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(22px)}.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;transform:none!important}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gentle-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes soft-bounce{0%,75%,100%{transform:translateY(0)}84%{transform:translateY(4px)}92%{transform:translateY(-1px)}}
@media(min-width:1600px){.hero{padding-block:90px 130px}.hero-photo{height:640px}}
@media(max-width:1050px){.hero{gap:38px}.hero h1{font-size:4.7rem}.hero-photo{height:530px}.portrait-note{left:-25px;padding:16px 20px}.hero-location{font-size:.75rem}.about{gap:55px;grid-template-columns:.55fr 1.3fr}.beyond{gap:55px}.role-top{align-items:flex-start}.role-tag{display:none}.approach-grid{gap:30px}.portrait-caption{flex-direction:column;align-items:flex-start;gap:4px}.hero-actions{gap:20px}.button{gap:20px;padding-inline:20px}}
@media(max-width:760px){html{scroll-padding-top:28px}.wrap{width:88%}.nav{height:82px;width:88%}.nav nav{gap:22px;font-size:.8rem}.nav nav>a:nth-child(2){display:none}.wordmark{font-size:2.6rem}.hero{grid-template-columns:1fr;padding:49px 0 75px;gap:35px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(3.55rem,12.8vw,5.6rem);margin-top:22px}.hero h1 br:last-child{display:none}.hero h1 em{line-height:1.12}.hero-description{font-size:1rem;margin-top:25px}.hero-actions{margin-top:25px;gap:28px}.hero-location{margin-top:26px;max-width:350px;gap:8px}.hero-visual{width:min(100%,440px);margin-inline:auto;padding-right:0}.hero-photo{height:465px;object-position:center 32%}.photo-mat{padding:9px}.portrait-note{left:-10px;bottom:80px;padding:16px 21px;font-size:.8rem}.portrait-caption{flex-direction:row;align-items:center;font-size:.7rem}.portrait-caption span:last-child{font-size:.875rem}.scroll-cue{bottom:22px;font-size:.75rem;gap:18px}.qualities{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;text-align:center;font-size:.75rem;padding:25px 6%;min-height:auto}.qualities span:nth-child(even){display:none}.section{padding-block:70px}.about{grid-template-columns:1fr;gap:25px}.mini-monogram{display:none}.about h2{font-size:3rem;margin-bottom:25px}.about-copy .lead{font-size:1.1rem}.signature{font-size:2rem;margin-top:27px}.approach-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.approach-grid article{padding-top:20px}.approach-grid h3{margin:8px 0 10px}.journey .section-heading{margin-bottom:36px}.experience{grid-template-columns:1fr;gap:12px;padding:27px 0}.experience-date{padding:0;font-size:.75rem}.role-top h3{font-size:1.2rem}.employer{font-size:.875rem}.quote-layout{grid-template-columns:1fr;gap:30px}.testimonial .eyebrow{max-width:none}.testimonial blockquote{font-size:2.4rem}.testimonial figcaption{margin-top:25px}.beyond{grid-template-columns:1fr;gap:40px}.event-photo{max-width:450px;margin:auto}.event-photo img{max-height:550px}.beyond h2{font-size:2.85rem}.education>div{grid-template-columns:1fr 1.5fr;font-size:.8rem;gap:15px}.contact h2{font-size:3.2rem}.contact p:not(.eyebrow){font-size:.95rem}.contact-actions{gap:25px}.desktop-break{display:none}footer{align-items:flex-start;flex-direction:column;gap:25px;padding-block:35px}.socials{gap:25px}.email{font-size:.8rem}.eyebrow,.section-label>span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}}

/* Final editorial pass: richer imagery with quiet, deliberate movement. */
.hero{gap:64px;padding-top:64px;padding-bottom:100px}
.hero-visual{padding-right:0}
.photo-mat{padding:11px;border-radius:46% 46% 5px 5px;background:#e2e8e4}
.hero-photo{height:580px;object-fit:cover;object-position:48% 0%;border-radius:46% 46% 3px 3px}
.portrait-note{left:-32px;bottom:79px;padding:18px 23px}
.portrait-caption{margin-top:20px}
.about{grid-template-columns:.88fr 1.25fr;gap:85px;align-items:start}
.section-label{gap:34px}
.story-photo{margin-top:12px}
.story-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 48%;border-radius:4px 4px 90px 4px}
.story-photo figcaption{font-size:.75rem;letter-spacing:.08em;margin-top:20px;line-height:1.7}
.story-photo figcaption span{display:block;font-family:Georgia,serif;font-style:italic;font-size:1.1rem;letter-spacing:0;margin-top:7px;color:var(--gold)}
.moments{background:var(--paper);padding-bottom:45px}
.moments-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:48px}
.moments-heading .eyebrow{margin-bottom:22px}
.moments-heading>p{max-width:360px;padding-bottom:8px}
.moments-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:40px;align-items:start}
.moment-tall{margin-top:70px}
.image-window{overflow:hidden;border-radius:4px;background:#e3e9e5}
.moment-wide .image-window{aspect-ratio:1/1}
.moment-tall .image-window{aspect-ratio:624/734}
.image-window img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.image-window:hover img{transform:scale(1.025)}
.moments-grid figcaption{display:flex;flex-direction:column;gap:7px;margin-top:20px}
.moments-grid figcaption span:first-child{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}
.moments-grid figcaption span:last-child{font-family:Georgia,serif;font-size:1.1rem;font-style:italic}
.journey{padding-top:80px}
.beyond{gap:75px}
.contact{position:relative;overflow:hidden}
.contact .wrap{position:relative}
.contact::before{content:'J.';position:absolute;font:34rem/1 var(--serif);left:-.035em;bottom:-.16em;color:#dfe6e0;pointer-events:none}
.nav a:not(.wordmark){transition:color .3s}.nav a:hover{color:var(--gold)}
.button:active{transform:translateY(0) scale(.985)}
@media(min-width:1600px){.hero-photo{height:635px}}
@media(max-width:1050px){.hero{gap:40px}.hero-photo{height:540px;object-position:48% 0}.about{gap:45px}.moments-heading{gap:40px}.moments-grid{gap:28px}.beyond{gap:45px}.portrait-note{left:-20px}}
@media(max-width:760px){.hero{padding-top:45px;padding-bottom:74px;gap:32px}.hero-visual{width:min(100%,440px)}.hero-photo{height:auto;aspect-ratio:4/5;object-position:48% 0}.portrait-note{left:-9px;bottom:78px;padding:13px 17px}.portrait-caption{gap:14px;align-items:start}.portrait-caption span:first-child{font-size:.75rem;max-width:130px}.portrait-caption span:last-child{font-size:.9rem}.about{grid-template-columns:1fr;gap:36px}.section-label{gap:18px}.story-photo{margin:0;max-width:400px}.story-photo img{aspect-ratio:4/3;object-position:50% 40%;border-radius:4px 4px 65px 4px}.story-photo figcaption{margin-top:16px}.moments{padding-bottom:35px}.moments-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.moments-heading>p{max-width:none}.moments-grid{grid-template-columns:1fr;gap:36px}.moment-tall{margin-top:0;width:85%;justify-self:end}.moments-grid figcaption{margin-top:15px}.journey{padding-top:45px}.beyond{gap:35px}.contact::before{font-size:23rem}.hero-location{line-height:1.8}.qualities{line-height:1.8}}

@media(max-width:760px){.hero h1{font-size:clamp(2.6rem,11.3vw,3.5rem)}}

/* Mobile robustness: content can wrap without expanding the viewport. */
html{overflow-x:clip}body{min-width:0}main,section,figure,article,.hero-copy,.hero-visual,.about-copy,.beyond-copy,.timeline,.experience>div,.moments-grid>figure{min-width:0}img{max-width:100%}.nav-contact,.socials a,.socials button{min-height:44px;display:inline-flex;align-items:center}summary{min-height:44px}a.email{overflow-wrap:anywhere}.moment-tall{max-width:100%}button{touch-action:manipulation}
@media(max-width:480px){.nav nav{gap:18px}.nav nav a{font-size:.8rem}.wrap,.nav{width:88%}.hero-actions{gap:20px;flex-wrap:wrap}.hero-location{max-width:100%}.hero-description br{display:none}.about h2,.beyond h2{font-size:clamp(2.35rem,10.6vw,3rem)}.contact h2{font-size:clamp(2.3rem,10.8vw,3.2rem)}.contact-actions{gap:24px;flex-wrap:wrap}.contact::before{font-size:18rem}.role-top h3{overflow-wrap:anywhere}.education>div{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.12em}.qualities{column-gap:18px}.qualities span{font-size:.75rem;letter-spacing:.08em}.story-photo figcaption{letter-spacing:.05em}}

/* Living light: translucent colour, slow drift and fine flight-path contours. */
body{isolation:isolate;background:#faf9f6}
.atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:radial-gradient(ellipse at 78% 12%,#eee4d166,transparent 58%),linear-gradient(140deg,#faf9f6,#f3f5ef 55%,#faf5ec)}
.atmosphere::before,.atmosphere::after{content:'';position:absolute;inset:-18%;background:radial-gradient(ellipse at 75% 24%,#c9b18450,transparent 37%),radial-gradient(ellipse at 18% 77%,#a6c7bd55,transparent 42%);animation:light-drift 24s ease-in-out infinite alternate;transform-origin:center}
.atmosphere::after{background:radial-gradient(ellipse at 12% 20%,#fffdf7b8,transparent 36%),radial-gradient(ellipse at 82% 78%,#b5cfd13b,transparent 34%);animation:light-drift 31s ease-in-out -12s infinite alternate-reverse}
.atmosphere-lines{position:absolute;width:105vmax;height:105vmax;top:-52vmax;right:-43vmax;border:1px solid #a77b4417;border-radius:50%;box-shadow:0 0 0 65px #a77b4407,0 0 0 66px #a77b4410,0 0 0 150px #a77b4405,0 0 0 151px #a77b440d;animation:contour-drift 35s ease-in-out infinite alternate}
.moments{background:transparent}
.approach{background:linear-gradient(125deg,#dfeae3c9,#edf1efb0 58%,#f1e9dabb)}
.testimonial{position:relative;isolation:isolate;overflow:hidden;background:#142e39}
.testimonial::before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 30%,#436e706e,transparent 45%),radial-gradient(ellipse at 88% 80%,#b9935430,transparent 43%);animation:light-drift 26s ease-in-out infinite alternate}
.contact{background:linear-gradient(120deg,#e4ebe4d9,#f0e7d5b0)}
.contact::after{content:'';position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(ellipse at 70% 50%,#fff9df75,transparent 42%);animation:light-drift 21s ease-in-out infinite alternate;z-index:0}
.contact .wrap{z-index:1}.contact::before{color:#cedbd04d}
.photo-mat{background:linear-gradient(145deg,#ecede7,#cdded6 55%,#e5d6be)}
@keyframes light-drift{from{transform:translate3d(-3%,-2%,0) rotate(-4deg) scale(1)}to{transform:translate3d(4%,5%,0) rotate(5deg) scale(1.07)}}
@keyframes contour-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3%,5%,0)}}
@media(max-width:760px){.atmosphere::before,.atmosphere::after{inset:-10%;animation-duration:30s}.atmosphere-lines{opacity:.55}.contact::after{animation:none}}
@media(prefers-reduced-motion:reduce){.atmosphere::before,.atmosphere::after,.atmosphere-lines,.testimonial::before,.contact::after{animation:none}}
