@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#17231d;background:#fff;font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip-link{position:fixed;left:18px;top:-80px;z-index:999;background:#fff;color:#173b29;padding:10px 16px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:.2s}
.skip-link:focus{top:18px}

.site-header{position:absolute;z-index:50;left:0;right:0;top:24px;transition:.25s}
.site-header.is-scrolled{position:fixed;top:10px}
.site-header.is-scrolled .nav-shell{box-shadow:0 14px 45px rgba(12,50,31,.22)}
.nav-shell{min-height:82px;background:rgba(255,255,255,.96);border-radius:42px;display:flex;align-items:center;padding:10px 15px 10px 23px;box-shadow:0 14px 45px rgba(12,50,31,.15);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;min-width:245px}
.brand img{width:58px;height:58px;object-fit:contain}
.brand span{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand strong{font-family:'Playfair Display',Georgia,serif;color:var(--primary);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.brand small{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:#6c786f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700}
.main-nav>a:not(.nav-cta){position:relative;padding:12px 0;transition:.2s}
.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;border-radius:2px;background:var(--primary);transition:.2s}
.main-nav>a:not(.nav-cta):hover,.main-nav>a.is-active{color:var(--primary)}
.main-nav>a:not(.nav-cta):hover:after,.main-nav>a.is-active:after{right:0}
.nav-cta,.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;cursor:pointer;border-radius:999px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}
.nav-cta{background:var(--primary);color:#fff;padding:14px 24px;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 26%,transparent)}
.nav-cta:hover,.btn:hover{transform:translateY(-2px)}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-toggle i{display:block;width:25px;height:2px;background:#15231b;margin:5px;border-radius:2px;transition:.2s}
.menu-toggle[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{min-height:690px;position:relative;overflow:hidden;background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 74%,#56c100),var(--secondary));color:#fff;padding-top:130px}
.hero:after{content:"";position:absolute;width:620px;height:620px;right:-160px;top:-130px;background:rgba(255,255,255,.075);border-radius:50%}
.hero-pattern,.page-hero:before{position:absolute;inset:0;background-image:radial-gradient(circle at 58% 55%,rgba(255,255,255,.18) 0 1px,transparent 2px),repeating-conic-gradient(from 0deg at 58% 58%,rgba(255,255,255,.065) 0deg 8deg,transparent 8deg 18deg);opacity:.6}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.09)}
.hero-orb-one{width:230px;height:230px;left:-80px;bottom:45px}.hero-orb-two{width:110px;height:110px;left:45%;top:160px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;min-height:560px}
.hero-copy{padding:64px 0 72px;max-width:640px}
.eyebrow{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;margin-bottom:17px}
.eyebrow.dark{color:var(--primary);background:color-mix(in srgb,var(--accent) 72%,white)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15;margin-top:0}
.hero h1{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(40px,5vw,67px);line-height:1.04;letter-spacing:-2.6px;margin:0 0 22px;max-width:700px}
.hero-copy>p{font-size:17px;max-width:590px;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;align-items:center;gap:23px;margin-top:30px}
.btn{padding:14px 24px}
.btn-light{background:#fff;color:var(--primary);box-shadow:0 12px 30px rgba(13,47,30,.2)}
.btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 78%,#0b4a2b));color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 26%,transparent)}
.text-link{font-weight:800}.text-link span{display:inline-block;transition:.2s}.text-link:hover span{transform:translateX(4px)}
.hero-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;font-size:12px;color:rgba(255,255,255,.86)}
.hero-visual{align-self:end;position:relative;display:flex;justify-content:flex-end}
.hero-visual img{position:relative;z-index:2;width:100%;max-height:590px;object-fit:contain;object-position:bottom}
.hero-visual.custom-photo{height:560px;align-items:flex-end;padding:36px 0 0 40px}
.hero-visual.custom-photo img{height:520px;object-fit:cover;object-position:center top;border-radius:240px 240px 26px 26px;box-shadow:0 25px 60px rgba(8,43,22,.25);border:8px solid rgba(255,255,255,.15)}
.visual-ring{position:absolute;right:2%;bottom:4%;width:430px;height:430px;border:1px solid rgba(255,255,255,.19);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035)}

.section{padding:96px 0}.section.soft{background:linear-gradient(180deg,#f8fcf9,#edf7f1)}
.section h2,.contact-split h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.7px}
.about-section{position:relative}.about-section:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--accent);opacity:.35;right:-100px;top:80px;filter:blur(2px)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center;position:relative}
.about-image-wrap{position:relative;margin-top:30px}
.about-image{border-radius:26px;box-shadow:0 18px 48px rgba(17,58,38,.13);width:100%;height:390px;object-fit:cover}
.about-image.custom-photo{object-position:center}
.floating-stat{position:absolute;right:-24px;bottom:25px;background:#fff;border:1px solid #dbe8df;border-radius:16px;padding:15px 20px;box-shadow:0 16px 40px rgba(20,60,40,.16);display:flex;flex-direction:column;font-size:12px;color:#67746c}
.floating-stat b{font-family:'Playfair Display';font-size:22px;color:var(--primary);line-height:1.1}
.about-copy>p{font-size:17px;color:#526158}
.feature-panel{position:relative;margin-top:35px;padding:35px;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 82%,white),#fff);border:1px solid color-mix(in srgb,var(--primary) 15%,white);border-radius:23px;box-shadow:0 15px 45px rgba(20,70,43,.08);overflow:hidden}
.feature-panel:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-35px;bottom:-55px;background:var(--primary);opacity:.08}
.panel-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--primary);color:white;margin-bottom:18px}
.feature-panel h3{font-size:29px;margin-bottom:12px}.feature-panel p{color:#637269}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}.chips span{background:var(--primary);color:#fff;padding:8px 13px;border-radius:999px;font-size:11px;font-weight:700}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;margin-bottom:38px}.section-heading .eyebrow{grid-column:1/-1;justify-self:start;margin-bottom:0}.section-heading h2{margin:0}.section-heading p{color:#617068}
.service-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-mini{position:relative;display:grid;grid-template-columns:56px 1fr 36px;gap:15px;align-items:center;background:#fff;border:1px solid #dbeae1;border-radius:19px;padding:24px;box-shadow:0 10px 30px rgba(23,66,43,.06);transition:.25s;overflow:hidden}.service-mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);transform:scaleY(0);transition:.25s}.service-mini:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 55%,white);box-shadow:0 16px 38px rgba(23,66,43,.11)}.service-mini:hover:before{transform:scaleY(1)}
.service-icon{width:52px;height:52px;border-radius:16px;background:var(--primary);color:white;display:grid;place-items:center;font-size:23px}.service-mini h3{font-size:20px;margin:0 0 5px}.service-mini p{font-size:13px;color:#6a776f;margin:0}.service-mini .arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--primary);font-weight:bold}.section-cta{text-align:center;margin-top:36px}.empty-public{padding:35px;text-align:center;border:1px dashed #c8dbce;border-radius:18px;color:#6a776f;background:#fff}

.trust-section{display:grid;grid-template-columns:1fr 1fr;min-height:590px;position:relative;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 75%,#07331e));color:#fff}
.trust-photo{background-position:center;background-size:cover;min-height:590px}
.trust-overlay{position:absolute;left:max(calc((100vw - 1180px)/2),30px);top:50%;transform:translateY(-50%);width:min(470px,42vw);padding:39px;background:rgba(8,28,18,.72);border:1px solid rgba(255,255,255,.12);border-radius:25px;backdrop-filter:blur(8px);box-shadow:0 20px 60px rgba(0,0,0,.22)}
.trust-overlay h2{font-size:41px}.trust-overlay p{color:rgba(255,255,255,.82)}
.trust-points{grid-column:2;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:70px max(calc((100vw - 1180px)/2),40px) 70px 58px}.trust-points article{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:22px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);border-radius:18px;transition:.2s}.trust-points article:hover{background:rgba(255,255,255,.16);transform:translateX(4px)}.trust-points b{font-size:27px}.trust-points h3{font-family:'DM Sans';margin:0 0 5px}.trust-points p{margin:0;color:rgba(255,255,255,.78);font-size:14px}

.contact-home{background:linear-gradient(180deg,#fff,#f8fbf9)}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.contact-copy{padding-top:12px}
.contact-form{padding:34px;border-radius:22px;background:#fff;box-shadow:0 16px 48px rgba(18,55,35,.15);border:1px solid #dce8e0}.form-kicker{display:block;color:var(--primary);font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800}.contact-form h2{font-size:34px;margin:4px 0}.form-intro{margin:0 0 22px;color:#6b786f;font-size:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:flex;flex-direction:column;gap:6px}.contact-form label>span{font-size:11px;font-weight:800;color:#526158}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d4e0d9;border-radius:10px;padding:14px 15px;outline:0;background:#fff;color:#17231d}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.message-field{margin-top:16px}.contact-form textarea{height:165px;resize:vertical}.contact-form .btn{width:100%;margin-top:17px}.hp{position:absolute!important;left:-9999px!important}.form-alert{padding:12px 14px;border-radius:9px;margin-bottom:15px;font-size:14px}.form-alert.success{background:#e5f8eb;color:#166738}.form-alert.error{background:#fff0ef;color:#a52820}.contact-split>div>p{color:#5c6a61}
.contact-card{margin-top:25px;padding:16px;border-radius:18px;background:#fff;border:1px solid #dce6df;box-shadow:0 10px 32px rgba(20,60,40,.11)}.contact-card>a,.contact-card>div{display:flex;gap:14px;align-items:center;padding:10px;border-radius:12px;transition:.2s}.contact-card>a:hover{background:#f1f8f4}.contact-card span{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:var(--primary);color:#fff}.contact-card p{display:flex;flex-direction:column;margin:0;font-size:14px;min-width:0;word-break:break-word}.contact-card b{font-family:'Playfair Display';font-size:17px;color:#17231d}

.page-hero{position:relative;overflow:hidden;min-height:365px;padding:155px 25px 78px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(120deg,var(--primary),var(--secondary))}.page-hero>div{position:relative;z-index:2}.page-hero h1{font-size:clamp(45px,7vw,70px);margin-bottom:10px}.page-hero p{margin:0}.page-hero a:hover{text-decoration:underline}
.services-list{display:flex;flex-direction:column;gap:25px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding:25px;background:#fff;border:1px solid #d7e1da;border-radius:20px;box-shadow:0 10px 34px rgba(19,55,36,.12)}.service-row.reverse .service-content{order:2}.service-row.reverse img{order:1}.service-row img{width:100%;height:315px;object-fit:cover;border-radius:15px}.service-content h2{font-size:33px;margin-bottom:12px}.service-content p{color:#5c6a61}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:20px 0 25px}.feature-list span{font-size:14px;color:#345243}.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.detail-image{width:100%;min-height:500px;object-fit:cover;border-radius:25px;box-shadow:0 18px 48px rgba(18,58,37,.13)}.service-detail h2{font-size:45px}.lead{font-size:18px;color:#52625a}.rich-content{font-size:16px;color:#405047}.rich-content h2,.rich-content h3{color:#18271f}.rich-content a{color:var(--primary);text-decoration:underline}.rich-content blockquote{border-left:4px solid var(--primary);margin-left:0;padding:16px 22px;background:#f2f8f4;border-radius:0 12px 12px 0}.feature-list.detail{margin:28px 0}.prose-card{max-width:920px;background:#fff;padding:52px;border-radius:22px;border:1px solid #dbe6df;box-shadow:0 16px 45px rgba(20,59,39,.08)}.not-found{text-align:center;min-height:70vh;display:grid;place-items:center}.not-found span{font-family:'Playfair Display';font-size:110px;color:var(--primary);font-weight:700;line-height:1}.not-found h1{font-size:42px}

.site-footer{padding-top:68px;border-top:1px solid #e8eeea;background:#fff}.footer-top{display:grid;grid-template-columns:210px 1fr 180px;align-items:center;gap:30px;padding-bottom:35px;border-bottom:1px solid #e8eeea}.footer-brand{min-width:0}.footer-brand img{width:100px;height:78px}.footer-top>strong{text-align:center}.socials{display:flex;justify-content:flex-end;gap:12px}.socials a{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:bold;transition:.2s}.socials a:hover{transform:translateY(-3px)}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .95fr 1fr;gap:50px;padding:45px 0 60px}.footer-grid h3{text-transform:uppercase;font-size:19px;letter-spacing:1px}.footer-grid p{font-size:14px;color:#536159;margin:7px 0}.footer-grid a{display:block;font-size:14px;margin:9px 0;color:#435249}.footer-grid a:not(.contact-link):before{content:'→';margin-right:8px;color:var(--primary)}.footer-grid a:hover{color:var(--primary)}.footer-bottom{display:flex;justify-content:center;align-items:center;gap:8px 22px;flex-wrap:wrap;text-align:center;background:var(--primary);color:#fff;padding:18px;font-size:13px}.footer-credit a{font-weight:800;text-decoration:underline;text-underline-offset:3px}

@media(max-width:1040px){
  .site-header{top:15px}.nav-shell{min-height:72px;padding-left:17px}.brand{min-width:auto}.brand strong,.brand small{display:none}.brand img{width:50px;height:50px}.menu-toggle{display:block}.main-nav{position:absolute;top:82px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;color:#19251e;padding:15px;border-radius:20px;box-shadow:0 18px 50px rgba(11,46,28,.22);max-height:calc(100vh - 110px);overflow:auto}.main-nav.is-open{display:flex}.main-nav a{padding:13px 15px!important}.main-nav>a:not(.nav-cta):after{display:none}.main-nav .nav-cta{text-align:center;margin-top:8px}
  .hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{text-align:center;margin:auto;padding:82px 0 24px}.hero-actions,.hero-trust{justify-content:center}.hero-visual{max-width:620px;margin:auto}.hero-visual img{max-height:400px}.hero-visual.custom-photo{height:430px;padding:20px}.hero-visual.custom-photo img{height:410px;width:100%;border-radius:210px 210px 25px 25px}.visual-ring{right:12%;width:360px;height:360px}
  .about-grid,.contact-split,.service-detail{grid-template-columns:1fr;gap:42px}.trust-overlay{width:calc(50% - 40px)}.service-detail .detail-image{min-height:380px}.footer-grid{grid-template-columns:1fr 1fr}.section-heading{grid-template-columns:1fr}.section-heading .eyebrow{grid-column:auto}.service-row{gap:25px}.service-row img{height:270px}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,1180px)}.site-header .container{width:calc(100% - 20px)}.site-header.is-scrolled{top:6px}.hero{min-height:620px;padding-top:105px}.hero h1{font-size:40px;letter-spacing:-1.5px}.hero-copy{padding-top:66px}.hero-copy>p{font-size:15px}.hero-visual img{max-height:315px}.hero-visual.custom-photo{height:360px;padding:10px 0 0}.hero-visual.custom-photo img{height:345px}.hero-actions{flex-direction:column;gap:14px}.hero-trust{gap:8px 14px}.section{padding:72px 0}.section h2,.contact-split h2{font-size:34px}.about-grid{gap:30px}.about-image{height:310px}.floating-stat{right:12px;bottom:12px}.feature-panel{padding:25px}.section-heading{margin-bottom:25px}.service-mini-grid{grid-template-columns:1fr}.trust-section{display:block;min-height:auto}.trust-photo{min-height:465px}.trust-overlay{position:absolute;left:20px;right:20px;top:230px;width:auto;padding:25px}.trust-overlay h2{font-size:32px}.trust-points{padding:55px 20px}.form-grid{grid-template-columns:1fr}.contact-form{padding:24px}.page-hero{min-height:310px;padding-top:135px}.service-row,.service-row.reverse{grid-template-columns:1fr}.service-row .service-content,.service-row.reverse .service-content{order:2}.service-row img,.service-row.reverse img{order:1;height:250px}.feature-list{grid-template-columns:1fr}.service-detail h2{font-size:36px}.detail-image{min-height:300px}.prose-card{padding:28px}.footer-top{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer-top>strong{text-align:center}.socials{justify-content:center}.footer-grid{grid-template-columns:1fr;gap:25px;padding-top:35px}.footer-grid>div{border-bottom:1px solid #e7eee9;padding-bottom:18px}.footer-grid>div:last-child{border:0}.not-found span{font-size:80px}
}
@media(max-width:480px){
  .hero h1{font-size:35px}.hero-copy{padding-top:58px}.hero-visual.custom-photo{height:315px}.hero-visual.custom-photo img{height:300px}.visual-ring{width:260px;height:260px}.service-mini{grid-template-columns:48px 1fr 30px;padding:19px}.service-icon{width:45px;height:45px}.trust-photo{min-height:500px}.trust-overlay{top:250px}.trust-overlay .btn{width:100%}.contact-form h2{font-size:30px}.service-row{padding:18px}.footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
