@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--paper:#faf7ef;--ink:#283f32;--green:#344c3e;--pink:#eed4cf;--muted:#596457;--line:#d6d9ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b56a47;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.035em}em{font-weight:500}h1{font-size:clamp(3rem,5.4vw,5.6rem)}h2{font-size:clamp(2.4rem,3.6vw,3.7rem)}.wrap{width:min(1220px,calc(100% - 96px));margin-inline:auto}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;font-family:Georgia,serif;font-size:23px;line-height:1.2}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.17em;margin-top:7px}.monogram{display:grid;place-items:center;width:51px;height:51px;border:1px solid #80907c;border-radius:50%;font-size:31px;font-style:italic}.header nav{display:flex;align-items:center;gap:36px;font-size:14px}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:4px}.nav-contact span{margin-left:16px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:88px 90px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.description{max-width:405px;color:var(--muted);font-size:18px;line-height:1.75;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--green);color:var(--paper);border-radius:4px;padding:15px 24px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#203c2b;transform:translateY(-2px)}.intro .button{margin-top:30px}.signature{margin-top:22px;font:italic 18px Georgia,serif;color:#68715f}.hero-art{position:relative;padding:10px 10px 30px}.photo-frame{background:#fffdf8;box-shadow:0 12px 35px #20342215;padding:14px 14px 0;transform:rotate(3deg)}.photo-frame img{aspect-ratio:1.3;height:auto;object-position:center 40%}.photo-caption{display:block;text-align:center;padding:19px 5px;font:italic 17px Georgia,serif}.art-note{position:absolute;right:-16px;bottom:0;background:var(--pink);width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-12deg);font:italic 23px/1.15 Georgia,serif;border:6px solid var(--paper)}.ribbon{background:#e7ebdd;display:flex;justify-content:center;align-items:center;gap:45px;padding:21px 24px;font-size:14px}.ribbon span:nth-child(even){font-size:23px;color:#687e5a}.gallery-section{padding-block:88px 95px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:42px}.section-heading>p{max-width:330px;color:var(--muted)}.section-heading .eyebrow{margin-bottom:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.image-wrap{aspect-ratio:1.35;overflow:hidden;border-radius:3px}.image-wrap img{transition:transform .4s;object-position:center 40%;transform:scale(1.04)}article:hover img{transform:scale(1.075)}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.card-heading h3{font:500 26px/1.3 'Playfair Display',Georgia,serif}.card-heading span{font-size:12px;color:#6c775f}article p{margin-top:12px;font-size:15px;color:var(--muted);line-height:1.7}.contact{background:var(--green);color:var(--paper)}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center;padding-block:76px}.contact .eyebrow{color:#d4dec9}.contact h2{font-size:clamp(2.7rem,4vw,4rem)}.contact-inner>div>p:last-child{max-width:445px;margin-top:25px;color:#e0e5d8}.contact-card{text-align:center;border-left:1px solid #ffffff30;padding-left:65px}.contact-label{font-size:12px;letter-spacing:.14em}.phone{display:block;font-family:Georgia,serif;font-size:clamp(1.8rem,2.7vw,2.5rem);margin:12px 0 23px;white-space:nowrap}.light{background:var(--pink);color:var(--ink);width:100%;gap:12px}.light:hover{background:#f6e2dd}.call-link{display:inline-block;margin-top:19px;text-decoration:underline;text-underline-offset:5px;font-size:14px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:30px}footer>span{font:20px Georgia,serif}footer p,footer a{font-size:12px;color:var(--muted)}@media(min-width:1600px){.hero{padding-block:100px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:30px;padding-block:65px}.header nav{gap:20px}.hero-art{padding-right:8px}.art-note{right:-6px;width:108px;height:108px;font-size:20px}.ribbon{gap:22px;font-size:12px}.gallery{gap:20px}.contact-inner{gap:40px}.contact-card{padding-left:30px}.section-heading>p{max-width:270px}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header{padding-block:20px;gap:12px}.brand{font-size:18px;gap:9px}.monogram{width:40px;height:40px;font-size:25px}.brand small{font-size:8px}.header nav>a:first-child{display:none}.header nav{font-size:13px}.nav-contact span{margin-left:6px}.hero{grid-template-columns:1fr;padding-block:48px;gap:38px}.hero h1{font-size:3.6rem}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:20px}.description{font-size:17px}.hero-art{max-width:480px;width:100%;padding:10px 15px 24px}.art-note{right:0}.ribbon{gap:10px;flex-wrap:wrap;padding:17px 20px}.ribbon span:last-child,.ribbon span:nth-last-child(2){display:none}.gallery-section{padding-block:52px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:23px}.gallery{grid-template-columns:1fr;gap:35px}.image-wrap{aspect-ratio:1.45}.card-heading{margin-top:15px}.contact-inner{grid-template-columns:1fr;padding-block:48px;gap:36px}.contact-card{border-left:0;border-top:1px solid #ffffff30;padding:30px 0 0;text-align:left}.phone{font-size:2rem}.contact-card .button{max-width:400px}.call-link{display:block}footer{flex-wrap:wrap;gap:10px;padding-block:24px}footer p{width:100%;order:3}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original supplied artwork, framed in CSS to preserve the exact logo. */
.brand-logo{position:relative;display:block;flex:0 0 76px;width:76px;height:76px;overflow:hidden;border-radius:50%}
.brand-logo img{position:absolute;width:533.0667%;max-width:none;height:auto;left:-296%;top:-29.0667%}
.brand-banner{width:100%;background:#92a580;margin:0 auto;overflow:hidden}
.brand-banner>img{width:100%;max-width:1440px;height:auto;margin-inline:auto;object-fit:contain}
.hero{padding-top:62px}
@media(max-width:650px){.brand-logo{flex-basis:58px;width:58px;height:58px}.brand-banner{height:auto;aspect-ratio:1.8}.brand-banner>img{width:189%;max-width:none;height:auto;margin-left:-4%}.hero{padding-top:42px}.brand{font-size:17px}}
