*{box-sizing:border-box}
html{scroll-behavior:smooth}

:root{
 --ivory:#faf7f1;
 --cream:#f3ede3;
 --cream2:#e8ddce;
 --white:#fffdfa;
 --green:#3f5546;
 --green2:#566c59;
 --green3:#293d31;
 --bronze:#b7884d;
 --gold:#d2ae72;
 --gold2:#ead3aa;
 --text:#342f29;
 --muted:#756f67;
 --line:#e5dbce;
 --wa:#25c963;
 --shadow:0 22px 62px rgba(62,55,45,.10);
 --container:1180px;
}

html,body{
 margin:0;
 padding:0;
}

body{
 background:var(--ivory);
 color:var(--text);
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 -webkit-font-smoothing:antialiased;
 overflow-x:hidden;
}

body.menu-open{overflow:hidden}

a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{
 width:min(var(--container),calc(100% - 40px));
 margin:auto;
}

/* TOP */
.noticebar{
 background:#435848;
 color:#f4f6f3;
 font-size:11px;
 letter-spacing:.025em;
}
.notice-inner{
 min-height:37px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
}
.notice-left,.notice-right{
 display:flex;
 align-items:center;
 gap:25px;
}
.notice-symbol{
 display:inline-block;
 width:5px;height:5px;
 border-radius:50%;
 background:#d6b476;
 margin-right:7px;
}

.header{
 position:sticky;
 top:0;
 z-index:80;
 background:rgba(252,249,243,.94);
 backdrop-filter:blur(17px);
 border-bottom:1px solid rgba(222,211,195,.76);
}
.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:250px;
}
.logo-mark{
 width:44px;height:44px;
 display:grid;
 place-items:center;
 border-radius:15px 15px 15px 3px;
 background:linear-gradient(145deg,#fff,#ede3d4);
 border:1px solid #dfc99f;
 color:#b68b50;
 box-shadow:0 8px 22px rgba(63,74,60,.07);
}
.logo-text{
 font-family:Georgia,"Times New Roman",serif;
 line-height:1.06;
 font-weight:700;
 font-size:18px;
}
.logo-text small{
 display:block;
 margin-top:5px;
 font-family:Inter,system-ui,sans-serif;
 color:#aa8653;
 font-size:8px;
 font-weight:900;
 letter-spacing:.16em;
}

.nav{
 display:flex;
 align-items:center;
 gap:24px;
 font-size:13px;
 font-weight:750;
}
.nav>a:not(.nav-wa){
 position:relative;
}
.nav>a:not(.nav-wa)::after{
 content:"";
 height:2px;
 position:absolute;
 left:0;
 right:100%;
 bottom:-8px;
 background:#b7884d;
 transition:.25s;
}
.nav>a:not(.nav-wa):hover::after{right:0}
.nav-wa{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 padding:13px 18px;
 border-radius:999px;
 background:var(--wa);
 color:#fff;
 box-shadow:0 10px 26px rgba(37,201,99,.22);
 font-weight:850;
}
.menu-btn{
 display:none;
 border:0;
 background:none;
 color:#405547;
 font-size:27px;
 cursor:pointer;
}

/* HERO */
.hero{
 position:relative;
 min-height:680px;
 overflow:hidden;
 background:
 radial-gradient(circle at 12% 26%,rgba(214,180,121,.20),transparent 27%),
 radial-gradient(circle at 78% 20%,rgba(75,103,83,.08),transparent 25%),
 linear-gradient(105deg,#fbf7ef 0%,#f7f1e8 55%,#ede4d8 100%);
}
.hero::before{
 content:"";
 position:absolute;
 left:-190px;
 bottom:-250px;
 width:520px;
 height:520px;
 border-radius:50%;
 border:1px solid rgba(183,136,77,.14);
}
.hero::after{
 content:"";
 position:absolute;
 right:-140px;
 top:-170px;
 width:440px;
 height:440px;
 border-radius:50%;
 border:1px solid rgba(183,136,77,.13);
}
.hero-grid{
 min-height:680px;
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:64px;
 align-items:center;
 padding:65px 0 78px;
}
.hero-copy{position:relative;z-index:2}
.eyebrow{
 color:#ad8249;
 letter-spacing:.18em;
 font-size:11px;
 font-weight:900;
 display:flex;
 align-items:center;
 gap:11px;
 text-transform:uppercase;
}
.eyebrow::before{
 content:"";
 width:38px;
 height:1px;
 background:#b7884d;
}
.hero h1{
 margin:17px 0 0;
 max-width:660px;
 font-family:Georgia,"Times New Roman",serif;
 font-weight:500;
 font-size:clamp(50px,5.4vw,75px);
 line-height:1.02;
 letter-spacing:-.045em;
}
.hero h1 em{
 font-style:italic;
 color:#a8783f;
}
.hero-description{
 margin:24px 0 0;
 max-width:610px;
 color:#746f67;
 font-size:16px;
 line-height:1.8;
}
.hero-actions{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 margin-top:29px;
}
.btn-wa,.btn-outline,.btn-dark{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:53px;
 padding:0 23px;
 border-radius:999px;
 font-size:14px;
 font-weight:850;
 gap:9px;
 transition:.25s;
}
.btn-wa{
 background:var(--wa);
 color:#fff;
 box-shadow:0 13px 30px rgba(37,201,99,.23);
}
.btn-wa:hover{transform:translateY(-2px)}
.btn-outline{
 background:#fff;
 border:1px solid #ddd1c1;
 color:#465748;
}
.btn-dark{
 background:#435848;
 color:#fff;
}

.hero-note{
 margin-top:31px;
 display:flex;
 gap:24px;
 flex-wrap:wrap;
}
.hero-note span{
 display:flex;
 align-items:center;
 gap:8px;
 color:#526257;
 font-size:12px;
 font-weight:750;
}
.hero-check{
 width:25px;height:25px;
 border-radius:8px;
 background:#e7eee7;
 color:#4d6953;
 display:grid;
 place-items:center;
 font-size:11px;
}

/* HERO VISUAL */
.hero-visual{
 min-height:520px;
 position:relative;
}
.hero-photo{
 position:absolute;
 inset:5px 5px 5px 5px;
 border-radius:28px 125px 28px 125px;
 overflow:hidden;
 background:#e5ddd2;
 box-shadow:0 30px 74px rgba(70,64,54,.16);
}
.hero-photo::before{
 content:"";
 position:absolute;
 inset:0;
 background-image:var(--hero-image);
 background-size:cover;
 background-position:center;
 transform:scale(1.025);
}
.hero-photo::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,rgba(42,64,50,.02) 45%,rgba(42,64,50,.18));
}

