:root{--ink:#2c2928;--rose:#a66e65;--rose-deep:#84544e;--paper:#f8f3f0;--white:#fffdfa;--line:#e4d8d2;--soft:#eee1dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'DM Sans',sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1 em,h2 em{font-weight:400;color:var(--rose);font-style:italic}.site-header{max-width:1480px;margin:auto;min-height:98px;padding:14px clamp(22px,5.4vw,86px);display:flex;align-items:center;gap:42px;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none;gap:4px;flex:none}.brand img{object-fit:contain;width:58px;height:58px;transform:scale(1.32)}.brand-text{display:flex;flex-direction:column;line-height:1.15;margin-left:5px;letter-spacing:.11em}.brand-text strong{font-size:17px;white-space:nowrap;font-weight:700}.brand-text small{font-size:10px;letter-spacing:.25em;margin-top:5px;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px)}.site-header nav a,.header-cta{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav a:hover,.text-link:hover,footer a:hover{color:var(--rose)}.header-cta{border-bottom:1px solid var(--ink);padding:8px 0}.header-cta span,.button span,.text-link span{margin-left:12px}.hero{min-height:670px;display:grid;grid-template-columns:51% 49%;background:var(--white)}.hero-copy{padding:clamp(70px,8vw,130px) clamp(24px,6vw,100px) 55px max(24px,calc((100vw - 1308px)/2));display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.22em;font-weight:700;color:var(--rose-deep);margin-bottom:31px}.eyebrow-line{width:24px;height:1px;background:var(--rose);display:inline-block;vertical-align:middle;margin-right:11px}.hero h1{font-size:clamp(49px,5.4vw,82px);max-width:730px;margin-bottom:26px}.intro{font-size:17px;line-height:1.8;max-width:520px;color:#655e5b;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:13px 23px;text-decoration:none;font-weight:700;font-size:13px;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--rose);color:white}.primary:hover{background:var(--rose-deep)}.text-link{text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-signoff{font:italic 15px 'Playfair Display',Georgia,serif;color:#897e79;margin-top:auto;padding-top:66px}.small-flower{font-style:normal;color:var(--rose);font-size:21px;margin-right:8px}.hero-visual{position:relative;min-height:580px;overflow:hidden;background:#d7cbc1}.hero-visual img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.hero-image-label{position:absolute;bottom:0;left:0;background:var(--paper);font:italic 18px 'Playfair Display',Georgia,serif;padding:19px 24px 18px 27px}.hero-image-label span{color:var(--rose);margin-left:28px}.section-wrap{max-width:1320px;margin:auto;padding-left:clamp(24px,5vw,70px);padding-right:clamp(24px,5vw,70px)}.services{padding-top:114px;padding-bottom:125px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:47px}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2,.approach h2,.contact h2{font-size:clamp(43px,4.5vw,67px);margin-bottom:0}.section-heading>p{max-width:330px;color:#665f5b;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{min-height:315px;background:var(--white);border:1px solid var(--line);padding:30px 31px 32px;position:relative}.service-number{font-size:12px;color:#a6938b;font-weight:700;letter-spacing:.13em}.service-icon{font:400 48px/1 Georgia,serif;color:var(--rose);margin:29px 0 21px}.service-icon.sparkle{font-size:41px}.service-card h3{font:400 27px 'Playfair Display',Georgia,serif;margin-bottom:12px}.service-card p{font-size:15px;line-height:1.7;color:#6a625e;max-width:300px;margin:0}.approach{background:#ded1c9}.approach-inner{display:grid;grid-template-columns:44% 56%;min-height:480px;align-items:center}.approach-ornament{height:100%;min-height:480px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.approach-ornament:before{content:'';position:absolute;border:1px solid #b99589;width:310px;height:370px;border-radius:160px 160px 0 0;transform:translateY(40px)}.approach-ornament:after{content:'';position:absolute;border:1px solid #b99589;width:380px;height:450px;border-radius:195px 195px 0 0;transform:translateY(40px)}.approach-ornament span{font:italic 96px 'Playfair Display',Georgia,serif;color:var(--rose-deep);z-index:1;letter-spacing:-.13em;padding-right:24px}.approach-ornament i{position:absolute;width:75px;height:1px;background:var(--rose);top:67%;left:calc(50% - 40px);z-index:1}.approach-copy{padding:72px clamp(25px,5vw,80px)}.approach-copy .eyebrow{margin-bottom:21px}.approach-copy h2{max-width:600px}.approach-copy>p:not(.eyebrow){max-width:510px;color:#514946;line-height:1.8;margin:26px 0}.contact{text-align:center;padding-top:117px;padding-bottom:112px}.contact .eyebrow{margin-bottom:18px}.contact h2{margin-bottom:24px}.contact>p:not(.eyebrow){font-size:17px;color:#665f5b;max-width:480px;margin:0 auto 29px}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.dark{background:var(--ink);color:white}.dark:hover{background:#514441}.outline{border:1px solid var(--ink)}.outline:hover{background:var(--soft)}.contact-location{display:block;font-size:11px;letter-spacing:.2em;font-weight:700;color:#978780;margin-top:34px}footer{background:#2c2928;color:#f8f3f0;padding:35px clamp(24px,5vw,70px) 25px}.footer-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #5c5551;padding-bottom:31px;font-size:14px}.footer-inner a{text-decoration:none}.footer-brand{font-size:18px;font-weight:700;letter-spacing:.11em}.footer-brand span{display:block;font-size:10px;font-weight:500;letter-spacing:.24em;margin-top:4px}footer>small{max-width:1180px;display:block;margin:20px auto 0;color:#b6aaa4;font-size:12px}@media(max-width:1000px){.site-header{gap:20px}.site-header nav{gap:16px}.hero{grid-template-columns:53% 47%}.hero-copy{padding-left:34px;padding-right:32px}.hero h1{font-size:clamp(45px,5.2vw,67px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.service-card{padding:24px}.service-card h3{font-size:24px}}@media(max-width:720px){.site-header{min-height:82px;padding:13px 20px;flex-wrap:wrap;gap:14px}.brand img{width:45px;height:45px}.brand-text strong{font-size:14px}.brand-text small{font-size:8px}.site-header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.site-header nav a{font-size:12px}.header-cta{font-size:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:58px 24px 48px}.hero h1{font-size:clamp(48px,10vw,68px)}.hero .eyebrow{font-size:10px;letter-spacing:.13em}.intro{font-size:16px}.hero-signoff{padding-top:42px}.hero-visual{min-height:390px}.hero-image-label{font-size:15px;padding:15px}.services{padding-top:77px;padding-bottom:80px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:22px 25px 28px}.service-icon{margin:14px 0}.approach-inner{display:flex;flex-direction:column}.approach-ornament{min-height:230px;width:100%}.approach-ornament:before{width:180px;height:215px;transform:translateY(40px)}.approach-ornament:after{width:230px;height:260px;transform:translateY(40px)}.approach-ornament span{font-size:70px}.approach-ornament i{display:none}.approach-copy{padding:25px 0 70px}.contact{padding-top:78px;padding-bottom:80px}.contact-actions{flex-direction:column;align-items:stretch}.footer-inner{align-items:flex-start;flex-direction:column;gap:13px}}

/* Shared branding, work gallery, and contact form */
.brand img{width:82px;height:63px;transform:scale(1.15);margin-right:3px}.brand-text strong{font-family:'Playfair Display',Georgia,serif;font-size:19px;letter-spacing:.045em;font-weight:600}.brand-text small{color:var(--rose-deep);font-size:10px}.work{padding-top:105px;padding-bottom:115px}.work-heading{align-items:end}.work-heading h2{max-width:620px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.work-grid figure{margin:0;background:var(--white)}.work-grid img{width:100%;height:clamp(260px,32vw,410px);object-fit:cover;display:block}.work-grid figcaption{font:italic 19px 'Playfair Display',Georgia,serif;padding:16px 18px}.photo-note{font-size:12px;color:#776d68;margin:17px 0 0}.approach-ornament:before,.approach-ornament:after{display:none}.approach-ornament img{width:min(100%,530px);height:auto;max-height:450px;object-fit:contain;position:relative;z-index:1}.contact-page{display:grid;grid-template-columns:40% 60%;gap:40px;padding-top:95px;padding-bottom:112px;min-height:700px}.contact-page-intro{padding:36px 20px 20px 0}.contact-page-intro h1{font-size:clamp(49px,5vw,71px);max-width:500px}.contact-page-intro>p:not(.eyebrow){color:#685e59;max-width:370px;font-size:17px;line-height:1.8;margin:25px 0 45px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:15px}.contact-details a{text-decoration:none;border-bottom:1px solid var(--rose);overflow-wrap:anywhere}.contact-details span{color:#7a6d67}.form-card{background:var(--white);border:1px solid var(--line);padding:clamp(26px,4vw,55px)}.form-card h2{font-size:39px;margin-bottom:29px}.form-card form{display:flex;flex-direction:column;gap:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-card label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}.form-card label span{color:var(--rose)}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #cdbeb7;background:#fffcfa;border-radius:0;padding:12px 14px;color:var(--ink);font:400 16px/1.5 'DM Sans',sans-serif;min-height:50px}.form-card textarea{resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:2px solid var(--rose);outline-offset:1px}.form-card .honey{display:none}.form-submit{border:0;cursor:pointer;width:max-content;min-width:205px}.form-note{font-size:12px;color:#746a64;margin:-11px 0 0}.thank-you{min-height:100vh;padding:12vh 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.thank-you img{width:250px;height:auto;margin-bottom:20px}.thank-you h1{font-size:clamp(48px,7vw,75px)}.thank-you>p:not(.eyebrow){font-size:17px;color:#675d58}.thank-you .button{margin-top:20px}@media(max-width:900px){.contact-page{grid-template-columns:1fr;gap:22px;padding-top:55px}.contact-page-intro{padding:0}.contact-page-intro>p:not(.eyebrow){margin-bottom:25px}}@media(max-width:720px){.brand img{width:59px;height:46px}.brand-text strong{font-size:15px}.brand-text small{font-size:8px}.work{padding-top:72px;padding-bottom:75px}.work-heading .text-link{display:inline-block;margin-top:20px}.work-grid{grid-template-columns:1fr}.work-grid img{height:300px}.approach-ornament img{max-height:250px;width:90%}.field-row{grid-template-columns:1fr}.contact-page{padding-bottom:76px}.form-card h2{font-size:33px}}
