:root{--forest:#1E4D2A;--forest-deep:#142E1A;--soil:#5C3217;--amber:#C89A2A;--amber-lt:#E0B84A;--teal:#0F8A7A;--teal-deep:#096B5E;--cream:#F7F3EC;--sky:#EBF4EC;--white:#FFFFFF;--text:#1A2B1E;--muted:#5A7060;--border:#D6E5D8;--radius:12px;--radius-lg:20px;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Fraunces',serif;}

/* NAV */
nav.sf-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 4%;display:flex;align-items:center;justify-content:space-between;height:68px;background:rgba(20,46,26,0.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(200,154,42,0.18);}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo svg{width:38px;height:38px;flex-shrink:0;}
.nav-brand{line-height:1.15;}
.nav-brand strong{display:block;color:var(--white);font-family:'Fraunces',serif;font-size:1rem;font-weight:500;}
.nav-brand span{display:block;font-size:0.58rem;font-family:'DM Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--amber);font-weight:400;}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.78);text-decoration:none;font-size:0.87rem;font-weight:400;letter-spacing:0.3px;transition:color 0.2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1.5px;background:var(--amber);transform:scaleX(0);transition:transform 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--amber-lt);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links .nav-news{color:var(--amber-lt);font-weight:500;}
.nav-cta{background:linear-gradient(135deg,var(--amber),var(--amber-lt));color:var(--forest-deep);border:none;padding:9px 20px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity 0.2s;white-space:nowrap;}
.nav-cta:hover{opacity:0.88;color:var(--forest-deep);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all 0.3s;}
.mobile-menu{display:none;position:fixed;inset:0;top:68px;background:var(--forest-deep);z-index:999;padding:36px 5%;flex-direction:column;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--white);text-decoration:none;font-size:1.3rem;font-family:'Fraunces',serif;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.08);}
.mobile-menu a.news-link{color:var(--amber-lt);}
.mobile-menu .m-cta{margin-top:20px;background:var(--amber);color:var(--forest-deep);text-align:center;border-radius:8px;padding:14px;font-size:0.95rem;font-family:'DM Sans',sans-serif;font-weight:600;}

/* SHARED ATOMS */
.section{padding:88px 5%;}
.section-label{display:inline-block;font-size:0.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:14px;}
.section-title{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.12;margin-bottom:18px;color:var(--forest);}
.section-title em{color:var(--amber);font-style:italic;}
.section-title.light{color:var(--white);}
.section-sub{color:var(--muted);font-size:1rem;line-height:1.75;max-width:540px;font-weight:300;}
.btn-primary{background:linear-gradient(135deg,var(--amber),var(--amber-lt));color:var(--forest-deep);padding:13px 30px;border-radius:8px;font-weight:600;text-decoration:none;font-size:0.92rem;display:inline-flex;align-items:center;gap:8px;transition:transform 0.2s,box-shadow 0.2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,154,42,0.4);color:var(--forest-deep);}
.btn-teal{background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:var(--white);padding:13px 30px;border-radius:8px;font-weight:600;text-decoration:none;font-size:0.92rem;display:inline-flex;align-items:center;gap:8px;transition:transform 0.2s,box-shadow 0.2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-teal:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,138,122,0.4);color:var(--white);}
.btn-outline{background:transparent;color:var(--white);padding:13px 30px;border-radius:8px;font-weight:500;text-decoration:none;font-size:0.92rem;border:1.5px solid rgba(255,255,255,0.3);display:inline-flex;align-items:center;gap:8px;transition:all 0.2s;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-outline:hover{border-color:var(--amber-lt);color:var(--amber-lt);}
.btn-outline-forest{background:transparent;color:var(--forest);padding:11px 26px;border-radius:8px;font-weight:500;text-decoration:none;font-size:0.88rem;border:1.5px solid var(--forest);display:inline-flex;align-items:center;gap:8px;transition:all 0.2s;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-outline-forest:hover{background:var(--forest);color:var(--white);}
.tag{background:var(--sky);color:var(--teal-deep);padding:4px 10px;border-radius:20px;font-size:0.7rem;font-weight:600;}
.service-tag{display:inline-block;background:var(--amber);color:var(--forest-deep);padding:3px 11px;border-radius:20px;font-size:0.68rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:8px;}
.service-tag.teal{background:var(--teal);color:var(--white);}

/* PAGE HERO */
.page-hero{padding:130px 5% 72px;background:linear-gradient(135deg,var(--forest-deep) 0%,var(--forest) 100%);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;top:-40%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,154,42,0.08),transparent 70%);}
.page-hero-bg{position:absolute;inset:0;opacity:0.08;background-size:cover;background-position:center;}
.page-hero-content{position:relative;z-index:2;max-width:700px;}
.page-hero h1{color:var(--white);font-size:clamp(2.3rem,4.5vw,3.6rem);line-height:1.1;margin-bottom:18px;}
.page-hero p{color:rgba(255,255,255,0.68);font-size:1.05rem;line-height:1.72;font-weight:300;}
.breadcrumb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.45);font-size:0.82rem;margin-bottom:18px;}
.breadcrumb a{color:var(--amber-lt);text-decoration:none;}