.visual-caption{
 position:absolute;
 right:-8px;
 bottom:32px;
 width:238px;
 padding:17px 18px;
 border-radius:17px;
 background:rgba(255,253,249,.93);
 backdrop-filter:blur(14px);
 border:1px solid rgba(255,255,255,.85);
 box-shadow:0 17px 42px rgba(69,62,52,.14);
 z-index:5;
}
.visual-caption strong{
 display:block;
 font-size:13px;
 color:#3e5144;
}
.visual-caption span{
 display:block;
 font-size:11px;
 line-height:1.55;
 color:#7b776f;
 margin-top:4px;
}

.visual-flower{
 position:absolute;
 width:130px;
 height:130px;
 border-radius:50%;
 left:-35px;
 top:-25px;
 border:1px solid rgba(181,132,67,.25);
}
.visual-flower::after{
 content:"";
 position:absolute;
 inset:19px;
 border-radius:50%;
 border:1px solid rgba(181,132,67,.17);
}

/* VALUE BAND */
.value-wrap{
 position:relative;
 z-index:10;
 margin-top:-45px;
}
.value-box{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 border-radius:24px;
 background:#fffefa;
 border:1px solid #e7ddcf;
 padding:18px 16px;
 box-shadow:0 18px 49px rgba(63,57,48,.09);
}
.value{
 display:flex;
 align-items:center;
 gap:13px;
 padding:9px 17px;
 border-right:1px solid #e9e0d5;
}
.value:last-child{border-right:0}
.value-icon{
 width:43px;
 height:43px;
 flex:0 0 43px;
 border-radius:13px 13px 13px 4px;
 display:grid;
 place-items:center;
 background:#f1e9dd;
 color:#ad8045;
}
.value strong{
 display:block;
 font-size:13px;
 color:#405247;
}
.value small{
 display:block;
 font-size:10px;
 line-height:1.5;
 color:#7b7a74;
 margin-top:3px;
}

