:root{--emerald:#0b6b4f;--pink:#ffb3d9;--silver:#c0c0c0;--ink:#111;--index:160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:white;color:var(--ink);font:17px/1.55 Lato,sans-serif}main{margin-right:var(--index)}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #944064;outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{font-family:'Playfair Display',serif;font-weight:400}h2{font-size:clamp(35px,3.2vw,54px);line-height:1.2;letter-spacing:-1.3px}.script{font-family:Allura,cursive;font-weight:400}.letterhead{font:500 11px/1.7 Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:20}.skip:focus{top:12px}
.opening{display:grid;grid-template-columns:48% 52%;border-bottom:1px solid var(--silver)}.portrait-page{background:var(--emerald);padding:24px clamp(28px,3.2vw,62px) 32px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.brand{width:225px;align-self:flex-start;display:block;margin:0 0 4px -10px}.brand img{display:block;width:100%;height:auto}.main-portrait{width:100%;max-width:640px;align-self:center}.main-portrait>img{display:block;width:100%;height:auto;object-position:51% 30%}.main-portrait figcaption{padding-top:20px;color:var(--pink)}.main-portrait .script{display:block;font-size:clamp(28px,2.5vw,43px);line-height:1.2;white-space:nowrap}.main-portrait figcaption>span:last-child{display:block;margin-top:8px;font:10px/1.6 Montserrat,sans-serif;letter-spacing:.7px;color:white}
.letter{padding:48px clamp(32px,3.7vw,72px) 56px;align-self:center;width:100%}.letterhead{padding-bottom:20px;border-bottom:1px solid var(--silver)}h1{font-size:clamp(48px,5.1vw,82px);line-height:1.03;letter-spacing:-2.6px;margin:52px 0 30px}h1 em{color:var(--emerald);font-weight:400}.greeting{max-width:470px;font-size:19px;line-height:1.6}.signoff{color:var(--emerald);font-size:44px;line-height:1.15;margin-top:22px}.byline{font:11px/1.5 Montserrat,sans-serif;letter-spacing:.8px;margin-top:4px}.local-note{font-size:16px;line-height:1.6;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 28px;background:var(--pink);border:1px solid transparent;text-decoration:none;font:700 11px/1.5 Montserrat,sans-serif;letter-spacing:.8px;text-transform:uppercase;transition:background .2s}.button:hover{background:#ffcee6}.hero-phone{display:block;font-size:14px;margin-top:9px;width:fit-content;min-height:48px;padding-top:10px}
.page-index{position:fixed;right:0;top:0;bottom:0;width:var(--index);background:var(--pink);padding:42px 22px 25px;display:flex;flex-direction:column;font:12px/1.6 Montserrat,sans-serif;z-index:5}.index-heading{text-transform:uppercase;border-bottom:1px solid;padding-bottom:20px;font-size:11px}.index-links{margin-top:48px;display:flex;flex-direction:column}.index-links a{min-height:50px;display:flex;align-items:center;text-decoration:none}.index-links a:hover{text-decoration:underline}.index-links [aria-current]{font-weight:700}.index-bottom{margin-top:auto;padding-top:30px}.index-bottom p{text-transform:uppercase;font-size:10px;line-height:1.9}.motion{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:14px 0 0;min-height:48px;font-size:10px}.menu-toggle{display:none}
.enclosure{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;padding:64px clamp(32px,4vw,78px) 72px}.enclosure-heading .letterhead{border:0;padding:0 0 22px}.enclosure-heading>p:not(.letterhead){max-width:310px;margin-top:24px;color:#414141}.print-link{border:0;border-bottom:1px solid var(--emerald);background:none;color:var(--emerald);padding:12px 0;min-height:48px;margin-top:22px;font-size:14px}.document-list fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}.document-list legend{font:600 11px/1.6 Montserrat,sans-serif;letter-spacing:.5px;padding:0 0 12px}.document-list label{display:flex;gap:14px;align-items:baseline;min-height:50px;padding:12px 0;border-bottom:1px solid var(--silver);cursor:pointer;font-size:16px}.document-list input{accent-color:var(--emerald);width:16px;height:16px;flex:none;margin:0;align-self:flex-start;margin-top:5px}.document-list small{display:block;font-size:13px;color:#555;margin-top:2px}.document-list input:checked+span{color:#666;text-decoration:line-through}.privacy-note{font-size:13px;color:#555;max-width:420px}
.personal-note{border-top:1px solid var(--silver);padding:64px clamp(32px,4vw,78px);background:#fbf9fa;display:grid;grid-template-columns:minmax(180px,280px) minmax(0,550px);justify-content:space-between;gap:60px}.personal-note figure{max-width:280px}.personal-note img{display:block;width:100%;height:auto;object-position:50% 35%}.personal-note figcaption{font-size:12px;margin-top:10px;color:#555}.personal-copy>p{margin-top:22px;max-width:500px}.personal-copy .service-intro{font-size:14px;margin-top:24px}.services{list-style:none;margin:6px 0 0;padding:0}.services li{padding:9px 0;border-bottom:1px solid var(--silver);font-size:16px}.services li>span{float:right;font-size:12px;padding-top:3px;color:#555}.services small{display:block;font-size:12px;color:#555}.personal-copy .signature{font-size:38px;color:var(--emerald);margin-top:18px}.contact-lines a{display:block;width:fit-content;min-height:48px;padding:10px 0;font-size:15px;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(32px,4vw,78px);border-top:1px solid var(--silver);font-size:12px}footer a{min-height:48px;margin-top:-12px;padding-top:12px}
dialog{border:1px solid var(--silver);padding:60px 46px 32px;width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 40px);color:var(--ink)}dialog::backdrop{background:rgba(0,30,22,.65)}dialog h2{margin-top:26px;font-size:43px}dialog p:not(.letterhead){margin-top:22px}dialog .close-note{position:absolute;right:16px;top:8px;min-height:48px;border:0;background:none;font-size:13px}dialog .close-note span{font-size:24px;margin-left:8px}.note-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:25px}.note-contact>a:last-child{padding:10px 0;min-height:48px;font-size:15px;overflow-wrap:anywhere;max-width:100%}.note-end{font-size:12px;color:#555}#note-detail{font-size:15px}#note-detail ul{padding-left:18px}
@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.brand{animation:arrive .65s both}.main-portrait{animation:arrive .85s .12s both}.letter{animation:arrive .8s .24s both}.index-links{animation:arrive .7s .38s both}.motion-paused *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body{background:var(--pink)}main{background:white}
.enclosure{max-width:1440px;margin-inline:auto;gap:7%}
.personal-note{display:block;border-top:1px solid var(--silver);margin-top:36px;padding:30px 0 0;background:white}
.personal-note figure{float:left;width:110px;margin:4px 20px 16px 0}
.personal-note h2{font-size:34px;letter-spacing:-1px}
.personal-copy>p{margin-top:14px;font-size:16px}
.personal-copy .service-intro{clear:both;padding-top:10px;margin-top:12px;font-size:14px}
.personal-copy .signature{font-size:36px;margin-top:18px}
.personal-note figcaption{font-size:11px;color:#333}
.personal-copy .services li{font-size:15px}
/* Keep the fixed index on its own paint layer without a retained transform. */
.index-links{animation:none}
@media(min-width:1700px){.portrait-page{padding-top:24px;padding-bottom:36px}.brand{width:240px}.letter{padding-top:50px;padding-bottom:50px}.opening{min-height:940px}.letter h1{margin-top:54px}}
@media(min-width:760px) and (max-width:1150px){:root{--index:128px}.opening{grid-template-columns:43% 57%}.portrait-page{padding:24px;justify-content:center;gap:46px}.brand{width:210px}.letter{padding:36px 30px}.letterhead{font-size:9px;letter-spacing:1.5px}h1{margin-top:36px;font-size:53px}.greeting{font-size:17px}.main-portrait .script{font-size:28px}.page-index{padding:32px 16px}.enclosure{gap:40px}.personal-note{gap:40px;grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:759px){:root{--index:0px}html{scroll-padding-top:80px}main{margin:0}.opening{display:flex;flex-direction:column}.portrait-page{display:contents}.brand{order:0;width:100%;height:118px;margin:0;background:var(--emerald);padding:10px 0 10px 19px}.brand img{width:128px;height:99px;object-fit:contain}.letter{order:1;padding:30px 24px 34px}.letterhead{font-size:9px;letter-spacing:1.6px;padding-bottom:16px}h1{font-size:49px;letter-spacing:-1.8px;line-height:1.06;margin:30px 0 23px}.greeting{font-size:17px;line-height:1.55}.signoff{font-size:42px;margin-top:22px}.local-note{font-size:15px;margin:24px 0}.button{min-height:56px}.hero-phone{display:inline-block;margin:10px 0 0 16px;font-size:13px}.main-portrait{order:2;max-width:none;background:var(--emerald);padding:25px 24px 28px}.main-portrait>img{max-width:520px;margin:auto}.main-portrait figcaption{max-width:520px;margin:auto}.main-portrait .script{font-size:34px}.main-portrait figcaption>span:last-child{font-size:10px}.menu-toggle{display:flex;align-items:center;gap:16px;position:absolute;right:20px;top:34px;background:var(--pink);border:0;padding:0 16px;min-height:48px;z-index:8;font:11px Montserrat,sans-serif}.menu-toggle span{font-size:17px}.page-index{display:none;width:100%;padding:110px 30px 30px;z-index:7;overflow-y:auto}.menu-open{overflow:hidden}.menu-open .page-index{display:flex}.menu-open .menu-toggle{position:fixed}.index-heading{font-size:12px}.index-links{margin-top:18px}.index-links a{font-family:'Playfair Display',serif;font-size:30px;min-height:62px}.index-bottom{display:flex;justify-content:space-between;align-items:end}.index-bottom p{font-size:10px}.motion{font-size:12px}.enclosure{display:block;padding:36px 24px 40px}.enclosure-heading .letterhead{padding-bottom:20px}h2{font-size:36px;letter-spacing:-1px}.enclosure-heading>p:not(.letterhead){margin-top:20px}.print-link{margin-top:12px}.document-list{margin-top:34px}.document-list label{padding:13px 0;font-size:16px;min-height:52px}.personal-note{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;padding:34px 24px}.personal-note figure{grid-column:1;grid-row:1;margin-top:3px}.personal-note figcaption{font-size:10px;line-height:1.4}.personal-copy{display:contents}.personal-copy h2{grid-column:2;grid-row:1;align-self:center;font-size:35px}.personal-copy>p,.personal-copy .services,.contact-lines{grid-column:1/-1}.personal-copy>p{margin-top:0}.personal-copy .service-intro{margin-top:4px}.personal-copy .services{margin-top:-12px}.personal-copy .signature{margin:0}.contact-lines{margin-top:-12px}.contact-lines a{font-size:14px}footer{padding:24px;flex-wrap:wrap;gap:12px;font-size:11px}footer a{flex-basis:100%;margin:0;padding-top:10px}dialog{padding:55px 24px 26px}dialog h2{font-size:36px}.note-contact>a:last-child{font-size:14px}}
@media(max-width:759px){.enclosure{display:flex;flex-direction:column;gap:0}.enclosure-left{display:contents}.enclosure-heading{order:0}.document-list{order:1}.personal-note{order:2;margin:34px -24px -40px;padding:30px 24px;background:#fbf9fa}.personal-note figure{float:none;width:auto;margin:3px 0 0}.personal-copy>p{margin-top:0}.personal-note h2{font-size:35px}.personal-copy .service-intro{padding:0;margin-top:4px}.personal-copy .signature{margin:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the personal note aligned within the enclosure at every width. */
.enclosure-left{min-width:0}
.personal-note{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;margin-top:32px;padding:30px 0 0}
.personal-note figure{float:none;width:110px;max-width:110px;margin:3px 0 0}
.personal-copy{display:contents}
.personal-copy h2{grid-column:2;grid-row:1;align-self:center}
.personal-copy>p,.personal-copy .services,.personal-copy .contact-lines{grid-column:1/-1}
.personal-copy .contact-lines{min-width:0;margin:0}
.contact-lines a{width:max-content;max-width:100%;overflow-wrap:anywhere}
@media(max-width:759px){.enclosure{gap:0}.personal-note{margin:34px -24px -40px;padding:30px 24px;grid-template-columns:90px minmax(0,1fr);background:#fbf9fa}.personal-note figure{width:90px;max-width:90px}.document-list{margin-top:28px}}
@media print{body{background:white}.enclosure{max-width:none;margin:0}}
/* Release the arrival transform after it finishes, including inside the fixed index. */
.contact-coming{font-size:12px;margin-top:14px}.return-note{margin-top:24px}
@media(max-width:759px){html:not(.js) .menu-toggle{display:none}html:not(.js) .page-index{display:flex;position:static;padding:30px}html:not(.js) .index-links{margin-top:15px}}
.brand,.main-portrait,.letter,.index-links{animation-fill-mode:backwards}
@media print{main{margin:0}.opening,.personal-note,footer,.page-index,.menu-toggle,.skip,dialog,.print-link{display:none!important}.enclosure{display:block;padding:0}.enclosure-heading>p{max-width:none!important}.document-list{margin-top:24px}.document-list label{padding:5px 0;min-height:0}.document-list fieldset{break-inside:avoid;margin-bottom:15px}.enclosure-heading h2{font-size:30px}.privacy-note{font-size:11px}}
.note-contact{align-items:stretch}.note-contact>a.button,.note-contact>a.button:last-child{padding:16px 24px;font-size:11px;min-height:56px;overflow-wrap:anywhere;text-align:center}
[data-contact="email"]{cursor:copy}[data-contact="email"].copied{color:var(--emerald)}
