*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 color:#17372d;
 background:#fbf8f2;
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
:root{
 --green:#173c30;
 --green2:#245947;
 --green3:#315f4e;
 --cream:#fbf8f2;
 --cream2:#f3ede1;
 --cream3:#ede2cf;
 --gold:#c79d5a;
 --gold2:#e7c98f;
 --text:#17372d;
 --muted:#68736d;
 --line:#e6ded0;
 --white:#fff;
 --wa:#24ca64;
 --shadow:0 24px 65px rgba(28,58,44,.10);
 --container:1180px;
}
.container{
 width:min(var(--container),calc(100% - 40px));
 margin:auto;
}

/* TOP */
.microbar{
 background:#173c30;
 color:#eef4ef;
 font-size:12px;
}
.microbar-inner{
 min-height:37px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
}
.micro-left,.micro-right{display:flex;align-items:center;gap:25px}
.micro-dot{
 width:5px;height:5px;border-radius:50%;
 background:#d5b36f;
 display:inline-block;
 margin-right:6px
}

.site-header{
 position:sticky;
 top:0;
 z-index:80;
 background:rgba(253,250,244,.94);
 backdrop-filter:blur(18px);
 border-bottom:1px solid rgba(218,207,190,.75);
}
.header-inner{
 min-height:82px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:28px;
}
.logo{
 display:flex;
 align-items:center;
 gap:11px;
 min-width:260px;
}
.logo-mark{
 width:43px;height:43px;
 border-radius:50%;
 display:grid;place-items:center;
 border:1px solid #dfc391;
 background:linear-gradient(145deg,#fffdf8,#eee4d3);
 color:#b98b45;
 position:relative;
 overflow:hidden;
}
.logo-mark::after{
 content:"";
 position:absolute;
 width:80px;height:8px;
 background:rgba(255,255,255,.65);
 filter:blur(4px);
 transform:rotate(-35deg) translateX(-70px);
 animation:logoSweep 5s infinite;
}
@keyframes logoSweep{
 0%,70%{transform:rotate(-35deg) translateX(-80px)}
 88%,100%{transform:rotate(-35deg) translateX(80px)}
}
.logo-title{
 font-family:Georgia,"Times New Roman",serif;
 font-size:18px;
 font-weight:700;
 letter-spacing:-.025em;
 line-height:1.05;
}
.logo-title small{
 display:block;
 margin-top:4px;
 font-family:Inter,system-ui,sans-serif;
 font-size:9px;
 letter-spacing:.16em;
 color:#a17e48;
 font-weight:800;
}
.nav{
 display:flex;
 align-items:center;
 gap:25px;
 font-size:13px;
 font-weight:750;
}
.nav>a:not(.nav-wa){position:relative}
.nav>a:not(.nav-wa)::after{
 content:"";
 position:absolute;
 left:0;right:100%;
 bottom:-8px;
 height:2px;
 background:#c79d5a;
 transition:.25s;
}
.nav>a:not(.nav-wa):hover::after{right:0}
.nav-wa{
 padding:13px 18px;
 border-radius:999px;
 background:var(--wa);
 color:#fff;
 font-weight:850;
 box-shadow:0 10px 25px rgba(36,202,100,.23);
}
.nav-wa:hover{transform:translateY(-1px)}
.menu-btn{
 display:none;
 border:0;
 background:transparent;
 font-size:27px;
 color:var(--green);
 cursor:pointer;
}

/* HERO */
.hero{
 min-height:710px;
 position:relative;
 overflow:hidden;
 background:
 radial-gradient(circle at 11% 26%,rgba(216,181,111,.18),transparent 28%),
 radial-gradient(circle at 47% 85%,rgba(39,91,71,.08),transparent 28%),
 linear-gradient(103deg,#faf5eb 0%,#f8f3e9 48%,#eee5d9 100%);
}
.hero::before{
 content:"";
 position:absolute;
 right:-160px;
 top:-185px;
 width:520px;height:520px;
 border-radius:50%;
 border:1px solid rgba(193,149,75,.16);
}
.hero::after{
 content:"";
 position:absolute;
 right:-80px;
 top:-100px;
 width:350px;height:350px;
 border-radius:50%;
 border:1px solid rgba(193,149,75,.10);
}
.hero-grid{
 min-height:710px;
 display:grid;
 grid-template-columns:1.02fr .98fr;
 gap:62px;
 align-items:center;
 padding:64px 0 80px;
}
.hero-copy{position:relative;z-index:2}
.eyebrow{
 display:flex;
 align-items:center;
 gap:11px;
 color:#b88b49;
 font-size:11px;
 font-weight:900;
 letter-spacing:.18em;
 text-transform:uppercase;
}
.eyebrow::before{
 content:"";
 width:39px;height:1px;
 background:#c69b57;
}
.hero h1{
 margin:17px 0 0;
 max-width:650px;
 font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(52px,5.7vw,78px);
 line-height:1.01;
 letter-spacing:-.047em;
 font-weight:500;
}
.hero h1 span{
 color:#b98c49;
 font-style:italic;
}
.hero-desc{
 max-width:610px;
 margin:24px 0 0;
 color:#67736d;
 font-size:17px;
 line-height:1.8;
}
.hero-buttons{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 margin-top:29px;
}
.wa-btn,.outline-btn,.dark-btn{
 min-height:53px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 padding:0 23px;
 border-radius:999px;
 font-weight:850;
 font-size:14px;
 transition:.25s;
}
.wa-btn{
 background:var(--wa);
 color:#fff;
 box-shadow:0 13px 30px rgba(36,202,100,.24);
}
.wa-btn:hover{transform:translateY(-2px)}
.outline-btn{
 background:#fff;
 border:1px solid #dfd5c5;
 color:#244738;
}
.dark-btn{
 background:#173c30;
 color:#fff;
}
.hero-mini{
 margin-top:34px;
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:13px 22px;
 max-width:580px;
}
.hero-mini-item{
 display:flex;
 align-items:center;
 gap:9px;
 color:#3e574d;
 font-size:12px;
 font-weight:750;
}
.mini-check{
 width:25px;height:25px;
 border-radius:50%;
 display:grid;place-items:center;
 background:#e7f0e9;
 color:#276145;
 font-size:12px;
}

/* Hero image frame */
.hero-visual{
 min-height:545px;
 position:relative;
}
.hero-photo{
 position:absolute;
 inset:0 10px 0 15px;
 border-radius:155px 28px 145px 28px;
 overflow:hidden;
 background:#ded5c7;
 box-shadow:0 30px 75px rgba(44,61,49,.16);
}
.hero-photo::before{
 content:"";
 position:absolute;inset:0;
 background-image:var(--hero-image);
 background-position:center;
 background-size:cover;
 transform:scale(1.03);
}
.hero-photo::after{
 content:"";
 position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(18,54,40,.01) 40%,rgba(18,54,40,.22));
}
.photo-card{
 position:absolute;
 left:-16px;
 bottom:33px;
 z-index:4;
 width:245px;
 padding:17px 18px;
 border-radius:18px;
 background:rgba(255,255,255,.93);
 backdrop-filter:blur(15px);
 border:1px solid rgba(255,255,255,.78);
 box-shadow:0 18px 45px rgba(37,54,44,.13);
}
.photo-card-top{
 display:flex;
 gap:11px;
 align-items:center;
}
.photo-card-icon{
 width:39px;height:39px;
 border-radius:13px;
 display:grid;
 place-items:center;
 background:#f1eadf;
 color:#b58b4c;
 font-size:18px;
}
.photo-card strong{display:block;font-size:13px}
.photo-card span{
 display:block;
 margin-top:3px;
 color:#748079;
 font-size:11px;
 line-height:1.45;
}
.hero-ring{
 position:absolute;
 right:-22px;
 bottom:-30px;
 width:170px;height:170px;
 border-radius:50%;
 border:1px solid rgba(192,147,73,.34);
}
.hero-ring::after{
 content:"";
 position:absolute;
 inset:20px;
 border-radius:50%;
 border:1px solid rgba(192,147,73,.22);
}

/* TRUST */
.trust-wrap{
 margin-top:-48px;
 position:relative;
 z-index:10;
}
.trust-box{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 background:#fffdf9;
 border-radius:26px;
 border:1px solid #e7ded1;
 box-shadow:0 18px 50px rgba(36,59,48,.09);
 padding:19px 17px;
}
.trust{
 padding:9px 17px;
 display:flex;
 align-items:center;
 gap:13px;
 border-right:1px solid #e9e1d5;
}
.trust:last-child{border-right:0}
.trust-icon{
 width:43px;height:43px;
 flex:0 0 43px;
 border-radius:14px;
 display:grid;
 place-items:center;
 background:#f3ecdf;
 color:#b88c4b;
 font-size:19px;
}
.trust strong{font-size:13px;display:block}
.trust small{
 display:block;
 color:#77827c;
 line-height:1.45;
 margin-top:4px;
 font-size:10px;
}

/* COMMON */
.section{padding:102px 0}
.section-white{background:#fffdf9}
.kicker{
 text-align:center;
 color:#b78a48;
 font-size:11px;
 font-weight:900;
 letter-spacing:.19em;
 text-transform:uppercase;
}
.section-title{
 max-width:760px;
 margin:11px auto 13px;
 text-align:center;
 font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(38px,4vw,52px);
 letter-spacing:-.035em;
 font-weight:500;
}
.section-lead{
 max-width:680px;
 margin:0 auto 45px;
 text-align:center;
 color:#737e77;
 font-size:14px;
 line-height:1.75;
}

/* SERVICES */
.service-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:19px;
}
.service-card{
 border-radius:22px;
 overflow:hidden;
 background:#fff;
 border:1px solid #e6ded3;
 box-shadow:0 10px 35px rgba(33,57,45,.055);
 transition:.3s;
}
.service-card:hover{
 transform:translateY(-7px);
 box-shadow:0 22px 50px rgba(33,57,45,.11);
}
.service-img{
 height:208px;
 background-position:center;
 background-size:cover;
 position:relative;
}
.service-img::after{
 content:"";
 position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 45%,rgba(18,51,38,.20));
}
.service-body{padding:20px 20px 22px}
.service-body h3{
 margin:0;
 font-family:Georgia,"Times New Roman",serif;
 font-size:21px;
 font-weight:600;
}
.service-body p{
 min-height:69px;
 margin:10px 0 14px;
 color:#748078;
 font-size:13px;
 line-height:1.7;
}
.service-action{
 color:#139c4d;
 font-weight:850;
 font-size:12px;
}

