@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--burg:#5B1F26;--cream:#F4EADF;--blue:#C6D6E6;--ink:#303033;--line:#d8c9bf;--white:#fffaf5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}button,a{font:inherit}a{text-decoration:none;color:inherit}
.nav{height:86px;padding:15px 8vw;display:flex;align-items:center;justify-content:space-between;background:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(91,31,38,.08)}.brand{display:flex;align-items:center;gap:13px}.brand-rem{font:600 29px/1 'Playfair Display',serif;color:var(--burg)}.brand-sub{font-size:9px;letter-spacing:1.7px;padding-left:13px;border-left:1px solid var(--line)}
nav{display:flex;gap:31px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.4px}nav a:hover{color:var(--burg)}.nav-cta{background:var(--burg);color:var(--cream);padding:12px 21px}.menu{display:none;background:none;border:0;color:var(--burg);font-size:22px}
.hero{min-height:510px;padding:70px 8vw;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:var(--cream)}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--burg);font-weight:600;margin:0 0 17px}.hero h1{font:500 clamp(56px,7vw,91px)/.94 'Playfair Display',serif;color:var(--burg);margin:0}.hero h1 em,.section h2 em,.about h2 em,.contact h2 em{font-weight:500}.lead{font-size:16px;max-width:530px;margin:27px 0 20px}.strap{font-size:10px;letter-spacing:3px;color:var(--burg);margin:0 0 26px}.button{border:0;padding:13px 23px;cursor:pointer;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.primary{background:var(--burg);color:var(--cream)}.outline{background:transparent;border:1px solid var(--burg);color:var(--burg)}
.hero-mark{height:340px;position:relative;color:rgba(91,31,38,.10);font:500 180px/.7 'Playfair Display',serif}.hero-mark span{position:absolute}.hero-mark span:first-child{left:5%;top:15%}.hero-mark span:nth-child(2){left:34%;top:48%}.hero-mark div{position:absolute;right:0;top:25%;font:600 9px/2.1 'DM Sans';letter-spacing:3px;color:var(--burg);border-left:1px solid var(--burg);padding-left:25px}
.services{padding:70px 6vw;background:var(--blue)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:34px}.section h2,.about h2,.contact h2{font:500 clamp(37px,4.5vw,58px)/1.05 'Playfair Display',serif;color:var(--burg);margin:0}.section-note{max-width:300px;font-size:13px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.service-card{background:var(--white);padding:28px 24px;min-height:305px;position:relative;border:1px solid rgba(91,31,38,.05)}.service-card .icon{font-size:27px;color:var(--burg)}.service-card h3{font:500 25px/1.05 'Playfair Display',serif;color:var(--burg);margin:13px 0}.plus{position:absolute;right:24px;top:30px;color:var(--burg);font-size:22px}.service-card p{font-size:13px;max-width:230px}.service-card button{background:none;border:0;padding:0;color:var(--burg);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;position:absolute;bottom:27px;left:24px}.task-panel{display:none;background:var(--blue);position:absolute;z-index:5;left:10px;right:10px;top:10px;padding:23px 22px;min-height:285px;box-shadow:0 15px 30px rgba(48,48,51,.12)}.service-card.open .task-panel{display:block}.task-panel h4{font:500 23px 'Playfair Display',serif;color:var(--burg);margin:0 0 8px}.task-panel ul,.package ul{list-style:none;padding:0;margin:0}.task-panel li{font-size:11px;padding:4px 0;border-bottom:1px solid rgba(91,31,38,.14)}.task-panel li:before,.package li:before{content:'✓';color:var(--burg);margin-right:8px;font-weight:600}.task-panel button{position:static;margin-top:13px}
.packages{padding:78px 6vw;background:var(--white)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.package{padding:32px;background:var(--cream);text-align:center}.package:nth-child(2){background:var(--blue)}.package-name{font-size:15px;letter-spacing:3px;color:var(--burg);margin:0}.package small{font-size:9px;letter-spacing:1.7px}.from{font-size:10px;letter-spacing:2px;margin-top:20px}.price{font:500 43px 'Playfair Display',serif;color:var(--burg)}.package>span{font-size:10px}.package hr{border:0;border-top:1px solid var(--line);margin:20px 0}.package ul{text-align:left;font-size:12px;line-height:2.1;min-height:105px}.package button{background:none;border:1px solid var(--burg);padding:11px 17px;color:var(--burg);font-size:9px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}
.about{padding:90px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about p:not(.eyebrow){font-size:14px;max-width:600px}.approach{border-left:1px solid var(--line);padding-left:55px}.approach>div{display:flex;gap:25px;padding:18px 0;border-bottom:1px solid var(--line)}.approach b{font:500 31px 'Playfair Display',serif;color:var(--blue)}.approach span{font-size:12px}.approach strong{display:block;color:var(--burg);font:500 19px 'Playfair Display',serif;margin-bottom:2px}
.contact{padding:75px 6vw;background:var(--burg);color:var(--cream);display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.contact .eyebrow{color:var(--blue)}.contact h2{color:var(--cream)}.contact p{font-size:14px;max-width:470px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-card{background:var(--cream);color:var(--ink);padding:27px}.contact-card.light{background:var(--blue)}.contact-icon{font-size:25px;color:var(--burg)}.contact-card h3{font:500 24px 'Playfair Display',serif;color:var(--burg);margin:10px 0}.contact-card p{font-size:12px;min-height:60px}.modal{position:fixed;inset:0;background:rgba(38,22,24,.72);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-box{background:var(--white);width:min(650px,100%);padding:42px;position:relative;max-height:90vh;overflow:auto}.modal-box h2{font:500 42px/1.05 'Playfair Display',serif;color:var(--burg);margin:0 0 25px}.close{position:absolute;right:20px;top:16px;border:0;background:none;font-size:28px;color:var(--burg);cursor:pointer}.modal form{display:grid;gap:15px}.modal label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--burg);font-weight:600}.modal input,.modal textarea{display:block;width:100%;margin-top:6px;border:0;border-bottom:1px solid var(--line);padding:10px 0;background:transparent;outline:none}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hidden{display:none}.success{display:none!important;color:var(--burg)!important}.success.show{display:block!important}
footer{padding:30px 7vw;display:flex;justify-content:space-between;align-items:center;background:var(--white);font-size:10px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand span{font:600 27px 'Playfair Display',serif;color:var(--burg)}.footer-brand small{padding-left:12px;border-left:1px solid var(--line);letter-spacing:1.4px}
@media(max-width:800px){.nav{height:72px;padding:14px 6vw}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 6vw;background:var(--white);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding:60px 7vw}.hero-mark{display:none}.services,.packages,.contact{padding:65px 6vw}.section-head{display:block}.section-note{margin-top:15px}.service-grid,.package-grid,.about,.contact,.contact-options{grid-template-columns:1fr}.service-card{min-height:270px}.about{padding:70px 7vw}.approach{padding-left:25px}.two{grid-template-columns:1fr}.modal-box{padding:32px 24px}footer{display:block}footer p{margin:15px 0}}

.package-note{padding:0 6vw 65px;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:25px}.package-note p{font-size:12px;margin:0;padding:18px 20px;background:var(--cream)}.package-note p+ p{background:var(--blue)}.task-note{font-size:10px!important;line-height:1.45!important;color:var(--burg)!important;margin-top:8px!important}.includes{font-size:11px!important;color:var(--burg)!important;font-weight:600;margin:10px 0 0}
@media(max-width:800px){.package-note{grid-template-columns:1fr;padding:0 6vw 50px}}