/* COMMON */
.section{padding:98px 0}
.section-light{background:#fffefa}
.section-soft{background:#f5efe6}
.kicker{
 text-align:center;
 font-size:11px;
 letter-spacing:.19em;
 font-weight:900;
 text-transform:uppercase;
 color:#ae8248;
}
.section-title{
 max-width:760px;
 margin:11px auto 13px;
 font-family:Georgia,"Times New Roman",serif;
 text-align:center;
 font-size:clamp(37px,4vw,51px);
 font-weight:500;
 letter-spacing:-.035em;
 line-height:1.08;
}
.section-lead{
 max-width:680px;
 text-align:center;
 margin:0 auto 43px;
 color:#79756e;
 line-height:1.75;
 font-size:14px;
}

/* SERVICES */
.service-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:18px;
}
.service-card{
 background:#fff;
 border-radius:22px;
 border:1px solid #e6dcd0;
 overflow:hidden;
 box-shadow:0 10px 32px rgba(64,57,49,.055);
 transition:.3s;
}
.service-card:hover{
 transform:translateY(-6px);
 box-shadow:0 22px 48px rgba(64,57,49,.11);
}
.service-img{
 height:205px;
 background-size:cover;
 background-position:center;
 position:relative;
}
.service-img::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,transparent 48%,rgba(40,60,48,.19));
}
.service-body{padding:20px}
.service-body h3{
 margin:0 0 10px;
 font-family:Georgia,"Times New Roman",serif;
 font-size:21px;
 font-weight:600;
 color:#3c463e;
}
.service-body p{
 min-height:67px;
 color:#7a766f;
 font-size:13px;
 line-height:1.68;
 margin:0 0 15px;
}
.service-link{
 font-size:12px;
 font-weight:850;
 color:#15984d;
}

/* CTA BAND */
.cta-band{
 padding:0 0 90px;
 background:#fffefa;
}
.cta-band-box{
 min-height:125px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:30px;
 padding:30px 38px;
 border-radius:24px;
 color:#fff;
 background:
 radial-gradient(circle at 95% 0%,rgba(221,185,119,.20),transparent 34%),
 #435848;
 box-shadow:0 19px 49px rgba(60,74,62,.16);
}
.cta-band h3{
 font-family:Georgia,serif;
 font-size:27px;
 font-weight:500;
 margin:0 0 7px;
}
.cta-band p{
 margin:0;
 color:#dde6df;
 font-size:13px;
}

