:root{--rose:#bd687c;--cream:#f4f1e9;--sage:#929b7b;--ink:#22201f;--white:#fffaf2;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}.site-header{height:76px;background:var(--rose);color:#171515;display:flex;align-items:center;padding:0 clamp(22px,3.5vw,54px);gap:clamp(42px,7vw,110px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.25)}.wordmark{font:700 22px/.88 var(--serif);color:inherit;text-decoration:none;text-align:center;white-space:nowrap;letter-spacing:-.7px}.main-nav{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4.6vw,68px);width:min(100%,970px)}.nav-link{border:0;background:none;color:inherit;text-decoration:none;font:500 15px var(--sans);padding:12px 0;white-space:nowrap;cursor:pointer}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{text-decoration:underline;text-underline-offset:4px}.nav-link span{font-size:18px;margin-left:2px}.nav-item{position:relative}.dropdown{display:none;position:absolute;left:-16px;top:100%;min-width:210px;padding:9px;background:#fffaf2;box-shadow:0 12px 25px #3b202622;border-radius:3px}.dropdown a{display:block;color:var(--ink);font-size:14px;padding:10px 12px;text-decoration:none;border-radius:2px}.dropdown a:hover,.dropdown a:focus-visible{background:#eee9df}.has-menu:hover .dropdown,.has-menu:focus-within .dropdown,.has-menu.open .dropdown{display:block}.menu-toggle{display:none}.hero{min-height:180px;background:var(--rose);color:var(--white);text-align:center;padding:43px 20px 0}.hero h1{font:700 clamp(42px,6vw,74px)/1.1 var(--serif);letter-spacing:.015em;margin:0}.subtitle{font-size:16px;margin:24px 0 0}.ribbon-wrap{background:var(--cream);min-height:39px}.ribbon{background:var(--sage);color:#fff;width:min(652px,90%);margin:0 auto;padding:10px 12px;font-size:15px;text-align:center}.about{max-width:1320px;margin:0 auto;padding:clamp(50px,6vw,76px) clamp(28px,3.5vw,52px) 72px;display:grid;grid-template-columns:minmax(320px,.95fr) 1fr;gap:clamp(34px,3.3vw,48px);align-items:start}.portrait{width:100%;aspect-ratio:480/630;margin-top:12px;background:#d4cbb9 url("portrait.png") center 38%/cover no-repeat;min-height:420px}.about-copy{padding:14px 0}.eyebrow{color:#7d8669;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;margin:0 0 10px}.about h2{font:600 clamp(38px,4vw,50px)/1.15 var(--serif);margin:0 0 26px}.about-copy p:not(.eyebrow){font-size:15px;line-height:1.55;text-align:justify;margin:0 0 17px}.menu-toggle:focus-visible,.nav-link:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:900px){.site-header{gap:28px}.main-nav{gap:22px}.nav-link{font-size:13px}.wordmark{font-size:19px}.hero{min-height:180px}.about{grid-template-columns:.9fr 1fr;gap:28px}.portrait{min-height:380px}}
@media(max-width:680px){.site-header{height:66px;justify-content:space-between;padding:0 22px}.wordmark{font-size:20px}.menu-toggle{display:flex;gap:10px;align-items:center;border:1px solid #2b202333;border-radius:3px;background:transparent;color:inherit;padding:9px 11px;font:500 14px var(--sans)}.main-nav{display:none;position:absolute;top:66px;left:0;width:100%;background:var(--rose);padding:10px 22px 20px;align-items:stretch;gap:1px;flex-direction:column;box-shadow:0 10px 15px #32151b22}.main-nav.open{display:flex}.nav-link{display:block;width:100%;text-align:left;padding:12px 0;font-size:15px}.nav-item{width:100%}.dropdown{position:static;box-shadow:none;padding:0 0 4px 12px;background:rgba(255,250,242,.2);min-width:0}.dropdown a{padding:9px 10px}.dropdown a:hover{background:rgba(255,255,255,.3)}.hero{min-height:190px;padding:42px 18px 0}.hero h1{font-size:clamp(35px,10vw,52px)}.subtitle{margin:20px 0 0;font-size:14px}.ribbon{font-size:12px;padding:10px 8px}.about{display:flex;flex-direction:column;padding:34px 22px 48px;gap:26px}.portrait{margin-top:0;min-height:0;aspect-ratio:4/5}.about-copy{padding:0}.about h2{margin-bottom:18px}.about-copy p:not(.eyebrow){font-size:15px}}

.contact-page{min-height:380px;display:grid;place-items:center;padding:64px 24px;background:var(--cream)}.contact-copy{max-width:900px;text-align:center}.contact-copy h2{font:600 clamp(36px,4vw,50px)/1.15 var(--serif);margin:0 0 24px}.contact-copy p{font-size:clamp(17px,2vw,21px);line-height:1.55;margin:0}.contact-copy a{color:inherit;text-underline-offset:4px}
@media(max-width:680px){.contact-page{min-height:300px;padding:48px 22px}.contact-copy p{font-size:17px}}

.contact-links{display:inline-block;text-align:left;margin:22px 0 0;padding-left:24px}.contact-links li{padding-left:4px}.contact-links a{overflow-wrap:anywhere}


main p:not(.subtitle):not(.ribbon),main li,main dd{text-align:justify!important}


.contact-copy p{text-align:center!important}

