@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{--paper:#f4f1eb;--ink:#222820;--muted:#676d62;--line:#d5d6ca;--accent:#c4ceac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:6px;outline:3px solid #819653}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;height:106px;margin:0 5%;display:flex}.brand{letter-spacing:5px;font-size:29px;font-weight:500}.brand span{letter-spacing:2px;margin-top:6px;font-size:8px;display:block}nav{gap:32px;font-size:13px;display:flex}.small-cta{border-bottom:1px solid;padding:10px 0;font-size:12px}.hero{grid-template-columns:1fr 1fr;gap:55px;min-height:690px;padding:35px 5% 40px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;padding-top:25px;display:flex}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:600;line-height:1.8}h1,h2{letter-spacing:-3px;margin:28px 0;font-family:Playfair Display,Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(65px,6.7vw,106px)}em{color:#77825f;font-weight:400}h2{font-size:clamp(44px,4.5vw,68px)}.intro{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.8}.button{background:var(--ink);color:#fff;justify-content:space-between;gap:42px;padding:19px 25px;font-size:12px;transition:background .2s;display:inline-flex}.button:hover{background:#4e5d3c}.hero-bottom{letter-spacing:1.2px;justify-content:space-between;align-items:flex-end;gap:30px;width:100%;margin-top:auto;padding-top:42px;font-size:8px;line-height:1.7;display:flex}.hero-bottom b{letter-spacing:0;font-size:10px;font-weight:400}.hero-image{border-radius:180px 180px 0 0;min-height:610px;position:relative;overflow:hidden}.hero-image img{object-fit:cover;object-position:50% 46%;width:100%;height:100%;position:absolute}.image-label{color:#fff;letter-spacing:2px;background:#222820aa;padding:10px;font-size:9px;position:absolute;bottom:25px;left:25px}.ribbon{letter-spacing:2px;border-block:1px solid var(--line);background:#e6e9dc;justify-content:space-around;align-items:center;gap:20px;padding:24px 5%;font-size:10px;display:flex}.ribbon i{color:#7c895f;font-size:18px;font-style:normal}.section{padding:90px 5%}.section-top{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px;display:flex}.section-top h2{margin-bottom:0}.section-top>p{max-width:350px;color:var(--muted);font-size:13px;line-height:1.8}.gallery{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}figure{margin:0}figure img{object-fit:cover;width:100%;height:460px;display:block}figure:nth-child(2){padding-top:55px}figcaption{letter-spacing:.8px;justify-content:space-between;gap:10px;padding:15px 0;font-size:9px;display:flex}.text-link{border-bottom:1px solid;margin:35px auto 0;padding-bottom:8px;font-size:12px;display:table}.about{background:#e6e9dc;grid-template-columns:1fr 2fr;gap:40px;display:grid}.about h2{margin-top:0}.about p:not(.eyebrow){color:#535c4e;max-width:660px;font-size:15px;line-height:1.9}.signature{margin-top:28px;font-family:Playfair Display,Georgia,serif;font-size:34px;font-style:italic;display:block}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px;display:grid}.service-grid article{border-top:1px solid var(--line);padding-top:25px}.service-grid article>span{color:var(--muted);font-size:11px}h3{font-family:Playfair Display,Georgia,serif;font-size:26px;font-weight:400}.service-grid p{color:var(--muted);font-size:14px;line-height:1.9}.service-grid a{border-bottom:1px solid;padding-bottom:5px;font-size:12px}.contact{color:var(--paper);background:#252c24}.contact em{color:#c4ceac}.contact-row{justify-content:space-between;align-items:center;gap:25px;margin-top:45px;font-size:14px;line-height:1.8;display:flex}.light{color:var(--ink);background:#dce3cd}.contact-note{opacity:.65;margin-top:30px;font-size:11px}footer{justify-content:space-between;align-items:center;gap:20px;padding:35px 5%;display:flex}footer p,footer div{font-size:11px}footer div{gap:25px;display:flex}@media (min-width:1600px){main{max-width:1700px;margin:auto}}@media (max-width:760px){header{gap:12px;height:90px}nav{display:none}.brand{font-size:24px}.small-cta{font-size:10px}.hero{grid-template-columns:1fr;gap:32px;padding-top:20px}.hero-copy{padding-top:0}h1{letter-spacing:-2px;margin:20px 0;font-size:68px}.hero-image{border-radius:150px 150px 0 0;min-height:510px}.hero-bottom{padding-top:30px}.ribbon{flex-wrap:wrap;gap:15px;font-size:8px}.ribbon i:last-of-type{display:none}.section{padding:60px 6%}.section-top{display:block}.section-top>p{margin-top:25px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure:last-child{grid-column:1/-1;max-width:70%;margin:20px auto 0}.gallery figure img{height:300px}.gallery figure:nth-child(2){padding-top:30px}figcaption{font-size:8px;line-height:1.8;display:block}.about{grid-template-columns:1fr;gap:18px}.service-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.contact-row{flex-direction:column;align-items:flex-start}.contact h2{font-size:46px}footer{flex-wrap:wrap}footer .brand{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.portrait{aspect-ratio:1;object-fit:cover;width:100%;max-width:300px;margin-top:30px;display:block}.prices{border-top:1px solid var(--line);background:#eaece3}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;display:grid}.price-grid table{border-collapse:collapse;width:100%;font-size:12px}.price-grid th,.price-grid td{text-align:left;border-bottom:1px solid #ccd1c2;padding:13px 0;font-weight:400}.price-grid thead th{letter-spacing:1px;color:var(--muted);font-size:10px}.price-grid td,.price-grid th:last-child{text-align:right;white-space:nowrap}.price-grid tbody th{padding-right:12px}.price-actions,.contact-links{flex-wrap:wrap;align-items:center;gap:30px;margin-top:35px;display:flex}.price-actions .text-link{margin:0}.contact-links{font-size:12px}.contact-links a{border-bottom:1px solid #71806b;padding-bottom:7px}@media (max-width:900px){.price-grid{grid-template-columns:1fr;gap:20px}.portrait{max-width:250px}}.hero-links{flex-wrap:wrap;gap:15px 24px;margin-top:20px;font-size:11px;display:flex}.hero-links a{border-bottom:1px solid var(--line);padding-bottom:5px}.neighborhood{background:#e6e9dc}.neighborhood-grid{grid-template-columns:repeat(3,1fr);gap:35px;display:grid}.neighborhood-grid article{border-top:1px solid #c6ccbc}.neighborhood-grid p{color:var(--muted);font-size:14px;line-height:1.9}.neighborhood-grid .text-link{margin:22px 0 0}.hero h1{font-size:clamp(58px,6vw,96px)}header nav{gap:20px}@media (max-width:900px){.neighborhood-grid{grid-template-columns:1fr}.hero h1{font-size:62px}header nav{gap:12px;font-size:11px}}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:14px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.mobile-menu{display:none}summary{cursor:pointer}a,summary{-webkit-tap-highlight-color:transparent}summary:focus-visible{outline-offset:6px;outline:3px solid #819653}.contact a:hover,footer a:hover,.hero-links a:hover{color:#859568}.gallery img{transition:filter .25s}.gallery img:hover{filter:brightness(1.06)}.contact-row>a{overflow-wrap:anywhere}.price-grid article,.hero-copy,.hero-image{min-width:0}@media (max-width:1050px){header>nav{display:none}.mobile-menu{margin-left:auto;display:block;position:relative}.mobile-menu summary{padding:12px 6px;font-size:12px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:" +";margin-left:8px}.mobile-menu[open] summary:after{content:" −"}.mobile-menu nav{z-index:20;background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:0;width:230px;padding:14px;display:flex;position:absolute;top:42px;right:0;box-shadow:0 15px 35px #22282018}.mobile-menu nav a{padding:13px;font-size:13px}.mobile-menu nav a:hover{background:#e6e9dc}}@media (max-width:400px){.hero h1{font-size:54px}.brand{font-size:21px}.brand span{letter-spacing:1px;font-size:7px}.small-cta{font-size:9px}.hero-bottom{gap:14px}.hero-image{min-height:440px}.price-grid table{font-size:11px}h2{letter-spacing:-2px}.contact-links{gap:20px}}