/* PROCESS */
.process{
 padding:100px 0 108px;
 color:#fff;
 position:relative;
 overflow:hidden;
 background:
 radial-gradient(circle at 12% 0%,rgba(213,179,113,.16),transparent 26%),
 linear-gradient(108deg,#354b3c,#4e6251);
}
.process::after{
 content:"";
 position:absolute;
 width:450px;
 height:450px;
 border-radius:50%;
 right:-210px;
 bottom:-220px;
 border:1px solid rgba(229,198,137,.15);
}
.process .kicker{color:#e2c186}
.process .section-title{color:#fff}
.process .section-lead{color:#d4ddd6}

.steps{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:20px;
}
.step{
 text-align:center;
 position:relative;
 padding:0 9px;
}
.step:not(:last-child)::after{
 content:"";
 position:absolute;
 width:43%;
 top:33px;
 right:-22%;
 height:1px;
 background:repeating-linear-gradient(
   90deg,
   #dec081 0 6px,
   transparent 6px 12px
 );
 opacity:.67;
}
.step-no{
 width:66px;
 height:66px;
 border-radius:19px 19px 19px 5px;
 border:1px solid rgba(232,204,151,.50);
 display:grid;
 place-items:center;
 margin:0 auto 17px;
 background:rgba(255,255,255,.07);
 color:#e8cb91;
 font-family:Georgia,serif;
 font-size:25px;
}
.step h3{
 margin:0 0 8px;
 font-size:15px;
}
.step p{
 margin:0;
 color:#d2dcd5;
 font-size:12px;
 line-height:1.65;
}

/* STANDARDS */
.standard-grid{
 display:grid;
 grid-template-columns:1.02fr .98fr;
 gap:63px;
 align-items:center;
}
.standard-image{
 min-height:465px;
 border-radius:105px 27px 27px 27px;
 position:relative;
 overflow:hidden;
 background:
 linear-gradient(180deg,rgba(50,74,57,.02),rgba(50,74,57,.15)),
 var(--standard-image) center/cover;
 box-shadow:0 25px 65px rgba(69,62,52,.15);
}
.standard-image::after{
 content:"";
 position:absolute;
 right:-65px;
 bottom:-70px;
 width:165px;
 height:165px;
 border-radius:50%;
 border:1px solid rgba(186,138,72,.30);
}
.standard-content .kicker{text-align:left}
.standard-content .section-title{
 text-align:left;
 margin-left:0;
 max-width:570px;
}
.standard-copy{
 max-width:570px;
 color:#77746d;
 line-height:1.75;
 font-size:14px;
}
.standard-list{
 display:grid;
 gap:15px;
 margin-top:28px;
}
.standard{
 display:flex;
 gap:14px;
 align-items:flex-start;
}
.standard-icon{
 width:42px;
 height:42px;
 flex:0 0 42px;
 display:grid;
 place-items:center;
 border-radius:13px 13px 13px 4px;
 background:#efe7da;
 color:#ad8047;
}
.standard strong{
 display:block;
 color:#425046;
 font-size:13px;
}
.standard p{
 margin:4px 0 0;
 color:#7b7871;
 font-size:12px;
 line-height:1.6;
}

/* REGIONS */
.regions{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:10px;
 max-width:920px;
 margin:auto;
}
.region{
 padding:11px 16px;
 border-radius:13px 13px 13px 4px;
 background:#fffefa;
 border:1px solid #ded3c5;
 color:#526156;
 font-size:12px;
 font-weight:800;
 box-shadow:0 6px 18px rgba(63,56,48,.04);
}

/* FAQ */
.faq-list{
 max-width:900px;
 margin:auto;
 display:grid;
 gap:12px;
}
.faq-item{
 background:#fff;
 border:1px solid #e5dbcf;
 border-radius:15px;
 overflow:hidden;
}
.faq-question{
 border:0;
 background:transparent;
 width:100%;
 padding:18px 21px;
 text-align:left;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 font-weight:800;
 color:#465148;
 cursor:pointer;
}
.faq-plus{
 width:28px;
 height:28px;
 flex:0 0 28px;
 display:grid;
 place-items:center;
 border-radius:10px 10px 10px 3px;
 background:#f0e8db;
 color:#ad8047;
 transition:.25s;
}
.faq-answer{
 display:none;
 padding:0 21px 19px;
 color:#79766f;
 font-size:13px;
 line-height:1.72;
}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-plus{transform:rotate(45deg)}

/* FINAL CTA */
.final-cta{
 padding:25px 0 82px;
 background:#fffefa;
}
.final-box{
 min-height:315px;
 border-radius:28px;
 padding:52px 55px;
 display:flex;
 align-items:center;
 color:#fff;
 position:relative;
 overflow:hidden;
 background:
 linear-gradient(90deg,rgba(54,76,60,.97),rgba(54,76,60,.76)),
 var(--cta-image) center/cover;
 box-shadow:0 24px 60px rgba(62,66,55,.16);
}
.final-box::after{
 content:"";
 position:absolute;
 right:-85px;
 top:-95px;
 width:270px;
 height:270px;
 border-radius:50%;
 border:1px solid rgba(230,200,143,.28);
}
.final-content{
 max-width:620px;
 position:relative;
 z-index:2;
}
.final-content h2{
 margin:0 0 15px;
 font-family:Georgia,serif;
 font-size:44px;
 font-weight:500;
 line-height:1.08;
}
.final-content p{
 margin:0 0 23px;
 color:#e0e8e2;
 line-height:1.7;
 font-size:14px;
}

/* FOOTER */
.footer{
 background:#344638;
 color:#e3ebe5;
 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:330px;
 color:#b6c5ba;
 line-height:1.75;
 font-size:12px;
}
.footer h4{
 margin:0 0 16px;
 font-size:11px;
 letter-spacing:.13em;
}
.footer a{
 display:block;
 margin:9px 0;
 color:#c0cdc4;
 font-size:12px;
}
.footer-bottom{
 border-top:1px solid rgba(255,255,255,.11);
 margin-top:37px;
 padding-top:19px;
 display:flex;
 justify-content:space-between;
 gap:20px;
 color:#93a79a;
 font-size:10px;
}

/* FLOAT */
.float-wa{
 position:fixed;
 right:22px;
 bottom:22px;
 width:61px;
 height:61px;
 border-radius:18px 18px 18px 5px;
 z-index:120;
 background:var(--wa);
 color:#fff;
 display:grid;
 place-items:center;
 font-size:24px;
 box-shadow:0 15px 35px rgba(37,201,99,.31);
 animation:floatPulse 2.3s infinite;
}
@keyframes floatPulse{
 50%{
   box-shadow:
    0 15px 35px rgba(37,201,99,.29),
    0 0 0 12px rgba(37,201,99,.09);
 }
}
.mobile-wa{display:none}

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

@media(max-width:1020px){
 .nav{
   display:none;
   position:absolute;
   left:0;
   right:0;
   top:82px;
   padding:21px;
   background:#fffdfa;
   flex-direction:column;
   align-items:stretch;
   box-shadow:0 25px 50px rgba(60,55,47,.14);
 }
 .nav.open{display:flex}
 .menu-btn{display:block}
 .hero-grid{grid-template-columns:1fr}
 .hero-visual{min-height:490px}
 .value-box{grid-template-columns:1fr 1fr}
 .value:nth-child(2){border-right:0}
 .service-grid{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr}
 .step:nth-child(2)::after{display:none}
 .standard-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
 .container{
   width:min(var(--container),calc(100% - 28px));
 }
 .noticebar{display:none}
 .header-inner{min-height:70px}
 .logo{min-width:0}
 .logo-mark{width:36px;height:36px}
 .logo-text{font-size:13px}
 .logo-text small{font-size:7px}
 .nav{top:70px}

 .hero{min-height:auto}
 .hero-grid{
   min-height:auto;
   padding:40px 0 75px;
   gap:35px;
 }
 .hero h1{font-size:42px}
 .hero-description{font-size:14px}
 .hero-actions{display:grid}
 .hero-actions a{width:100%}
 .hero-note{
   display:grid;
   grid-template-columns:1fr 1fr;
   gap:11px;
 }
 .hero-visual{min-height:350px}
 .hero-photo{
   inset:0;
   border-radius:25px 74px 25px 74px;
 }
 .visual-caption{
   right:12px;
   bottom:15px;
   width:210px;
 }
 .visual-flower{display:none}

 .value-wrap{margin-top:-37px}
 .value-box{
   grid-template-columns:1fr;
   padding:10px;
 }
 .value{
   border-right:0;
   border-bottom:1px solid #ebe1d5;
 }
 .value:last-child{border-bottom:0}

 .section{padding:72px 0}
 .section-title{font-size:36px}
 .section-lead{margin-bottom:32px}
 .service-grid{grid-template-columns:1fr}
 .service-img{height:220px}

 .cta-band-box{
   flex-direction:column;
   align-items:flex-start;
   padding:27px 23px;
 }

 .steps{grid-template-columns:1fr}
 .step::after{display:none!important}

 .standard-image{
   min-height:350px;
   border-radius:70px 24px 24px 24px;
 }

 .final-box{
   min-height:380px;
   padding:38px 24px;
 }
 .final-content 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{
   display:flex;
   align-items:center;
   justify-content:center;
   position:fixed;
   left:12px;
   right:12px;
   bottom:12px;
   z-index:130;
   height:55px;
   border-radius:17px 17px 17px 5px;
   background:var(--wa);
   color:#fff;
   font-size:14px;
   font-weight:900;
   box-shadow:0 14px 34px rgba(37,201,99,.31);
 }
 body{padding-bottom:70px}
}

@media(prefers-reduced-motion:reduce){
 *{
   animation:none!important;
   transition:none!important;
   scroll-behavior:auto!important;
 }
 .reveal{
   opacity:1;
   transform:none;
 }
}