/* FOOTER */
footer.sf-footer{background:var(--forest-deep);padding:60px 5% 28px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;}
.footer-brand p{color:rgba(255,255,255,0.48);font-size:0.83rem;line-height:1.7;font-weight:300;margin:14px 0 18px;}
.footer-social{display:flex;gap:9px;}
.footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.55);display:flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none;transition:all 0.2s;}
.footer-social a:hover{background:var(--amber);color:var(--forest-deep);}
.footer-col h5{color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:9px;}
.footer-col ul a{color:rgba(255,255,255,0.48);text-decoration:none;font-size:0.83rem;transition:color 0.2s;}
.footer-col ul a:hover{color:var(--amber-lt);}
.footer-col p{color:rgba(255,255,255,0.48);font-size:0.83rem;line-height:1.7;}
.footer-newsletter{background:rgba(200,154,42,0.1);border:1px solid rgba(200,154,42,0.2);border-radius:var(--radius);padding:18px 20px;margin-top:16px;}
.footer-newsletter p{color:rgba(255,255,255,0.7)!important;font-size:0.82rem!important;margin-bottom:10px;}
.footer-newsletter-input{display:flex;gap:8px;}
.footer-newsletter-input input{flex:1;min-width:0;padding:9px 14px;border-radius:6px;border:1px solid rgba(200,154,42,0.3);background:rgba(255,255,255,0.06);color:var(--white);font-size:0.82rem;font-family:'DM Sans',sans-serif;outline:none;}
.footer-newsletter-input input::placeholder{color:rgba(255,255,255,0.3);}
.footer-newsletter-input button{padding:9px 14px;background:var(--amber);border:none;border-radius:6px;color:var(--forest-deep);font-size:0.78rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity 0.2s;white-space:nowrap;}
.footer-newsletter-input button:hover{opacity:0.85;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{color:rgba(255,255,255,0.28);font-size:0.78rem;}
.footer-bottom a{color:rgba(255,255,255,0.35);text-decoration:none;font-size:0.78rem;transition:color 0.2s;}
.footer-bottom a:hover{color:var(--amber-lt);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.animate{opacity:0;animation:fadeUp 0.65s ease forwards;}
.d1{animation-delay:0.05s;} .d2{animation-delay:0.15s;} .d3{animation-delay:0.25s;} .d4{animation-delay:0.38s;}

/* HOME */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:110px 5% 72px;overflow:hidden;background:linear-gradient(130deg,var(--forest-deep) 0%,var(--forest) 55%,#0D6B5E 100%);}
.hero-bg-img{position:absolute;inset:0;opacity:0.12;background:url('https://images.unsplash.com/photo-1500595046743-cd271d694d30?w=1800&q=75') center/cover no-repeat;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,46,26,0.94) 0%,rgba(20,46,26,0.7) 55%,rgba(9,107,94,0.45) 100%);}
.hero-geo{position:absolute;right:-5%;top:10%;width:50%;height:80%;opacity:0.06;background:radial-gradient(ellipse,var(--amber) 0%,transparent 70%);}
.hero-content{position:relative;z-index:2;max-width:640px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(200,154,42,0.15);border:1px solid rgba(200,154,42,0.35);color:var(--amber-lt);padding:5px 15px;border-radius:30px;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:26px;font-weight:500;}
.hero h1{font-size:clamp(2.4rem,5vw,3.9rem);color:var(--white);line-height:1.08;margin-bottom:22px;font-weight:700;}
.hero h1 em{color:var(--amber-lt);font-style:italic;}
.hero p{color:rgba(255,255,255,0.7);font-size:1.05rem;line-height:1.72;margin-bottom:34px;font-weight:300;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;}
.stat-item{border-left:2px solid rgba(200,154,42,0.35);padding-left:16px;}
.stat-num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--amber-lt);font-weight:700;display:block;line-height:1;}
.stat-label{font-size:0.72rem;color:rgba(255,255,255,0.52);letter-spacing:1px;text-transform:uppercase;margin-top:4px;}
.trust-strip{background:var(--forest-deep);padding:16px 5%;display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap;border-bottom:1px solid rgba(200,154,42,0.12);}
.trust-item{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,0.52);font-size:0.8rem;letter-spacing:0.3px;}
.trust-item strong{color:var(--amber-lt);}
.news-teaser{background:linear-gradient(90deg,var(--teal-deep),var(--teal));padding:14px 5%;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
.news-teaser p{color:var(--white);font-size:0.88rem;font-weight:400;}
.news-teaser strong{font-weight:600;}
.news-teaser a{background:rgba(255,255,255,0.2);color:var(--white);padding:6px 16px;border-radius:20px;font-size:0.8rem;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,0.3);transition:background 0.2s;}
.news-teaser a:hover{background:rgba(255,255,255,0.32);color:var(--white);}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;}
.benefit-card{padding:32px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--white);transition:all 0.3s;position:relative;overflow:hidden;}
.benefit-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--forest),var(--teal));transform:scaleX(0);transition:transform 0.3s;}
.benefit-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(30,77,42,0.1);border-color:var(--forest);}
.benefit-card:hover::after{transform:scaleX(1);}
.benefit-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;}
.benefit-icon.green{background:linear-gradient(135deg,var(--sky),#D0EDD5);}
.benefit-icon.teal{background:linear-gradient(135deg,#D0F0EC,#A8E0D8);}
.benefit-icon.amber{background:linear-gradient(135deg,#FDF0D0,#F5DE9A);}
.benefit-card h3{font-size:1.1rem;margin-bottom:10px;color:var(--forest);}
.benefit-card p{color:var(--muted);font-size:0.87rem;line-height:1.65;font-weight:300;}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:52px;}
.service-card{border-radius:var(--radius-lg);overflow:hidden;position:relative;cursor:pointer;min-height:320px;display:flex;align-items:flex-end;}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.6s;}
.service-card:hover img{transform:scale(1.05);}
.service-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,46,26,0.95) 0%,rgba(20,46,26,0.25) 65%,transparent 100%);}
.service-card-body{position:relative;z-index:2;padding:24px;}
.service-card h3{color:var(--white);font-size:1.25rem;margin-bottom:6px;}
.service-card p{color:rgba(255,255,255,0.68);font-size:0.83rem;line-height:1.5;font-weight:300;}
.service-card-lg{grid-column:1/3;min-height:380px;}
.testi-section{background:linear-gradient(135deg,var(--forest-deep),var(--forest));}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
.testi-card{background:rgba(255,255,255,0.05);border:1px solid rgba(200,154,42,0.18);border-radius:var(--radius-lg);padding:28px;}
.stars{color:var(--amber);font-size:0.85rem;letter-spacing:2px;margin-bottom:14px;}
.testi-card blockquote{color:rgba(255,255,255,0.78);font-size:0.92rem;line-height:1.72;font-style:italic;font-family:'Fraunces',serif;font-weight:300;margin-bottom:18px;border:none;padding:0;}
.testi-author{display:flex;align-items:center;gap:11px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--amber);}
.testi-name{color:var(--white);font-size:0.87rem;font-weight:500;}
.testi-role{color:var(--amber-lt);font-size:0.72rem;}
.about-preview{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:88px 5%;}
.about-preview-img{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;}
.about-preview-img img{width:100%;height:100%;object-fit:cover;}
.about-badge{background:var(--sky);border-radius:var(--radius);padding:18px 22px;margin-bottom:28px;border-left:3px solid var(--teal);}
.about-badge p{font-size:0.88rem;color:var(--muted);font-style:italic;font-family:'Fraunces',serif;font-weight:300;}
.home-news-section{background:linear-gradient(130deg,var(--teal-deep),#0B7A6A);}
.news-two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.news-left .section-title{color:var(--white);}
.news-left .section-sub{color:rgba(255,255,255,0.65);}
.news-perks{margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.news-perk{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,0.8);font-size:0.85rem;line-height:1.5;}
.news-perk-icon{width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:1px;}
.news-sub-count{display:flex;align-items:center;gap:12px;margin-top:24px;}
.news-sub-count img{width:32px;height:32px;border-radius:50%;border:2px solid var(--teal);object-fit:cover;margin-right:-10px;}
.news-sub-count span{color:rgba(255,255,255,0.6);font-size:0.82rem;}
.news-sub-count strong{color:var(--amber-lt);}
.news-signup-box{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius-lg);padding:36px;}
.news-signup-box h3{color:var(--white);font-size:1.4rem;margin-bottom:8px;}
.news-signup-box p{color:rgba(255,255,255,0.6);font-size:0.87rem;margin-bottom:24px;font-weight:300;}
.news-form-group{margin-bottom:14px;}
.news-form-group input,.news-form-group select{width:100%;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.88rem;outline:none;transition:border-color 0.2s;}
.news-form-group input:focus,.news-form-group select:focus{border-color:var(--amber);}
.news-form-group input::placeholder{color:rgba(255,255,255,0.35);}
.news-form-group select{appearance:none;cursor:pointer;}
.news-form-group select option{background:var(--forest);color:var(--white);}
.news-privacy{font-size:0.73rem;color:rgba(255,255,255,0.38);margin-top:10px;line-height:1.5;}
.final-cta{background:linear-gradient(135deg,var(--forest),#2A6B3A);padding:88px 5%;text-align:center;}
.final-cta h2{color:var(--white);font-size:clamp(1.9rem,3.8vw,3rem);margin-bottom:14px;}
.final-cta p{color:rgba(255,255,255,0.65);max-width:500px;margin:0 auto 32px;font-size:1rem;font-weight:300;}

/* ABOUT */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.story-img{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;position:relative;}
.story-img img{width:100%;height:100%;object-fit:cover;}
.story-badge{position:absolute;bottom:18px;left:18px;background:var(--amber);color:var(--forest-deep);padding:9px 15px;border-radius:8px;font-size:0.78rem;font-weight:600;}
.timeline{margin-top:36px;padding-left:22px;border-left:2px solid var(--border);}
.timeline-item{padding:0 0 28px 22px;position:relative;}
.timeline-item::before{content:'';position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--amber);border:2px solid var(--cream);}
.timeline-year{font-size:0.7rem;color:var(--amber);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:3px;}
.timeline-item h4{font-size:0.95rem;margin-bottom:5px;color:var(--forest);}
.timeline-item p{font-size:0.82rem;color:var(--muted);line-height:1.55;font-weight:300;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px;}
.value-card{padding:26px;border-radius:var(--radius);background:var(--white);text-align:center;border:1px solid var(--border);transition:all 0.3s;}
.value-card:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 12px 36px rgba(15,138,122,0.1);}
.value-icon{font-size:1.8rem;margin-bottom:10px;}
.value-card h4{font-size:0.9rem;margin-bottom:6px;color:var(--forest);}
.value-card p{font-size:0.78rem;color:var(--muted);line-height:1.55;font-weight:300;}
.diff-section{background:linear-gradient(135deg,var(--forest-deep),var(--forest));padding:88px 5%;}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
.diff-card{padding:30px;border-radius:var(--radius-lg);background:rgba(255,255,255,0.05);border:1px solid rgba(200,154,42,0.18);}
.diff-num{font-family:'Fraunces',serif;font-size:2.8rem;color:var(--amber-lt);font-weight:700;line-height:1;margin-bottom:10px;}
.diff-card h4{color:var(--white);font-size:1rem;margin-bottom:7px;}
.diff-card p{color:rgba(255,255,255,0.55);font-size:0.82rem;line-height:1.6;font-weight:300;}

/* SERVICES */
.services-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px;}
.service-full-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:all 0.3s;}
.service-full-card:hover{transform:translateY(-5px);box-shadow:0 18px 54px rgba(30,77,42,0.12);}
.service-full-img{height:190px;overflow:hidden;}
.service-full-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s;}
.service-full-card:hover img{transform:scale(1.07);}
.service-full-body{padding:26px;}
.service-full-body h3{font-size:1.08rem;margin-bottom:9px;color:var(--forest);}
.service-full-body p{font-size:0.82rem;color:var(--muted);line-height:1.6;margin-bottom:14px;font-weight:300;}
.service-tags{display:flex;flex-wrap:wrap;gap:5px;}
.how-section{background:var(--forest-deep);padding:88px 5%;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative;}
.steps::before{content:'';position:absolute;top:31px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--amber),var(--teal));z-index:0;}
.step{text-align:center;padding:0 14px;position:relative;z-index:1;}
.step-num{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--amber),var(--amber-lt));color:var(--forest-deep);font-family:'Fraunces',serif;font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;border:4px solid var(--forest-deep);}
.step h4{color:var(--white);font-size:0.9rem;margin-bottom:7px;}
.step p{color:rgba(255,255,255,0.48);font-size:0.78rem;line-height:1.55;font-weight:300;}
.faq-section{background:var(--white);}
.faq-list{margin-top:44px;max-width:780px;}
.faq-item{border-bottom:1px solid var(--border);padding:18px 0;}
.faq-q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:14px;}
.faq-q h4{font-size:0.97rem;font-weight:500;color:var(--forest);}
.faq-toggle{width:26px;height:26px;border-radius:50%;background:var(--sky);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.95rem;flex-shrink:0;transition:all 0.3s;color:var(--teal);}
.faq-a{display:none;padding:11px 0 3px;color:var(--muted);font-size:0.87rem;line-height:1.7;font-weight:300;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .faq-toggle{background:var(--teal);color:var(--white);}

/* LISTINGS */
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-btn{padding:8px 18px;border-radius:30px;border:1.5px solid var(--border);background:var(--white);font-size:0.82rem;cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif;color:var(--text);}
.filter-btn:hover,.filter-btn.active{background:var(--forest);border-color:var(--forest);color:var(--white);}
.listings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.listing-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:all 0.3s;display:flex;flex-direction:column;}
.listing-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(30,77,42,0.1);}
.listing-img{position:relative;height:210px;overflow:hidden;flex-shrink:0;}
.listing-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s;}
.listing-card:hover img{transform:scale(1.06);}
.listing-badge{position:absolute;top:11px;left:11px;padding:3px 11px;border-radius:20px;font-size:0.68rem;font-weight:600;letter-spacing:1px;}
.listing-badge.green{background:var(--forest);color:var(--white);}
.listing-badge.teal{background:var(--teal);color:var(--white);}
.listing-badge.amber{background:var(--amber);color:var(--forest-deep);}
.listing-badge.news{background:var(--teal-deep);color:var(--white);}
.listing-body{padding:22px;flex:1;display:flex;flex-direction:column;}
.listing-body h3{font-size:1rem;margin-bottom:7px;color:var(--forest);}
.listing-body p{font-size:0.82rem;color:var(--muted);line-height:1.55;margin-bottom:14px;font-weight:300;flex:1;}
.listing-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;}
.listing-price{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--amber);font-weight:500;}
.listing-cta{padding:7px 15px;border-radius:6px;font-size:0.78rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.listing-cta.green{background:var(--sky);color:var(--forest);}
.listing-cta.green:hover{background:var(--forest);color:var(--white);}
.listing-cta.teal{background:#D0F0EC;color:var(--teal-deep);}
.listing-cta.teal:hover{background:var(--teal);color:var(--white);}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start;}
.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.contact-icon{width:42px;height:42px;border-radius:10px;background:var(--sky);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.contact-detail h4{font-size:0.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.contact-detail p{font-size:0.9rem;color:var(--text);}
.social-links{display:flex;gap:10px;margin-top:28px;}
.social-link{width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none;transition:background 0.2s;}
.social-link:hover{background:var(--amber);}
.contact-form-box{background:var(--white);padding:36px;border-radius:var(--radius-lg);border:1px solid var(--border);}
.contact-form-box h3{font-size:1.35rem;margin-bottom:22px;color:var(--forest);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:0.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:7px;}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 15px;border:1.5px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.87rem;background:var(--cream);color:var(--text);outline:none;transition:border-color 0.2s;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--teal);}
.form-group textarea{height:110px;resize:vertical;}
.form-success{display:none;background:var(--sky);border:1px solid var(--teal);border-radius:8px;padding:14px;text-align:center;color:var(--teal-deep);font-weight:500;margin-top:14px;}
.map-placeholder{margin-top:36px;border-radius:var(--radius-lg);overflow:hidden;height:220px;background:linear-gradient(135deg,var(--sky),#C8EED0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);}
.map-placeholder .map-icon{font-size:2.2rem;}
.map-placeholder p{color:var(--forest);font-weight:600;}
.map-placeholder span{color:var(--muted);font-size:0.82rem;}

/* NEWSLETTER PAGE */
.news-page-hero{padding:130px 5% 72px;background:linear-gradient(130deg,var(--teal-deep) 0%,#0B7A6A 50%,var(--forest) 100%);position:relative;overflow:hidden;}
.news-page-hero::before{content:'';position:absolute;top:-30%;right:-5%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(200,154,42,0.12),transparent 70%);}
.news-page-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.news-page-hero h1{color:var(--white);font-size:clamp(2.3rem,4.5vw,3.6rem);line-height:1.1;margin-bottom:16px;}
.news-page-hero p{color:rgba(255,255,255,0.68);font-size:1.05rem;line-height:1.72;font-weight:300;margin-bottom:28px;}
.news-hero-form{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:var(--radius-lg);padding:32px;}
.news-hero-form h3{color:var(--white);font-size:1.25rem;margin-bottom:6px;}
.news-hero-form p{color:rgba(255,255,255,0.6);font-size:0.83rem;margin-bottom:20px;font-weight:300;}
.news-hero-form input,.news-hero-form select{width:100%;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.08);color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.87rem;outline:none;margin-bottom:12px;transition:border-color 0.2s;}
.news-hero-form input:focus,.news-hero-form select:focus{border-color:var(--amber);}
.news-hero-form input::placeholder{color:rgba(255,255,255,0.35);}
.news-hero-form select option{background:var(--teal-deep);}
.news-hero-form .btn-primary{width:100%;justify-content:center;margin-top:4px;}
.news-hero-form .privacy-note{font-size:0.7rem;color:rgba(255,255,255,0.35);margin-top:9px;text-align:center;}
.news-preview-section{background:var(--white);}
.news-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px;}
.news-preview-card{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:all 0.3s;}
.news-preview-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(15,138,122,0.1);border-color:var(--teal);}
.news-preview-img{height:180px;overflow:hidden;}
.news-preview-img img{width:100%;height:100%;object-fit:cover;}
.news-preview-body{padding:22px;}
.news-edition{font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:7px;}
.news-preview-body h3{font-size:1rem;color:var(--forest);margin-bottom:8px;}
.news-preview-body p{font-size:0.82rem;color:var(--muted);line-height:1.6;font-weight:300;margin-bottom:14px;}
.news-preview-meta{display:flex;justify-content:space-between;align-items:center;}
.news-date{font-size:0.72rem;color:var(--muted);}
.news-read-link{font-size:0.78rem;color:var(--teal);font-weight:600;text-decoration:none;}
.news-read-link:hover{color:var(--teal-deep);}
.news-tiers{background:linear-gradient(135deg,var(--forest-deep),var(--forest));padding:88px 5%;}
.tiers-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px;max-width:860px;}
.tier-card{border-radius:var(--radius-lg);border:1px solid rgba(200,154,42,0.18);background:rgba(255,255,255,0.05);padding:36px;position:relative;}
.tier-card.featured{border-color:var(--amber);background:rgba(200,154,42,0.08);}
.tier-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--amber);color:var(--forest-deep);padding:4px 16px;border-radius:20px;font-size:0.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
.tier-name{color:var(--white);font-size:0.78rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;margin-bottom:12px;}
.tier-price{font-family:'Fraunces',serif;font-size:2.8rem;color:var(--amber-lt);font-weight:700;line-height:1;}
.tier-price span{font-family:'DM Sans',sans-serif;font-size:0.85rem;color:rgba(255,255,255,0.45);font-weight:300;}
.tier-desc{color:rgba(255,255,255,0.55);font-size:0.83rem;margin:12px 0 22px;font-weight:300;}
.tier-features{list-style:none;margin-bottom:28px;}
.tier-features li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,0.75);font-size:0.85rem;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.tier-features li::before{content:'\2713';color:var(--teal);font-weight:700;flex-shrink:0;margin-top:1px;}
.tier-features li.disabled{color:rgba(255,255,255,0.28);}
.tier-features li.disabled::before{content:'\2013';color:rgba(255,255,255,0.2);}
.news-categories{background:var(--cream);}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
.cat-card{background:var(--white);border-radius:var(--radius);padding:26px;border:1px solid var(--border);display:flex;gap:16px;align-items:flex-start;transition:all 0.3s;}
.cat-card:hover{border-color:var(--teal);transform:translateY(-3px);}
.cat-icon{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.cat-icon.green{background:var(--sky);}
.cat-icon.teal{background:#D0F0EC;}
.cat-icon.amber{background:#FDF0D0;}
.cat-card h4{font-size:0.95rem;color:var(--forest);margin-bottom:5px;}
.cat-card p{font-size:0.8rem;color:var(--muted);line-height:1.55;font-weight:300;}
.news-stats-strip{background:var(--teal-deep);padding:44px 5%;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.news-stat-item .stat-num{color:var(--amber-lt);}
.news-stat-item .stat-label{color:rgba(255,255,255,0.55);}

/* RESPONSIVE */
@media(max-width:960px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .benefits-grid,.services-grid,.testi-grid,.steps,.services-full-grid,.listings-grid,.footer-grid,.diff-grid,.values-grid,.news-two-col,.news-page-hero-inner,.tiers-grid,.cat-grid,.news-preview-grid{grid-template-columns:1fr 1fr;}
  .service-card-lg{grid-column:auto;}
  .story-grid,.about-preview,.contact-grid{grid-template-columns:1fr;}
  .news-stats-strip{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .benefits-grid,.testi-grid,.services-full-grid,.listings-grid,.footer-grid,.diff-grid,.values-grid,.news-two-col,.news-page-hero-inner,.tiers-grid,.cat-grid,.news-preview-grid{grid-template-columns:1fr;}
  .services-grid,.steps,.hero-stats{grid-template-columns:1fr;display:flex;flex-direction:column;}
  .hero-stats{flex-direction:row;flex-wrap:wrap;}
  .hero-btns,.form-row{flex-direction:column;display:flex;}
  .section{padding:60px 5%;}
  .page-hero,.news-page-hero{padding:110px 5% 56px;}
  .steps::before{display:none;}
  .news-stats-strip{grid-template-columns:1fr 1fr;}
}

/* WORDPRESS / ELEMENTOR COMPAT */
.admin-bar nav.sf-nav{top:32px;}
.admin-bar .mobile-menu{top:100px;}
@media(max-width:782px){.admin-bar nav.sf-nav{top:46px;}.admin-bar .mobile-menu{top:114px;}}
.sf-spacer{height:68px;}
.e-con.sf-sec,.e-con.sf-sec>.e-con-inner{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:100%;--content-width:100%;padding:0!important;max-width:100%!important;}
.e-con.sf-sec>.elementor-widget-html,.e-con.sf-sec>.e-con-inner>.elementor-widget-html{width:100%;margin:0!important;}
.sf-sec .elementor-widget-container{margin:0;padding:0;}
.sf-sec h1,.sf-sec h2,.sf-sec h3,.sf-sec h4{font-family:'Fraunces',serif;letter-spacing:normal;text-transform:none;}
.sf-sec a:hover,.sf-sec a:focus{text-decoration:none;}
.sf-sec img.testi-avatar,.sf-sec .news-sub-count img{border-radius:50%;}
.sf-sec .testi-avatar{border:2px solid var(--amber);height:42px;}
.sf-sec .news-sub-count img{border:2px solid var(--teal);height:32px;}
.sf-sec .service-card img,.sf-sec .about-preview-img img{height:100%;max-width:100%;}

.nav-logo img.sf-logo-img{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:block;}
.footer-brand .nav-logo img.sf-logo-img{width:40px!important;height:40px!important;margin-right:0!important;}
