:root{--ivory:#faf7f2;--beige:#e9dfd2;--forest:#203c35;--sage:#a8b5a0;--gold:#c6a878;--charcoal:#242624;--muted:#747770;--white:#fff;--line:rgba(32,60,53,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold)}img{display:block;width:100%;object-fit:cover}.skip-link{position:absolute;top:-50px;left:12px;background:var(--forest);color:#fff;padding:10px 16px;z-index:99}.skip-link:focus{top:12px}
.site-header{height:82px;position:sticky;top:0;z-index:30;background:rgba(250,247,242,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,60,53,.08)}.nav-wrap{max-width:1280px;height:100%;padding:0 36px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--serif);font-size:21px;letter-spacing:.12em;color:var(--forest);line-height:1.1}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.3em;margin-top:7px;color:#747770}.nav-links{display:flex;align-items:center;gap:25px;font-size:12px;letter-spacing:.04em}.nav-links a:not(.button){transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:#997d4b}.menu-toggle{display:none;background:none;border:0;color:var(--forest);font-size:22px;cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:var(--forest);color:#fff;padding:14px 23px;border:1px solid var(--forest);border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.button:hover{background:#31584d;transform:translateY(-2px);box-shadow:0 9px 20px rgba(32,60,53,.14)}.button-outline{background:transparent;color:var(--forest)}.button-outline:hover{color:white}.button-light{background:var(--ivory);border-color:var(--ivory);color:var(--forest)}.text-link{color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:4px}
.container{max-width:1180px;margin:0 auto;padding:0 30px}.eyebrow{display:inline-block;color:#8b7248;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.23em;margin-bottom:14px}.display{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.025em;color:var(--forest)}h1.display{font-size:clamp(42px,6vw,76px)}h2.display{font-size:clamp(34px,4vw,54px)}h3.display{font-size:28px}.lead{font-size:16px;color:#696d67;max-width:590px}.section{padding:96px 0}.section-sm{padding:66px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head p{max-width:460px;color:var(--muted);margin:0}.hero{padding:50px 0 68px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px}.hero-copy{padding:26px 0}.hero-copy .lead{margin:22px 0 30px}.hero-image{position:relative;height:580px}.hero-image img{height:100%;min-height:400px}.hero-tag{position:absolute;bottom:24px;left:-28px;background:var(--ivory);padding:18px 22px;color:var(--forest);font-family:var(--serif);font-size:17px;box-shadow:0 8px 25px #203c351c}.button-row{display:flex;gap:12px;flex-wrap:wrap}.image-frame{overflow:hidden;background:var(--beige)}.image-frame img{height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.image-frame:hover img,.gallery-item:hover img{transform:scale(1.035)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-image{height:500px}.split-copy p{color:var(--muted)}.soft-bg{background:#f1ece4}.forest-bg{background:var(--forest);color:white}.forest-bg .display,.forest-bg .eyebrow{color:white}.forest-bg p{color:#d5ded8}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid rgba(32,60,53,.08);box-shadow:0 7px 28px rgba(32,60,53,.045);overflow:hidden}.card-image{height:230px;overflow:hidden;background:var(--beige)}.card-image img{height:100%;transition:transform .6s}.card:hover .card-image img{transform:scale(1.04)}.card-body{padding:23px}.card-body p{color:var(--muted);font-size:13px;margin:8px 0 17px}.card-title{font-family:var(--serif);font-size:22px;color:var(--forest);line-height:1.25;margin:0}.pill{display:inline-flex;border:1px solid var(--line);background:transparent;padding:8px 15px;font-size:11px;color:var(--forest);cursor:pointer;transition:.2s}.pill:hover,.pill.active{background:var(--forest);color:white}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.banner{padding:76px 0;background:var(--forest);color:white;text-align:center}.banner .display{color:white;max-width:740px;margin:0 auto 18px}.banner p{max-width:610px;margin:0 auto 26px;color:#d4ddd7}.page-hero{padding:76px 0 50px;background:#f1ece4}.page-hero .display{max-width:850px}.page-hero .lead{margin-top:18px}.breadcrumb{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:22px}.concern-card{padding:25px;background:#fff;border-left:2px solid var(--gold)}.concern-card h3{font-family:var(--serif);font-size:22px;color:var(--forest);margin:0 0 8px}.concern-card p{color:var(--muted);font-size:13px;margin:0 0 16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:1px solid var(--gold);padding-top:20px}.step-num{color:#997d4b;font-size:11px;letter-spacing:.18em}.step h3{font-family:var(--serif);font-size:24px;color:var(--forest);margin:9px 0}.step p{font-size:13px;color:var(--muted)}.team-photo{height:340px}.demo-label{display:inline-block;background:#f3eee5;color:#80683e;font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:5px 8px;margin-bottom:9px}.gallery-grid{columns:3 260px;column-gap:18px}.gallery-item{break-inside:avoid;margin-bottom:18px;position:relative;overflow:hidden;background:var(--beige);cursor:zoom-in}.gallery-item img{transition:transform .6s}.gallery-item:nth-child(3n+1) img{height:300px}.gallery-item:nth-child(3n+2) img{height:220px}.gallery-item:nth-child(3n) img{height:260px}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 13px;color:white;background:linear-gradient(transparent,rgba(12,24,20,.65));font-size:12px;pointer-events:none}.lightbox{display:none;position:fixed;inset:0;background:rgba(12,20,17,.92);z-index:80;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:85vh;max-width:90vw;width:auto}.lightbox button{position:absolute;top:22px;right:27px;background:none;border:0;color:white;font-size:32px;cursor:pointer}.pricing-card{padding:32px;background:white;border:1px solid var(--line)}.price{font-family:var(--serif);font-size:34px;color:var(--forest);margin:18px 0}.price small{font:12px var(--sans);color:var(--muted)}.article-card .card-image{height:210px}.article-meta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#997d4b}.search-box{padding:13px 15px;border:1px solid var(--line);background:white;width:min(100%,360px)}.faq-list{max-width:850px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;text-align:left;padding:20px 0;background:transparent;border:0;color:var(--forest);font-family:var(--serif);font-size:20px;cursor:pointer}.faq-answer{display:none;color:var(--muted);padding:0 36px 18px 0;font-size:14px}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-icon{transition:transform .2s;font:22px var(--sans)}.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.form-card{background:white;padding:34px;box-shadow:0 8px 30px rgba(32,60,53,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:var(--forest);letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;border:1px solid #d8d9d3;background:#fff;padding:12px 13px;color:var(--charcoal);border-radius:0}.field textarea{min-height:105px;resize:vertical}.consent{display:flex;gap:10px;align-items:start;font-size:12px;color:var(--muted);margin:18px 0}.notice{background:#f5f0e7;padding:14px 16px;color:#615d53;font-size:12px;margin:16px 0}.message{margin-top:14px;padding:13px;background:#edf3ed;color:var(--forest);font-size:13px}.message.error{background:#f8e9e6;color:#793d32}.review{border:1px solid var(--line);padding:18px;margin:17px 0;display:none}.review.show{display:block}.map-placeholder{height:320px;background:linear-gradient(135deg,#e9dfd2,#d8ded2);display:grid;place-items:center;text-align:center;color:var(--forest);border:1px solid var(--line);padding:25px}.footer{background:#192e29;color:#fff;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}.footer h3{font-family:var(--serif);font-size:17px;margin:0 0 15px}.footer p,.footer a{font-size:12px;color:#c5d0c9}.footer a:hover{color:white}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:46px;padding-top:18px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b6c2bb}.back-top{position:fixed;right:22px;bottom:22px;z-index:20;border:0;width:42px;height:42px;background:var(--forest);color:white;font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.empty-state{padding:28px;text-align:center;background:#fff;color:var(--muted);grid-column:1/-1}
@media(max-width:1000px){.nav-links{gap:14px}.nav-links a{font-size:11px}.nav-wrap{padding:0 22px}.hero-grid{gap:35px}.hero-image{height:500px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:72px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;background:var(--ivory);padding:16px 24px 24px;box-shadow:0 14px 22px #203c351c;align-items:stretch;gap:0;flex-direction:column}.nav-links.open{display:flex}.nav-links a{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.nav-links .button{margin-top:14px}.hero{padding:26px 0 45px}.hero-grid,.split,.form-wrap{grid-template-columns:1fr;gap:32px}.hero-copy{padding:12px 0 0}.hero-image{height:380px}.hero-tag{left:12px;bottom:14px}.container{padding:0 22px}.section{padding:66px 0}.section-sm{padding:48px 0}.section-head{display:block}.section-head p{margin-top:15px}.card-grid{grid-template-columns:repeat(2,1fr);gap:15px}.card-image{height:190px}.card-body{padding:18px}.card-title{font-size:20px}.steps{grid-template-columns:1fr;gap:20px}.page-hero{padding:53px 0 35px}.form-card{padding:24px}.footer-grid{gap:25px}.footer{padding-top:46px}}
@media(max-width:520px){body{font-size:14px}.brand{font-size:18px}.brand small{font-size:8px}.card-grid{grid-template-columns:1fr}.hero-image{height:330px}.hero-image img{min-height:330px}.hero-copy .button-row .button{width:100%}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.pricing-card{padding:24px}.section-head .text-link{display:inline-block;margin-top:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.card-image{display:block}
