@font-face{font-family:'Bodoni Moda';src:url('../../assets/fonts/BodoniModa-Latin.woff2') format('woff2');font-weight:400 600;font-display:swap}@font-face{font-family:'Nunito Sans';src:url('../../assets/fonts/NunitoSans-Latin.woff2') format('woff2');font-weight:400 700;font-display:swap}:root{--cream:#f7f3e8;--paper:#fffefa;--forest:#29483a;--leaf:#49644e;--rose:#8e3e4c;--ochre:#80520f;--gutter:clamp(1.15rem,6vw,7rem);--serif:'Bodoni Moda',Georgia,serif;--sans:'Nunito Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--forest);font:400 18px/1.6 var(--sans)}a{color:inherit}a:focus-visible{outline:3px solid var(--rose);outline-offset:5px}.skip-link{position:absolute;left:1rem;top:-5rem;padding:.8rem;background:var(--forest);color:var(--paper);z-index:8}.skip-link:focus{top:1rem}header{min-height:86px;padding:1rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font:600 20px/1.1 var(--serif);text-decoration:none}.brand span{display:block;margin-top:5px;font:500 12px/1.25 var(--sans);letter-spacing:.06em}header nav{display:flex;gap:clamp(1rem,3vw,2.8rem);align-items:center;font-size:16px}header nav a{text-decoration-thickness:1px;text-underline-offset:5px}.welcome{position:relative;min-height:690px;padding:5rem var(--gutter) 4rem;background:var(--cream);display:grid;grid-template-columns:1fr .9fr;align-items:center;overflow:hidden}.welcome-copy{position:relative;z-index:1;max-width:540px}.welcome-copy>p:first-child,.section-label{font-size:16px;font-weight:650;color:var(--rose);margin:0 0 1rem}.welcome h1{font:500 clamp(3.7rem,7.4vw,6.8rem)/.96 var(--serif);letter-spacing:-.04em;margin:0 0 1.5rem}.welcome h1 i,.introduction h2 i,.approach h2 i,.process h2 i,.contact h2 i{color:var(--leaf);font-weight:400}.welcome-copy>p:nth-of-type(2){max-width:29rem;font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.45}.primary-link,.contact-content>a{display:inline-flex;align-items:center;gap:1.25rem;padding:1rem 1.35rem;background:var(--forest);color:var(--paper);font-weight:650;text-decoration:none;margin-top:1rem}.primary-link:hover{background:#1d382c}.welcome-portrait{margin:0;position:relative;justify-self:center;width:min(100%,500px);height:550px;display:flex;align-items:center;justify-content:center}.portrait-frame{width:72%;height:94%;position:relative;overflow:hidden;background:#e4eadf;border-radius:50% 50% 0 0 / 35% 35% 0 0}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 15%;mix-blend-mode:multiply}.welcome-portrait figcaption{position:absolute;right:2%;bottom:2%;background:var(--paper);font-size:13px;padding:.45rem .7rem}.bloom{position:absolute;fill:var(--rose);width:clamp(4rem,7.5vw,7rem);z-index:1}.bloom circle{fill:var(--ochre)}.bloom--left{left:5%;top:20%;transform:rotate(-18deg);animation:none}.bloom--right{right:2%;top:56%;width:clamp(3rem,5vw,5rem);fill:var(--ochre);transform:rotate(16deg);animation:none}.bloom--right circle{fill:var(--rose)}.welcome-caption{position:absolute;bottom:1.6rem;left:var(--gutter);font:italic 19px var(--serif);color:var(--leaf)}.introduction{text-align:center;padding:clamp(6rem,12vw,11rem) var(--gutter) clamp(5rem,10vw,9rem);max-width:1100px;margin:auto}.introduction h2{font:500 clamp(2.5rem,5.5vw,5.3rem)/1.12 var(--serif);letter-spacing:-.025em;margin:0 auto 2.25rem}.introduction h2 i{color:var(--leaf)}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;text-align:left;max-width:880px;margin:0 auto}.intro-text p{margin:.5rem 0}.credential{color:var(--rose);font-weight:650;margin:2rem 0 0}.approach{position:relative;overflow:hidden;background:#e4eadf;padding:clamp(5rem,10vw,9.5rem) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:2rem 5rem;align-items:center}.approach-heading,.approach>p,.approach-names{position:relative;z-index:1}.approach h2,.process h2{font:500 clamp(2.8rem,5.6vw,5.5rem)/1.08 var(--serif);letter-spacing:-.045em;margin:0;max-width:12ch}.approach h2 i,.process h2 i{color:var(--leaf)}.approach>p{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:34rem}.approach-names{margin-top:1rem}.approach-names>p{font-size:15px;color:var(--rose);font-weight:650}.approach-names ul{list-style:none;padding:0;margin:0}.approach-names li{padding:.8rem 0;border-bottom:1px solid #bdcbb9;font:500 clamp(1.15rem,2vw,1.6rem)/1.3 var(--serif);max-width:500px}.approach-names abbr{text-decoration:none;font:650 .78em var(--sans);color:var(--rose);margin-left:.35rem}.approach-branch{position:absolute;width:min(23vw,260px);right:3%;bottom:-18%;stroke:var(--leaf);stroke-width:3;fill:none;opacity:.22}.process{padding:clamp(6rem,11vw,11rem) var(--gutter);text-align:center}.process h2{margin:0 auto;max-width:15ch}.process-lead{max-width:42rem;margin:1.5rem auto 3.5rem;font-size:clamp(1.1rem,1.6vw,1.25rem)}.process ol{list-style:none;padding:0;margin:0 auto;max-width:950px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,4rem);text-align:left}.process li{padding-top:1.1rem;border-top:3px solid var(--leaf)}.process li span{font:500 clamp(1.5rem,2.4vw,2rem)/1.2 var(--serif)}.process li p{max-width:30ch;margin:.65rem 0}.contact{position:relative;overflow:hidden;min-height:470px;background:var(--forest);color:var(--paper);display:grid;place-items:center;text-align:center;padding:6rem var(--gutter);isolation:isolate}.contact>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 46%;opacity:.18;mix-blend-mode:screen}.contact:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(41,72,58,.84)}.contact-content>p:first-child{font-size:clamp(1.1rem,1.8vw,1.4rem);margin:0}.contact h2{font:500 clamp(3.2rem,7vw,6.4rem)/1.02 var(--serif);letter-spacing:-.04em;margin:.7rem 0 1.2rem}.contact h2 i{color:#e6b6ad}.contact-content>a{background:var(--cream);color:var(--forest)}.contact-content>a:hover{background:#e4eadf}.contact-note{font-size:15px;margin:1.3rem 0 0}footer{min-height:135px;padding:2rem var(--gutter);background:#203b2f;color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:2rem}footer p,footer>a:last-child{font-size:15px}footer>a:last-child{text-underline-offset:5px}@keyframes bloom-sway{0%,100%{rotate:-15deg;translate:0 0}50%{rotate:-5deg;translate:4px -7px}}
@media(max-width:850px){.welcome{grid-template-columns:1fr .9fr}.welcome-portrait{height:460px}.intro-text{gap:1.4rem}.approach{gap:2rem}}
@media(max-width:640px){body{font-size:17px}header{align-items:flex-start;min-height:76px;gap:.7rem}.brand{font-size:18px}header nav{max-width:64%;justify-content:flex-end;flex-wrap:wrap;gap:.45rem 1rem;font-size:14px}.welcome{min-height:0;grid-template-columns:1fr;padding:3.5rem var(--gutter) 4.5rem;gap:1rem}.welcome h1{font-size:clamp(3.6rem,14vw,5.2rem)}.welcome-copy>p:nth-of-type(2){max-width:28rem;font-size:1.16rem}.welcome-portrait{height:min(105vw,480px);width:min(100%,450px);margin-top:.5rem}.portrait-frame{width:72%;height:94%}.bloom--left{left:1%;top:15%}.bloom--right{right:0;top:58%}.welcome-caption{bottom:1rem}.introduction{padding:5rem var(--gutter)}.introduction h2{font-size:clamp(2.35rem,9.8vw,3.8rem)}.intro-text{grid-template-columns:1fr;gap:.5rem}.approach{padding:5rem var(--gutter);grid-template-columns:1fr;gap:1rem}.approach h2,.process h2{font-size:clamp(2.75rem,11vw,4.4rem)}.approach>p{margin:.5rem 0}.approach-branch{width:40vw;bottom:-9%;right:-5%}.process{padding:5rem var(--gutter);text-align:left}.process h2{margin:0}.process-lead{margin:1.1rem 0 2.3rem}.process ol{grid-template-columns:1fr;gap:1.4rem}.process li{padding-top:.8rem}.contact{min-height:430px;padding:5rem var(--gutter)}.contact h2{font-size:clamp(3rem,12vw,4.7rem)}footer{align-items:flex-start;flex-direction:column;gap:1rem}footer p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