/* STRIP CTA */
.cta-strip{padding:0 0 92px;background:#fffdf9}
.cta-strip-box{
 border-radius:25px;
 padding:32px 38px;
 background:
 radial-gradient(circle at 94% -20%,rgba(230,194,123,.20),transparent 33%),
 #193d31;
 color:#fff;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:30px;
 box-shadow:0 21px 50px rgba(25,61,49,.16);
}
.cta-strip h3{
 margin:0 0 6px;
 font-family:Georgia,serif;
 font-size:28px;
 font-weight:500;
}
.cta-strip p{margin:0;color:#d7e4dc;font-size:13px}

/* PROCESS */
.process{
 padding:104px 0 110px;
 position:relative;
 overflow:hidden;
 color:#fff;
 background:
 radial-gradient(circle at 12% 8%,rgba(213,176,101,.16),transparent 25%),
 linear-gradient(110deg,#14382c,#204b3c);
}
.process::after{
 content:"";
 position:absolute;
 width:440px;height:440px;
 border-radius:50%;
 right:-190px;bottom:-200px;
 border:1px solid rgba(225,195,136,.14);
}
.process .kicker{color:#dfbd7d}
.process .section-title{color:#fff}
.process .section-lead{color:#cbd9d1}
.steps{
 max-width:920px;
 margin:auto;
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:32px;
}
.step{
 position:relative;
 text-align:center;
 padding:0 15px;
}
.step:not(:last-child)::after{
 content:"";
 position:absolute;
 width:55%;
 height:1px;
 top:34px;
 right:-28%;
 background:repeating-linear-gradient(90deg,#d6b36d 0 7px,transparent 7px 14px);
 opacity:.7;
}
.step-number{
 width:68px;height:68px;
 border-radius:50%;
 display:grid;place-items:center;
 margin:0 auto 18px;
 border:1px solid rgba(225,196,138,.53);
 background:rgba(255,255,255,.06);
 color:#e4c484;
 font-family:Georgia,serif;
 font-size:27px;
}
.step h3{font-size:16px;margin:0 0 8px}
.step p{
 margin:0;
 color:#cbd8d1;
 font-size:12px;
 line-height:1.7;
}

/* APPROACH */
.approach-grid{
 display:grid;
 grid-template-columns:.95fr 1.05fr;
 gap:64px;
 align-items:center;
}
.approach .kicker{text-align:left}
.approach .section-title{
 text-align:left;
 margin-left:0;
 max-width:570px;
}
.approach-copy{
 color:#758079;
 line-height:1.75;
 font-size:14px;
 max-width:575px;
}
.feature-list{
 display:grid;
 gap:16px;
 margin-top:28px;
}
.feature{
 display:flex;
 align-items:flex-start;
 gap:14px;
}
.feature-icon{
 width:42px;height:42px;
 flex:0 0 42px;
 border-radius:13px;
 display:grid;place-items:center;
 background:#f1e9dc;
 color:#b68c4d;
}
.feature strong{font-size:13px}
.feature p{
 margin:4px 0 0;
 color:#7a847e;
 font-size:12px;
 line-height:1.6;
}
.approach-img{
 min-height:470px;
 position:relative;
 border-radius:28px 120px 28px 28px;
 overflow:hidden;
 background:
 linear-gradient(180deg,rgba(22,59,44,.03),rgba(22,59,44,.15)),
 var(--about-image) center/cover;
 box-shadow:0 25px 65px rgba(39,58,48,.15);
}
.approach-img::after{
 content:"";
 position:absolute;
 width:160px;height:160px;
 left:-70px;bottom:-60px;
 border-radius:50%;
 border:1px solid rgba(194,150,74,.32);
}

/* REGIONS */
.region-section{
 background:#f6f0e5;
}
.regions{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:10px;
 max-width:920px;
 margin:auto;
}
.region{
 border-radius:999px;
 padding:11px 16px;
 border:1px solid #e0d5c5;
 background:#fffdf9;
 box-shadow:0 6px 18px rgba(35,56,45,.04);
 color:#385347;
 font-size:12px;
 font-weight:800;
}

/* FAQ */
.faq-wrap{
 max-width:920px;
 margin:auto;
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:14px;
}
.faq-item{
 border-radius:16px;
 border:1px solid #e5ddd1;
 background:#fff;
 overflow:hidden;
}
.faq-q{
 width:100%;
 border:0;
 background:transparent;
 padding:18px 20px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 color:#233f34;
 text-align:left;
 font-weight:800;
 cursor:pointer;
}
.plus{
 width:27px;height:27px;
 flex:0 0 27px;
 border-radius:50%;
 background:#f1e9dc;
 color:#b38747;
 display:grid;place-items:center;
 transition:.25s;
}
.faq-a{
 display:none;
 padding:0 20px 19px;
 color:#748078;
 font-size:13px;
 line-height:1.7;
}
.faq-item.open .faq-a{display:block}
.faq-item.open .plus{transform:rotate(45deg)}

/* FINAL CTA */
.final-cta{padding:25px 0 84px}
.final-box{
 min-height:315px;
 border-radius:31px;
 padding:50px 55px;
 color:#fff;
 display:flex;
 align-items:center;
 position:relative;
 overflow:hidden;
 background:
 linear-gradient(90deg,rgba(19,55,42,.97),rgba(19,55,42,.78)),
 var(--cta-image) center/cover;
 box-shadow:0 24px 60px rgba(29,57,44,.15);
}
.final-box::before{
 content:"";
 width:290px;height:290px;
 border-radius:50%;
 border:1px solid rgba(230,198,135,.23);
 position:absolute;
 right:-90px;top:-100px;
}
.final-copy{position:relative;z-index:2;max-width:620px}
.final-copy h2{
 margin:0 0 15px;
 font-family:Georgia,serif;
 font-size:44px;
 line-height:1.08;
 font-weight:500;
}
.final-copy p{
 color:#d9e4de;
 line-height:1.75;
 font-size:14px;
 margin:0 0 23px;
}

/* FOOTER */
.footer{
 background:#102f25;
 color:#dbe7df;
 padding:62px 0 24px;
}
.footer-grid{
 display:grid;
 grid-template-columns:1.45fr .8fr .8fr 1fr;
 gap:44px;
}
.footer-brand{
 font-family:Georgia,serif;
 font-size:20px;
 font-weight:700;
 margin-bottom:13px;
}
.footer p{
 max-width:320px;
 color:#aebfb4;
 line-height:1.75;
 font-size:12px;
}
.footer h4{
 font-size:11px;
 letter-spacing:.13em;
 color:#e5ede8;
 margin:0 0 16px;
}
.footer a{
 display:block;
 margin:9px 0;
 color:#b9c9bf;
 font-size:12px;
}
.footer-bottom{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 border-top:1px solid rgba(255,255,255,.10);
 margin-top:37px;
 padding-top:19px;
 color:#829b8c;
 font-size:10px;
}

/* FLOAT WA */
.float-wa{
 position:fixed;
 right:22px;
 bottom:22px;
 z-index:100;
 width:61px;height:61px;
 display:grid;place-items:center;
 border-radius:50%;
 background:#24ca64;
 color:#fff;
 font-weight:900;
 font-size:24px;
 box-shadow:0 15px 35px rgba(36,202,100,.31);
 animation:waPulse 2.3s infinite;
}
@keyframes waPulse{
 50%{box-shadow:0 15px 35px rgba(36,202,100,.30),0 0 0 12px rgba(36,202,100,.10)}
}
.mobile-wa{display:none}

/* REVEAL */
.reveal{
 opacity:0;
 transform:translateY(19px);
 transition:opacity .65s ease,transform .65s ease;
}
.reveal.visible{
 opacity:1;
 transform:none;
}

/* RESPONSIVE */
@media(max-width:1020px){
 .nav{
   display:none;
   position:absolute;
   left:0;right:0;
   top:82px;
   padding:21px;
   background:#fffdf9;
   flex-direction:column;
   align-items:stretch;
   box-shadow:0 25px 50px rgba(34,55,45,.14);
 }
 .nav.open{display:flex}
 .menu-btn{display:block}
 .hero-grid{
   grid-template-columns:1fr;
   gap:35px;
 }
 .hero-visual{min-height:500px}
 .trust-box{grid-template-columns:1fr 1fr}
 .trust:nth-child(2){border-right:0}
 .service-grid{grid-template-columns:1fr 1fr}
 .approach-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .container{width:min(var(--container),calc(100% - 28px))}
 .microbar{display:none}
 .header-inner{min-height:70px}
 .logo{min-width:0}
 .logo-title{font-size:13px}
 .logo-title small{font-size:7px}
 .logo-mark{width:36px;height:36px}
 .nav{top:70px}
 .hero{min-height:auto}
 .hero-grid{min-height:auto;padding:39px 0 77px}
 .hero h1{font-size:43px}
 .hero-desc{font-size:14px}
 .hero-buttons{display:grid}
 .hero-buttons a{width:100%}
 .hero-mini{grid-template-columns:1fr 1fr;gap:12px}
 .hero-visual{min-height:355px}
 .hero-photo{
   inset:0;
   border-radius:78px 20px 78px 20px;
 }
 .photo-card{
   left:13px;
   bottom:17px;
   width:215px;
 }
 .hero-ring{display:none}
 .trust-wrap{margin-top:-38px}
 .trust-box{grid-template-columns:1fr;padding:10px}
 .trust{border-right:0;border-bottom:1px solid #ece4d8}
 .trust:last-child{border-bottom:0}
 .section{padding:72px 0}
 .section-title{font-size:37px}
 .section-lead{margin-bottom:32px}
 .service-grid{grid-template-columns:1fr}
 .service-img{height:220px}
 .cta-strip-box{
   padding:27px 23px;
   flex-direction:column;
   align-items:flex-start;
 }
 .steps{grid-template-columns:1fr}
 .step:not(:last-child)::after{display:none}
 .approach-img{min-height:350px;border-radius:25px 75px 25px 25px}
 .faq-wrap{grid-template-columns:1fr}
 .final-box{
   padding:37px 24px;
   min-height:385px;
 }
 .final-copy h2{font-size:36px}
 .footer-grid{grid-template-columns:1fr}
 .footer-bottom{flex-direction:column;align-items:flex-start}
 .float-wa{display:none}
 .mobile-wa{
   position:fixed;
   display:flex;
   align-items:center;
   justify-content:center;
   gap:8px;
   left:12px;
   right:12px;
   bottom:12px;
   height:55px;
   border-radius:999px;
   background:#24ca64;
   color:#fff;
   z-index:120;
   font-size:14px;
   font-weight:900;
   box-shadow:0 14px 35px rgba(36,202,100,.32);
 }
 body{padding-bottom:70px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .reveal{opacity:1;transform:none}
}
