@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{--green:#344334;--deep:#263629;--sage:#647263;--taupe:#99806d;--cream:#f8f7f3;--sand:#eee9e1;--paper:#fffefa;--ink:#273129;--muted:#6e766c;--line:#dcdcd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1190px;padding:0 32px;margin:auto}.topbar{background:var(--deep);color:#edf0e8;font-size:11px;letter-spacing:.14em;text-align:center;padding:8px}.site-header{background:rgba(255,254,250,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid #e7e7df;backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:93px;gap:24px}.brand{display:block;width:215px;flex-shrink:0}.brand img{width:100%;height:auto}.links{display:flex;align-items:center;gap:31px;font-size:12px;letter-spacing:.06em;font-weight:600}.links a:hover,.links a.active{color:var(--taupe)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:11px;background:var(--green);color:#fff!important;padding:14px 23px;border:1px solid var(--green);letter-spacing:.035em;font-size:12px;font-weight:600;transition:.2s;border-radius:2px;white-space:nowrap}.btn:hover{background:var(--deep);transform:translateY(-1px)}.btn.outline{background:transparent;color:var(--green)!important}.btn.outline:hover{background:var(--sand)}.mobile-toggle{display:none;border:none;background:none;font-size:28px;color:var(--green);cursor:pointer}.eyebrow{text-transform:uppercase;color:var(--taupe);letter-spacing:.27em;font-size:11px;font-weight:700;margin:0 0 18px}.display,h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15;font-weight:400}.display{font-size:clamp(42px,5vw,72px);letter-spacing:-.025em;margin:0 0 25px}h2{font-size:clamp(36px,3.7vw,54px);margin:0 0 24px}h3{font-size:26px;margin:0 0 15px}.lead{font-size:17px;line-height:1.9;color:#596259;max-width:610px}.hero{background:linear-gradient(105deg,#f8f7f2 0%,#f8f7f2 59%,#e8e8df 59%);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr .78fr;gap:38px;min-height:600px;align-items:center}.hero-copy{padding:60px 0 80px}.hero .lead{margin:0 0 32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-art{position:relative;height:600px;align-self:stretch;display:flex;align-items:end;justify-content:center}.hero-art:before{content:'';position:absolute;width:420px;height:420px;border:1px solid #b8bdad;border-radius:50%;top:80px;right:-40px}.hero-art img{position:relative;z-index:1;width:85%;height:520px;object-fit:cover;object-position:50% 20%;border-radius:240px 240px 0 0;filter:saturate(.85)}.hero-art .tag{position:absolute;left:-35px;bottom:32px;z-index:3;background:#fffefa;padding:23px 28px;border-left:2px solid var(--taupe);font-family:Georgia,serif;font-size:19px;box-shadow:0 12px 45px #26362918}.tag small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:.17em;color:var(--taupe);text-transform:uppercase;margin-bottom:6px}.microband{background:var(--green);color:#f5f4ec;padding:25px 0}.microband .container{display:flex;justify-content:center;gap:38px;align-items:center;font-size:11px;letter-spacing:.17em;text-transform:uppercase}.microband span:not(:last-child):after{content:'•';padding-left:38px;color:#bcb09e}section.section{padding:105px 0}.section.alt{background:#f4f1eb}.intro{max-width:780px;margin:0 auto 55px;text-align:center}.intro p:last-child{color:#6d756b}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border:1px solid #deded5;padding:40px 33px;background:var(--paper);min-height:300px}.service .number{font:13px Georgia,serif;color:var(--taupe);display:block;margin-bottom:34px}.service p{font-size:14px;color:var(--muted);margin:0 0 20px}.service a{color:var(--green);font-size:12px;font-weight:700;border-bottom:1px solid #adb6aa;padding-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.image-frame{background:#e9e8df;padding:22px 22px 0;position:relative}.image-frame img{width:100%;height:550px;object-fit:cover;object-position:center 16%}.image-frame:before{content:'';position:absolute;border:1px solid #ab9c85;inset:12px 12px -12px -12px;pointer-events:none}.ticks{display:grid;gap:18px;margin:30px 0}.tick{display:flex;gap:15px;align-items:start;color:#566357;font-size:14px}.tick:before{content:'✦';color:#9b8a70}.quote{background:var(--deep);color:var(--paper);padding:95px 0;text-align:center}.quote blockquote{max-width:900px;margin:0 auto;font:clamp(27px,3.5vw,45px)/1.5 'Playfair Display',serif}.quote p{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#c1bdad;margin:25px 0 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.step{border-top:1px solid #b6bcad;padding-top:22px}.step strong{font:28px Georgia;color:#9e8c7b}.step p{font-size:14px;color:var(--muted)}.contact{background:#eae7df}.contact-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.contact p{color:#5f685f}.contact-address{margin:25px 0;font-size:14px}.contact-address strong{display:block;color:var(--green);margin-bottom:4px}.footer{background:var(--deep);color:#f1f0e9;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:65px}.footer-logo{width:250px;background:#fffefa;padding:6px 10px;border-radius:2px}.footer h4{font-size:12px;letter-spacing:.17em;text-transform:uppercase;margin:6px 0 20px;color:#ddd5c8}.footer p,.footer a{font-size:13px;color:#d0d8ce}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #546052;margin-top:43px;padding-top:20px;font-size:11px;color:#bac2b7;display:flex;justify-content:space-between;gap:15px}.float-wa{position:fixed;bottom:26px;right:25px;z-index:90;background:#31553d;color:#fff;border-radius:50px;padding:14px 19px;font-size:12px;font-weight:700;box-shadow:0 6px 25px #273c2b40}.float-wa:hover{background:#223e2a}.page-hero{background:#f4f1eb;padding:74px 0 90px}.page-hero .container{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px}.page-hero img{width:100%;max-height:540px;object-fit:cover;object-position:center 16%;border-radius:220px 220px 5px 5px}.page-hero .display{font-size:clamp(45px,5.3vw,76px)}.line-list{border-top:1px solid var(--line)}.line-list .item{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.line-list strong{font-size:12px;color:var(--taupe)}.line-list p{margin:0;color:#586158}.note{font-size:12px;color:#81877c;margin-top:20px}.mobile-only{display:none}@media(max-width:900px){.container{padding:0 22px}.nav{min-height:78px}.brand{width:170px}.mobile-toggle{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 15px 25px #0001;flex-direction:column;align-items:stretch;gap:19px}.links.open{display:flex}.hero-layout{grid-template-columns:1fr .8fr;gap:10px}.hero-art .tag{left:-50px}.split{gap:38px}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:30px}.microband .container{gap:10px;flex-wrap:wrap}.microband span:not(:last-child):after{padding-left:10px}}@media(max-width:680px){.topbar{font-size:9px}.hero{background:var(--cream)}.hero-layout,.split,.contact-panel,.page-hero .container{grid-template-columns:1fr}.hero-copy{padding:70px 0 35px}.hero-art{height:390px}.hero-art:before{width:320px;height:320px;top:0;right:0}.hero-art img{height:380px;width:75%}.hero-art .tag{left:0;bottom:12px;padding:13px 16px;font-size:15px}.microband .container{font-size:9px;gap:7px}.microband span:not(:last-child):after{padding-left:7px}section.section{padding:70px 0}.cards,.steps,.footer-grid{grid-template-columns:1fr}.service{min-height:auto}.image-frame img{height:430px}.quote{padding:67px 0}.contact-panel{gap:12px}.footer-bottom{display:block}.page-hero{padding:52px 0}.page-hero .container{gap:28px}.page-hero img{max-height:410px;width:80%;margin:auto}.line-list .item{grid-template-columns:1fr;gap:2px}.float-wa{right:13px;bottom:12px;padding:12px 15px;font-size:11px}}
