:root{--ink:#36292b;--muted:#6c5c58;--paper:#f9f4ee;--cream:#eee2d5;--blush:#e9d7ce;--gold:#ad855a;--plum:#4f3444}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1320px;margin:auto;padding:0 5%}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.76rem;font-weight:700;color:#806957}.serif{font-family:Playfair Display,Georgia,serif;font-weight:400}header{position:absolute;z-index:5;width:100%;top:0}.nav{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-family:Playfair Display,Georgia,serif;font-size:1.42rem;letter-spacing:.03em;white-space:nowrap}.brand img{width:62px;height:62px;object-fit:contain}.navlinks{display:flex;gap:34px;align-items:center;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.navlinks a:hover,.textlink:hover{color:#a26c45}.pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:50px;background:var(--plum);color:white;padding:15px 24px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;box-shadow:0 9px 22px #39222b20;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-2px);background:#70445b;color:white}.nav .pill{background:#faf4ed;color:var(--ink);box-shadow:none}.hero{min-height:760px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 45%,#f5d9c6 0,#ecd7c9 24%,transparent 52%),linear-gradient(112deg,#faf5ef 9%,#eeded3 64%,#d5b8a3 100%)}.hero:before{content:'';position:absolute;right:-17%;top:-34%;width:68%;height:110%;border:1px solid #af86645e;border-radius:50%;transform:rotate(-25deg)}.hero:after{content:'';position:absolute;right:12%;bottom:-18%;width:650px;height:260px;background:#b68a7052;filter:blur(90px);border-radius:50%}.hero-inner{min-height:760px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;position:relative;z-index:1;padding-top:90px}.hero-copy{padding:30px 0 68px;max-width:650px}.hero h1{font:500 clamp(4rem,6.5vw,7rem)/.98 Playfair Display,Georgia,serif;letter-spacing:-.035em;margin:25px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;font-size:.8em;color:#9e694e}.hero p{font-size:1.05rem;line-height:1.9;max-width:500px;color:#5c4e4b}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap;margin-top:35px}.textlink{font-size:.77rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;border-bottom:1px solid #896d5d;padding-bottom:6px}.hero-art{height:630px;position:relative;display:grid;place-items:center}.halo{position:absolute;width:min(94%,540px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fbf2e8 0 35%,#e7cab9 67%,#c69b7e 100%);box-shadow:0 35px 80px #805d4b33,inset 0 0 0 1px #fff7}.hero-art img{position:relative;width:min(110%,660px);filter:drop-shadow(0 32px 22px #47302e40)}.section{padding:100px 0}.section-head{max-width:650px;margin-bottom:46px}.section h2{font:500 clamp(2.7rem,4vw,4.4rem)/1.08 Playfair Display,Georgia,serif;margin:15px 0 16px}.section-head p,.intro p,.closing p{line-height:1.85;color:var(--muted);font-size:1rem}.intro{background:#f5ece5}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.intro-art{min-height:420px;border-radius:220px 220px 10px 10px;background:radial-gradient(circle at 48% 43%,#f5e5d8 0 25%,#cba990 80%);display:grid;place-items:center;position:relative;overflow:hidden}.intro-art:before{content:'';position:absolute;inset:20px;border:1px solid #fff9;border-radius:210px 210px 4px 4px}.intro-art img{width:75%;max-width:390px;position:relative;filter:drop-shadow(0 25px 25px #61483c44)}.intro h2{max-width:560px}.offerings{background:#faf6f1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{min-height:350px;padding:30px;display:flex;flex-direction:column;background:linear-gradient(145deg,#f7eee7,#eeded2);border:1px solid #fff;box-shadow:0 12px 27px #785b4812;border-radius:8px}.card:nth-child(2){background:linear-gradient(145deg,#eee3e4,#f3e6dc)}.card:nth-child(3){background:linear-gradient(145deg,#e9d8ca,#f6eee6)}.card:nth-child(4){background:linear-gradient(145deg,#efe4dd,#e6d4ce)}.card:nth-child(5){background:linear-gradient(145deg,#efe4d7,#f7eae2)}.card .number{color:#a87b63;font-family:Italiana,serif;font-size:2rem}.card h3{font:500 2rem/1.12 Playfair Display,Georgia,serif;margin:20px 0 12px}.card p{font-size:.9rem;line-height:1.7;color:#645753;margin:0 0 23px}.card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #a4826845;padding-top:17px}.price{font-size:1.2rem;font-weight:700}.card-bottom a{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;border-bottom:1px solid #7e6258;padding-bottom:4px}.note{font-size:.82rem;color:var(--muted);margin-top:22px}.closing{text-align:center;background:#47313c;color:#f8eee5;padding:100px 20px}.closing .eyebrow{color:#e6bd92}.closing h2{font:500 clamp(3rem,5vw,5.5rem)/1.08 Playfair Display,Georgia,serif;max-width:760px;margin:18px auto}.closing p{color:#e7d5d2;max-width:590px;margin:0 auto 29px}.closing .pill{background:#e9c7a6;color:#39242d}footer{background:#392831;color:#f4e9e0;padding:38px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:25px}.foot small{color:#cdbbb3}.foot a{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}#menu{display:none}@media(max-width:900px){.navlinks{gap:16px}.navlinks a:nth-child(2){display:none}.hero{min-height:700px}.hero-inner{min-height:700px}.hero-art{height:500px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.wrap{padding:0 6%}.nav{height:82px}.brand{font-size:1.15rem}.brand img{width:48px;height:48px}.navlinks{display:none}.nav .pill{padding:12px 15px;font-size:.65rem}.hero,.hero-inner{min-height:auto}.hero-inner{grid-template-columns:1fr;padding-top:125px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.1rem,12vw,4.7rem);margin:18px 0}.hero p{font-size:.97rem;line-height:1.7}.hero-actions{gap:20px;margin-top:25px}.hero-art{height:360px}.hero-art img{width:min(110%,420px)}.halo{width:330px}.section{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:34px}.intro-art{min-height:320px;order:2}.cards{grid-template-columns:1fr}.card{min-height:310px}.closing{padding:80px 6%}.foot{flex-direction:column;align-items:flex-start}}
  .portrait-wrap{min-height:520px;background:#ddc4b3;display:block;overflow:hidden}.portrait-wrap:before{display:none}.portrait-wrap img{width:100%;height:520px;max-width:none;object-fit:cover;object-position:center 29%;filter:none}.intro .signature{font:italic 1.35rem Georgia,serif;color:#9b6b52;margin:0 0 24px}.methods{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 32px}.methods span{border:1px solid #b99b855c;border-radius:50px;padding:9px 16px;color:#6c544d;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.method-mark{font-family:Georgia,serif;color:#aa7b60;padding-right:6px}.intro-copy{max-width:570px}@media(max-width:650px){.portrait-wrap,.portrait-wrap img{min-height:0;height:430px}.portrait-wrap{order:0}.intro-copy{order:1}}
  .offerings-top{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:7%;margin-bottom:46px}.offerings-top .section-head{margin:0}.offerings-photo{width:100%;height:320px;object-fit:cover;object-position:center 57%;border-radius:170px 170px 7px 7px;box-shadow:0 18px 40px #7157471a}.fine-divider{display:flex;align-items:center;gap:17px;color:#ac896f;margin:28px 0 25px;font:1.2rem Georgia,serif}.fine-divider:before,.fine-divider:after{content:'';height:1px;background:#bca08a77;flex:1}.offerings-top .fine-divider{max-width:160px}.hero-copy .eyebrow:before{content:'✧';font-size:1rem;margin-right:12px;color:#a2785e}.card .number{letter-spacing:.045em}.card .number:after{content:' ✦';font:1rem Georgia,serif;color:#b99a7b}.closing{position:relative;overflow:hidden}.closing:before{content:'✧';position:absolute;left:6%;top:13%;font:7rem Georgia,serif;color:#dcb99424}.closing:after{content:'◇';position:absolute;right:7%;bottom:5%;font:8rem Georgia,serif;color:#dcb99420}@media(max-width:650px){.offerings-top{grid-template-columns:1fr;gap:26px}.offerings-photo{height:270px}.closing:before,.closing:after{font-size:4rem}}
  .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.badge{display:inline-block;flex:none;padding:7px 11px;border-radius:30px;background:#4f3444;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card:nth-child(4) .badge{background:#735135}.closing{scroll-margin-top:30px}@media(max-width:650px){.navlinks{display:flex;position:absolute;top:82px;right:6%;gap:0}.navlinks a{display:none}.navlinks a[href="#contact"]{display:block;background:#faf4ed;padding:8px 12px;border-radius:30px;font-size:.65rem}.nav .pill{display:none}.card-top{align-items:center}}
  .testimonials{background:#f3e9e2}.testimonial-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}.testimonial-heading h2{margin-bottom:10px}.testimonial-disclosure{max-width:680px;color:var(--muted);line-height:1.6;margin:0}.testimonial-more{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.carousel-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.testimonial-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding:8px 3px 22px}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-card{flex:0 0 calc((100% - 36px)/3);min-width:0;background:#fbf7f1;padding:28px;border:1px solid #e6d8cd;border-radius:8px;scroll-snap-align:start;display:flex;flex-direction:column;min-height:275px}.quote-mark{font:3rem Georgia,serif;color:#aa7b60;height:42px}.testimonial-card blockquote{font:1.02rem/1.7 'DM Sans',sans-serif;margin:8px 0 24px;color:#4e4141;flex:1}.testimonial-name{font-weight:700;margin:0 0 5px}.sample-label{font-size:.76rem;color:#806957;letter-spacing:.07em;text-transform:uppercase}.carousel-arrow{background:#4f3444;color:white;border:0;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;flex:none}.carousel-arrow:hover{background:#70445b}.carousel-arrow:focus-visible,.testimonial-more:focus-visible{outline:3px solid #a57555;outline-offset:3px}@media(max-width:900px){.testimonial-card{flex-basis:calc((100% - 18px)/2)}}@media(max-width:650px){.testimonial-heading{align-items:start;flex-direction:column}.testimonial-card{flex-basis:100%;min-height:250px;padding:24px}.carousel-shell{gap:5px}.carousel-arrow{width:32px;height:32px}}@media(prefers-reduced-motion:reduce){.testimonial-track{scroll-behavior:auto}}
.public-contact{max-width:680px;margin:30px auto 0;text-align:left;display:grid;gap:18px;padding:25px;background:#faf6f1;border:1px solid #d7c5b9;border-radius:10px}.public-contact label{display:grid;gap:8px;font-size:.9rem;color:#594450}.public-contact input:not([type=checkbox]),.public-contact textarea{width:100%;padding:12px;border:1px solid #bca08a;border-radius:5px;background:white;font:1rem 'DM Sans',sans-serif}.public-contact .contact-consent{display:flex;gap:8px;align-items:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.public-contact .pill{cursor:pointer;border:0;background:#4f3444;color:white;justify-self:start}.public-contact .contact-status{font-size:.85rem;line-height:1.5;margin:0}.contact-consent a{text-decoration:underline}@media(max-width:600px){.contact-grid{grid-template-columns:1fr}.public-contact{margin:25px 20px 0;padding:20px}}

[hidden]{display:none!important}

.spam-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0}.card h3{overflow-wrap:anywhere}.card-bottom,.card-top{flex-wrap:wrap}.card-top{gap:10px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cards{grid-template-columns:minmax(0,1fr)}}
