@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#191d1b;--cream:#f7f5ee;--green:#21483e;--gold:#b48a52;--line:#d7d8cf}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit}img{max-width:100%}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.12;font-weight:600;letter-spacing:-.025em;margin:0 0 22px}h1{font-size:clamp(3.4rem,7.3vw,7.2rem)}h2{font-size:clamp(2.4rem,4vw,4.2rem)}h3{font-size:1.65rem}p{margin:0 0 1.4rem}header{position:relative;z-index:3;background:var(--cream);border-bottom:1px solid var(--line)}.nav{max-width:1400px;margin:auto;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;font:600 1.3rem Georgia,serif;letter-spacing:.03em;line-height:1}.brand small{display:block;text-transform:uppercase;font:600 .62rem 'DM Sans',sans-serif;letter-spacing:.28em;margin-top:9px;color:var(--gold)}.links{display:flex;align-items:center;gap:clamp(14px,2vw,31px)}.links a{text-decoration:none;font-size:.88rem;font-weight:600}.links a:hover,.links a[aria-current]{color:#9c7142}.button{display:inline-block;background:var(--green);color:white!important;padding:14px 24px;text-decoration:none;font-weight:700;font-size:.9rem;border:1px solid var(--green);transition:.2s}.button:hover{background:#152f29}.button.light{background:transparent;color:var(--green)!important}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:.78rem;font-weight:700;margin-bottom:18px}.wrap{max-width:1300px;margin:auto;padding:0 5vw}.hero{background:var(--green);color:var(--cream);padding:clamp(80px,10vw,155px) 0 105px;position:relative;overflow:hidden}.hero:after{content:'C P';position:absolute;right:-3vw;bottom:-130px;font:600 clamp(17rem,35vw,36rem) Georgia,serif;color:#ffffff0b;letter-spacing:-.15em;pointer-events:none}.hero .wrap{position:relative;z-index:1}.hero h1{max-width:1000px}.hero p{font-size:1.18rem;max-width:650px;color:#e0e7df}.hero .eyebrow{color:#d6ae7a}.hero .button{background:var(--cream);color:var(--green)!important;border-color:var(--cream)}.hero .button.light{background:transparent;color:white!important;border-color:#8fa69b}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.intro{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.large{font-size:1.22rem;line-height:1.6}.section{padding:95px 0}.section.alt{background:#e9ece6}.section.dark{background:var(--green);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head p{max-width:480px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;padding:42px 34px;min-height:290px;display:flex;flex-direction:column;border-top:3px solid var(--gold)}.card p{flex:1}.card a{font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);align-self:start}.num{color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.statement{background:#d9d1c2;padding:75px 0}.statement p{font:500 clamp(1.6rem,3vw,2.8rem)/1.3 'Playfair Display',serif;max-width:1050px;margin:0}.page-hero{padding:85px 0 90px;background:var(--green);color:white}.page-hero h1{font-size:clamp(3rem,6vw,6rem);max-width:950px}.page-hero p{font-size:1.18rem;max-width:650px;color:#e4ebe3}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature{border-top:1px solid var(--line);padding:25px 0}.feature strong{display:block;font-size:1.2rem;margin-bottom:8px}.steps{counter-reset:step}.steps .feature:before{counter-increment:step;content:'0' counter(step);display:block;color:var(--gold);font-weight:700;margin-bottom:18px}.cta{padding:100px 0;background:#d9d1c2}.cta .wrap{display:flex;align-items:end;justify-content:space-between;gap:30px}.cta h2{max-width:700px;margin:0}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin-top:15px;max-width:700px}.contact-block{background:white;padding:45px;max-width:700px}.contact-block a{font-size:1.25rem;font-weight:700}.local{display:flex;gap:8px;flex-wrap:wrap}.local span{border:1px solid var(--line);padding:7px 12px;font-size:.9rem}footer{background:#172f2a;color:white;padding:55px 0 30px}footer .foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer a{display:inline-block;margin-right:18px;text-decoration:none;font-size:.88rem}footer p{color:#c5d0c9}.fine{border-top:1px solid #ffffff35;margin-top:45px;padding-top:20px;font-size:.8rem;color:#bccbc0}.photo-note{border:1px solid var(--line);padding:48px;background:#eceee8;color:#59645d}.mobile-toggle{display:none}
@media(max-width:900px){.mobile-toggle{display:block;background:none;border:0;font-size:1.6rem;color:var(--green);cursor:pointer}.links{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 5vw;background:var(--cream);box-shadow:0 15px 20px #0002;flex-direction:column;align-items:flex-start}.links.open{display:flex}.split,.grid{grid-template-columns:1fr}.section-head,.cta .wrap{display:block}.grid{gap:12px}.card{min-height:0}.hero{padding:80px 0}.section,.intro{padding:65px 0}.cta{padding:70px 0}}
@media(max-width:550px){.feature-list{grid-template-columns:1fr}.contact-block{padding:27px}.actions .button{width:100%;text-align:center}h1{font-size:3.4rem}}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:62px;height:62px;object-fit:contain;background:white;border-radius:50%}.photo-frame{max-width:520px}.photo-frame img{display:block;width:100%;height:auto;border-radius:3px}.photo-frame.narrow{max-width:360px;margin:auto}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{background:white;padding:36px 30px;display:flex;flex-direction:column;border:1px solid var(--line)}.package.featured{border:2px solid var(--gold)}.package h3{font-size:2.2rem}.package .price{font:600 2rem 'Playfair Display',serif;color:var(--green);margin:4px 0 20px}.package .price small{font:500 .88rem 'DM Sans',sans-serif}.package ul{padding-left:20px;margin:0 0 24px;flex:1}.package li{padding:5px 0}.package .exclusion{font-size:.89rem;color:#59645d;border-top:1px solid var(--line);padding-top:17px}.package .button{text-align:center}.pricing-note{font-size:.9rem;color:#4c5751;max-width:1000px;margin:30px 0 0}.contact-layout{align-items:start;gap:5vw}.contact-form{background:white;padding:34px;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-grid label{display:block;font-size:.9rem;font-weight:700}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;font:inherit;padding:12px;margin-top:6px;border:1px solid #aeb8b0;border-radius:0;background:#fff;color:var(--ink)}.form-grid :is(input,select,textarea):focus{outline:2px solid var(--gold);outline-offset:1px}.contact-form button{cursor:pointer}.privacy-note{font-size:.78rem;color:#526258;margin:20px 0}.honeypot{position:absolute!important;left:-9999px!important}.form-status{margin:12px 0 0;font-weight:700}.form-status.error{color:#a73524}
@media(max-width:1000px){.package-grid{grid-template-columns:1fr}.package{max-width:700px}}@media(max-width:550px){.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.contact-form{padding:23px}.brand img{width:50px;height:50px}.brand{font-size:1rem}}
.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.area-card{background:white;border-top:3px solid var(--gold);padding:35px;min-height:290px}.area-card p:last-child{margin-bottom:0}.area-card h3{font-size:2rem}
@media(max-width:800px){.area-grid{grid-template-columns:1fr}.area-card{min-height:0}}
.pricing-group{margin-top:35px}.pricing-group+.pricing-group{margin-top:90px;padding-top:70px;border-top:1px solid var(--line)}.pricing-group>p{max-width:850px;margin-bottom:28px}
