:root{--ink:#24152d;--plum:#2d1739;--violet:#76508c;--lilac:#d7c2e1;--cream:#f7f2eb;--paper:#fcfaf6;--coral:#dc765c;--line:rgba(36,21,45,.18);--sans:"DM Sans",sans-serif;--serif:"Newsreader",Georgia,serif}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit}img{display:block;width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.75rem);border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(252,250,246,.92);backdrop-filter:blur(12px)}.wordmark{text-decoration:none;font-family:var(--serif);font-size:1.7rem;line-height:.8}.wordmark span{display:block;font:500 .57rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-top:.6rem}nav{display:flex;align-items:center;gap:2rem}nav a{text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.04em}nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{padding:.8rem 1.2rem;border:1px solid var(--ink);transition:.2s}.nav-cta:hover{background:var(--ink);color:var(--paper)}.menu-button{display:none;background:none;border:0;font:600 .8rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.hero{min-height:calc(100vh - 98px);display:grid;grid-template-columns:1.12fr .88fr;padding:clamp(3.5rem,7vw,7.5rem) clamp(1.25rem,4vw,4.75rem) 3rem;gap:clamp(3rem,6vw,7rem);align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:600;margin:0 0 1.8rem}.hero h1,.section h2,.fit blockquote{font:400 clamp(3.4rem,6.7vw,7.1rem)/.92 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.approach h2 em,.experience h2 em{color:var(--violet);font-weight:400}.lede{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:39rem;margin:2.25rem 0;color:#584b5e}.hero-actions{display:flex;gap:2rem;align-items:center;margin-top:2.5rem}.button{display:inline-flex;justify-content:space-between;align-items:center;min-width:205px;padding:1rem 1.15rem;text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.03em;transition:.2s}.primary{background:var(--plum);color:#fff}.primary:hover{background:var(--violet)}.text-link{text-underline-offset:6px;font-size:.84rem}.hero-visual{position:relative}.portrait-frame{width:min(100%,520px);aspect-ratio:4/5;background:var(--lilac);overflow:hidden;box-shadow:25px 25px 0 var(--plum)}.portrait-frame img{height:100%;object-fit:cover;object-position:center}.margin-note{position:absolute;left:-3rem;bottom:2rem;background:var(--coral);color:#2e152a;padding:1rem 1.3rem;font:500 1rem/1.25 var(--serif);transform:rotate(-3deg)}.marquee{background:var(--coral);overflow:hidden;padding:1rem 0;white-space:nowrap}.marquee div{font:500 1rem var(--serif);text-transform:uppercase;letter-spacing:.08em;display:inline-block;min-width:100%;text-align:center}.marquee span{font-size:.5rem;margin:0 1.7rem}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,4vw,4.75rem)}.section-label{display:flex;gap:1rem;text-transform:uppercase;letter-spacing:.17em;font-size:.66rem;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:clamp(3rem,6vw,6rem)}.section-label span{color:var(--coral)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about h2{font-size:clamp(3rem,5vw,5.8rem)}.prose{max-width:38rem}.prose p{font-size:clamp(1.05rem,1.4vw,1.28rem);margin:0 0 1.7rem}.accent-line{border-left:3px solid var(--coral);padding-left:1.5rem;font-family:var(--serif);font-style:italic}.services{background:var(--plum);color:var(--cream)}.section-label.light{border-color:rgba(255,255,255,.2)}.section-intro{display:grid;grid-template-columns:1.25fr .55fr;gap:8vw;align-items:end;margin-bottom:5rem}.section-intro h2{font-size:clamp(3rem,5.6vw,6.2rem)}.section-intro p{color:#c9bdce;max-width:25rem}.service-list{border-top:1px solid rgba(255,255,255,.22)}.service-card{display:grid;grid-template-columns:80px 1fr;padding:2.2rem 0;border-bottom:1px solid rgba(255,255,255,.22)}.service-card>div{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.service-number{font:italic 1.1rem var(--serif);color:var(--coral)}.service-card h3{font:400 clamp(1.55rem,2.5vw,2.7rem) var(--serif);margin:0}.service-card p{color:#c9bdce;margin:0;max-width:34rem}.approach{background:var(--cream)}.approach-heading{display:grid;grid-template-columns:.65fr 1fr;margin-bottom:5rem}.approach-heading h2{font-size:clamp(3.4rem,6vw,6.5rem)}.steps{margin:0 0 0 34%;padding:0;list-style:none;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid var(--line);padding:1.6rem 0}.steps li>span{font:italic 1rem var(--serif);color:var(--coral)}.steps h3{margin:0 0 .3rem;font:500 1.5rem var(--serif)}.steps p{margin:0;color:#635669;max-width:35rem}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.experience h2{font-size:clamp(3rem,5vw,5.7rem)}.experience-grid>div>p{max-width:35rem;margin-top:2rem;color:#625669}.client-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);columns:2;column-gap:2rem}.client-list li{break-inside:avoid;border-bottom:1px solid var(--line);padding:.82rem 0;font:500 1.05rem var(--serif)}.fit{text-align:center;background:var(--lilac)}.fit blockquote{font-size:clamp(2.8rem,5vw,5.2rem);max-width:1150px;margin:0 auto}.contact{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;background:var(--plum);color:var(--cream)}.contact h2{font-size:clamp(3rem,5.7vw,6.1rem)}.contact-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.contact-action p{color:#c9bdce;margin-bottom:2rem}.light-button{background:var(--cream);color:var(--plum);margin-bottom:1.5rem}.light-button:hover{background:var(--coral)}.email-link{font-size:.84rem;text-underline-offset:5px}footer{background:var(--plum);color:var(--cream);border-top:1px solid rgba(255,255,255,.2);padding:2.5rem clamp(1.25rem,4vw,4.75rem);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}footer p{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.footer-mark{color:var(--cream)}footer p:last-child{text-align:right}
@media(max-width:820px){.site-header{height:80px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:2rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:auto;grid-template-columns:1fr;padding-top:4rem}.hero h1{font-size:clamp(3.7rem,15vw,6rem)}.hero-visual{margin:1rem 1.4rem 2rem 0}.margin-note{left:-.4rem;bottom:1rem}.marquee div{animation:scroll 18s linear infinite;text-align:left}.about-grid,.section-intro,.experience-grid,.contact{grid-template-columns:1fr}.about-grid,.experience-grid,.contact{gap:3rem}.service-card>div{grid-template-columns:1fr;gap:.7rem}.service-card{grid-template-columns:45px 1fr}.approach-heading{grid-template-columns:1fr}.steps{margin-left:0}.client-list{columns:1}.contact-action{max-width:32rem}footer{grid-template-columns:1fr;gap:1.5rem}footer p:last-child{text-align:left}.footer-mark{margin-bottom:1rem}}@media(prefers-reduced-motion:no-preference){@keyframes scroll{to{transform:translateX(-45%)}}}
