@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');:root{--ink:#25312e;--muted:#65716c;--green:#446f60;--cream:#f7f7f2;--gold:#bda477}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 42px));margin:auto}.header{position:sticky;top:0;background:#fffefcf5;z-index:30;box-shadow:0 3px 22px #142b2112;backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:1.7px;font-weight:700;line-height:1.1}.brand img{height:58px;width:58px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:5px;color:var(--green)}nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}nav a:hover{color:var(--green)}.nav-cta,.btn{background:var(--green);color:white!important;padding:13px 23px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:0;cursor:pointer;transition:.2s}.btn:hover,.nav-cta:hover{background:#305849;transform:translateY(-1px)}.menu{display:none;background:none;border:0;font-size:28px}.hero{min-height:640px;position:relative;display:flex;align-items:center;color:white;background:#172923}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#14241eea 0%,#1d3327aa 52%,#1d332730 100%)}.hero-content{position:relative;padding:110px 0}.eyebrow{color:var(--green);letter-spacing:3px;font-size:12px;font-weight:700}.eyebrow.light{color:#e2d5b3}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.18}h1{font-size:clamp(52px,7vw,96px);margin:22px 0;max-width:790px;font-weight:500}h1 em{color:#ddc99b}h2{font-size:clamp(34px,4vw,52px);font-weight:500;margin:14px 0 18px}h3{font-size:23px}.hero p{font-size:18px;max-width:530px;color:#e6e8e3}.actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn.outline{background:transparent;border:1px solid #e5e8e1}.section{padding:100px 0;scroll-margin-top:80px}.tinted{background:var(--cream)}.section-head{text-align:center;max-width:760px;margin:0 auto 48px}.section-head p,.about p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.photo-stack img{width:100%;height:540px;object-fit:cover;border-radius:160px 160px 12px 12px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.mini-grid h3{font-size:18px}.mini-grid p{font-size:13px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{background:white;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #1a3a2710}.service img{height:225px;width:100%;object-fit:cover}.service-body{padding:24px}.service h3{margin:0 0 10px}.service p{font-size:14px;color:var(--muted);min-height:75px}.service a{color:var(--green);font-weight:700;font-size:13px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.features div{background:#f5f7f3;padding:26px;border-radius:12px;color:var(--green)}.features strong{color:var(--ink);margin-left:8px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{padding:0;border:0;cursor:pointer;overflow:hidden;border-radius:10px;background:#ddd}.gallery-item img{width:100%;height:225px;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.06)}.steps,.reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps>div,.review{background:white;padding:25px;border:1px solid #e7eae3;border-radius:12px}.steps b{color:var(--green);font-size:30px}.steps h3{font-size:21px}.steps p,.review p{color:var(--muted);font-size:14px}.review .stars{color:#c49c52;letter-spacing:2px}.review strong,.review small{display:block}.review small{color:var(--muted)}.contact{background:#f2f5f0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px}.contact-info{display:grid;gap:15px}.info,.contact-form{background:white;border:1px solid #e3e8df;border-radius:14px;padding:27px}.info h3{margin:0 0 10px;font-size:21px}.info a,.info p{font-size:14px;color:var(--muted);margin:0}.contact-form{padding:35px}.contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:1px solid #dfe4dc;border-radius:6px;padding:13px;margin-top:8px;font:inherit;font-size:14px;background:#fbfcfa}textarea{resize:vertical}.notice{padding:12px;border-radius:6px}.success{background:#e4f4e7}.error{background:#ffebea}footer{background:#20392f;color:#e8eee8;padding:55px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-inner p,.footer-inner small{color:#b9c9bd}.footer-inner a{margin-right:20px;font-size:14px}.lightbox:not([hidden]){position:fixed;inset:0;background:#000e;z-index:100;display:flex;align-items:center;justify-content:center;padding:30px}.lightbox img{max-width:95vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:10px;color:white;background:none;border:0;font-size:46px;cursor:pointer}@media(max-width:950px){.menu{display:block}nav{display:none;position:absolute;top:84px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:25px;box-shadow:0 20px 30px #0002}nav.open{display:flex}.split,.contact-grid{grid-template-columns:1fr}.services,.features{grid-template-columns:repeat(2,1fr)}.steps,.reviews{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.section{padding:65px 0}.hero{min-height:550px}.hero-content{padding:80px 0}.hero p{font-size:16px}.services,.features,.steps,.reviews,.two{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-item img{height:160px}.photo-stack img{height:360px}.contact-form{padding:22px}.brand{font-size:13px}.brand img{height:48px;width:48px}}