@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--efh-primary: #059669;--efh-primary-hover: #047857;--efh-secondary: #E6F7F0;--efh-white: #FFFFFF;--efh-light-bg: #F8F9FB;--efh-text-dark: #1C1C32;--efh-text-muted: #52526E;--efh-border-color: #DFE2E8;--efh-radius: 8px;--efh-shadow-xs: 0 1px 2px rgba(5, 150, 105, .04);--efh-shadow-sm: 0 2px 8px rgba(5, 150, 105, .07);--efh-shadow-md: 0 6px 16px rgba(5, 150, 105, .1);--efh-shadow-lg: 0 12px 32px rgba(5, 150, 105, .13);--efh-shadow-glow: rgba(5, 150, 105, .15);--efh-heading-font: "DM Sans", system-ui, -apple-system, sans-serif;--efh-body-font: "Inter", system-ui, -apple-system, sans-serif;--efh-container-width: 1120px;--efh-ease: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--efh-body-font);font-size:16px;line-height:1.75;color:var(--efh-text-dark);background-color:var(--efh-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--efh-primary);text-decoration:none;transition:color var(--efh-ease)}a:hover{color:var(--efh-primary-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--efh-heading-font);font-weight:700;line-height:1.3;color:var(--efh-text-dark)}.efh-wrap{width:100%;max-width:var(--efh-container-width);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.efh-header{position:fixed;top:0;left:0;width:100%;z-index:900;background-color:transparent;transition:background-color var(--efh-ease),box-shadow var(--efh-ease)}.efh-header.efh-header--solid{background-color:var(--efh-white);box-shadow:var(--efh-shadow-sm)}.efh-header-wrap{max-width:var(--efh-container-width);margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.efh-brand{font-family:var(--efh-heading-font);font-weight:700;font-size:1.15rem;color:var(--efh-white);white-space:nowrap;transition:color var(--efh-ease)}.efh-header.efh-header--solid .efh-brand{color:var(--efh-primary)}.efh-nav{display:flex;align-items:center;gap:20px}.efh-nav-link{font-size:.88rem;font-weight:500;color:#ffffffd9;transition:color var(--efh-ease)}.efh-header.efh-header--solid .efh-nav-link{color:var(--efh-text-muted)}.efh-nav-link:hover{color:var(--efh-white)}.efh-header.efh-header--solid .efh-nav-link:hover{color:var(--efh-primary)}.efh-header-action{display:inline-flex;align-items:center;padding:9px 20px;background-color:var(--efh-primary);color:var(--efh-white);font-size:.88rem;font-weight:600;border-radius:var(--efh-radius);transition:background-color var(--efh-ease);white-space:nowrap}.efh-header-action:hover{background-color:var(--efh-primary-hover);color:var(--efh-white);box-shadow:0 4px 20px #05966959}.efh-mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.efh-mobile-toggle span{width:24px;height:2px;background-color:var(--efh-white);transition:transform var(--efh-ease),opacity var(--efh-ease),background-color var(--efh-ease)}.efh-header.efh-header--solid .efh-mobile-toggle span{background-color:var(--efh-text-dark)}.efh-mobile-toggle--open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.efh-mobile-toggle--open span:nth-child(2){opacity:0}.efh-mobile-toggle--open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.efh-mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--efh-white);z-index:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;pointer-events:none;transition:opacity var(--efh-ease)}.efh-mobile-menu.efh-mobile-menu--open{opacity:1;pointer-events:auto}.efh-mobile-link{font-family:var(--efh-heading-font);font-size:1.3rem;font-weight:700;color:var(--efh-text-dark)}.efh-mobile-link:hover{color:var(--efh-primary)}.efh-mobile-cta{display:inline-block;margin-top:12px;padding:14px 32px;background-color:var(--efh-primary);color:var(--efh-white);font-weight:600;font-size:1rem;border-radius:var(--efh-radius)}.efh-mobile-cta:hover{background-color:var(--efh-primary-hover);color:var(--efh-white)}.efh-breadcrumb{max-width:var(--efh-container-width);margin:0 auto;padding:70px 20px 0;font-size:.82rem;color:var(--efh-text-muted)}.efh-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px}.efh-breadcrumb li:after{content:"›";margin-left:6px;color:var(--efh-border-color)}.efh-breadcrumb li:last-child:after{display:none}.efh-breadcrumb a{color:var(--efh-primary);font-weight:500}.efh-breadcrumb span[aria-current]{color:var(--efh-text-muted)}@keyframes efh-fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.efh-hero{padding:7rem 2rem 5rem;background:linear-gradient(135deg,#1e293b,#334155,#1e293b);position:relative;overflow:hidden}.efh-hero:after{content:"";position:absolute;top:50%;right:10%;width:360px;height:360px;background:radial-gradient(circle,rgba(51,65,85,.5) 0%,transparent 70%);transform:translateY(-50%);pointer-events:none}.efh-hero-inner{display:flex;align-items:center;gap:3rem;position:relative;z-index:2;max-width:var(--efh-container-width);margin:0 auto}.efh-hero-text{flex:1;color:var(--efh-white);text-align:left;animation:efh-fadeUp .8s ease-out both}.efh-hero-heading{font-size:2.6rem;color:var(--efh-white);margin-bottom:18px;letter-spacing:-.02em;line-height:1.2}.efh-hero-paragraph{font-size:1.08rem;color:#ffffffe0;line-height:1.7;margin-bottom:30px;max-width:520px}.efh-hero-action{display:inline-block;padding:14px 32px;background-color:var(--efh-white);color:var(--efh-primary);font-weight:600;font-size:1rem;border-radius:var(--efh-radius);transition:transform .15s ease,box-shadow var(--efh-ease)}.efh-hero-action:hover{transform:translateY(-2px);box-shadow:var(--efh-shadow-lg);color:var(--efh-primary)}.efh-hero-visual{flex-shrink:0;animation:efh-fadeUp .8s ease-out .2s both}.efh-hero-visual img{width:270px;height:270px;object-fit:cover;border-radius:18px;box-shadow:0 8px 32px #00000059;border:3px solid rgba(255,255,255,.1);transform:rotate(-2deg);transition:transform .3s ease}.efh-hero-visual img:hover{transform:rotate(0) scale(1.03)}.efh-block{padding:76px 0}.efh-block--base{background-color:var(--efh-white)}.efh-block--alt{background-color:var(--efh-light-bg)}.efh-block-intro{text-align:center;max-width:680px;margin:0 auto 52px}.efh-block-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--efh-primary);margin-bottom:10px}.efh-block-heading{font-size:2.1rem;margin-bottom:14px;letter-spacing:-.01em}.efh-block-lead{font-size:1rem;color:var(--efh-text-muted);line-height:1.7}.efh-page-hero{padding:6rem 0 3rem;background:linear-gradient(135deg,#1e293b,#334155);color:var(--efh-white)}.efh-page-hero h1{font-size:2.2rem;color:var(--efh-white);margin-bottom:16px;letter-spacing:-.02em}.efh-page-intro{font-size:1.05rem;color:#ffffffd9;line-height:1.7;max-width:740px}.efh-faq-section{padding:76px 0}.efh-faq-container{max-width:780px;margin:0 auto}.efh-faq-entry{border:1px solid var(--efh-border-color);border-radius:var(--efh-radius);margin-bottom:12px;background-color:var(--efh-white);overflow:hidden;transition:box-shadow var(--efh-ease)}.efh-faq-entry:hover{box-shadow:var(--efh-shadow-xs)}.efh-faq-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 24px;background:none;border:none;cursor:pointer;font-family:var(--efh-heading-font);font-size:1.05rem;font-weight:700;color:var(--efh-text-dark);text-align:left;gap:12px}.efh-faq-trigger-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--efh-secondary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--efh-primary);transition:transform var(--efh-ease),background-color var(--efh-ease)}.efh-faq-entry.efh-faq-entry--expanded .efh-faq-trigger-icon{background-color:var(--efh-primary);color:var(--efh-white);transform:rotate(45deg)}.efh-faq-body{max-height:0;overflow:hidden;transition:max-height .4s ease}.efh-faq-entry.efh-faq-entry--expanded .efh-faq-body{max-height:500px}.efh-faq-body-inner{padding:0 24px 20px;font-size:.95rem;color:var(--efh-text-muted);line-height:1.75}.efh-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.efh-service-tile{background-color:var(--efh-white);border:1px solid var(--efh-border-color);border-radius:var(--efh-radius);padding:32px 28px;transition:box-shadow var(--efh-ease),border-color var(--efh-ease)}.efh-service-tile:hover{box-shadow:0 8px 30px #0596691f;border-color:transparent}.efh-service-tile-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--efh-secondary);color:var(--efh-primary);border-radius:var(--efh-radius);margin-bottom:18px;font-size:1.2rem}.efh-service-tile-name{font-size:1.15rem;margin-bottom:10px}.efh-service-tile-text{font-size:.92rem;color:var(--efh-text-muted);line-height:1.7}.efh-service-detail{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--efh-border-color)}.efh-service-detail:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.efh-service-detail h2{font-size:1.6rem;margin-bottom:16px;color:var(--efh-primary)}.efh-service-detail h3{font-size:1.1rem;margin-top:24px;margin-bottom:10px;color:var(--efh-text-dark)}.efh-service-detail p{color:var(--efh-text-muted);line-height:1.75;margin-bottom:12px}.efh-advantages{list-style:none;padding:0}.efh-advantages li{padding:8px 0 8px 24px;position:relative;color:var(--efh-text-muted);line-height:1.65}.efh-advantages li:before{content:"✓";position:absolute;left:0;color:var(--efh-primary);font-weight:700}.efh-project{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--efh-border-color)}.efh-project:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.efh-project h2{font-size:1.5rem;margin-bottom:12px;color:var(--efh-primary)}.efh-project h3{font-size:1.05rem;margin-top:20px;margin-bottom:8px;color:var(--efh-text-dark)}.efh-project p{color:var(--efh-text-muted);line-height:1.75}.efh-project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.efh-project-tag{padding:4px 12px;background-color:var(--efh-secondary);color:var(--efh-primary);font-size:.82rem;font-weight:600;border-radius:14px}.efh-commune-detail{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--efh-border-color)}.efh-commune-detail:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.efh-commune-detail h2{font-size:1.4rem;margin-bottom:12px;color:var(--efh-primary)}.efh-commune-detail p{color:var(--efh-text-muted);line-height:1.75}.efh-guide-section{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--efh-border-color)}.efh-guide-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.efh-guide-section h2{font-size:1.4rem;margin-bottom:14px;color:var(--efh-primary)}.efh-guide-section p{color:var(--efh-text-muted);line-height:1.8}.efh-review-card{background-color:var(--efh-white);border:1px solid var(--efh-border-color);border-radius:var(--efh-radius);padding:28px;margin-bottom:20px;transition:box-shadow var(--efh-ease)}.efh-review-card:hover{box-shadow:var(--efh-shadow-sm)}.efh-review-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:8px}.efh-review-author{font-family:var(--efh-heading-font);font-weight:700;font-size:1.05rem;color:var(--efh-text-dark)}.efh-review-meta{font-size:.84rem;color:var(--efh-text-muted)}.efh-review-stars{color:#f59e0b;font-size:1.1rem;margin-bottom:10px;letter-spacing:2px}.efh-review-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.efh-review-details span{padding:3px 10px;background-color:var(--efh-light-bg);color:var(--efh-text-muted);font-size:.8rem;border-radius:12px}.efh-review-text{color:var(--efh-text-muted);line-height:1.75;font-size:.95rem}.efh-cta-banner{padding:60px 20px;background:linear-gradient(135deg,var(--efh-primary) 0%,var(--efh-primary-hover) 100%);text-align:center;color:var(--efh-white)}.efh-cta-banner h2{font-size:1.8rem;color:var(--efh-white);margin-bottom:12px}.efh-cta-banner p{font-size:1.05rem;color:#ffffffe0;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.efh-cta-banner a{display:inline-block;padding:14px 32px;background-color:var(--efh-white);color:var(--efh-primary);font-weight:600;font-size:1rem;border-radius:var(--efh-radius);transition:transform .15s ease,box-shadow var(--efh-ease)}.efh-cta-banner a:hover{transform:translateY(-2px);box-shadow:var(--efh-shadow-lg);color:var(--efh-primary)}.efh-internal-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--efh-border-color)}.efh-internal-links a{padding:10px 20px;background-color:var(--efh-secondary);color:var(--efh-primary);font-size:.9rem;font-weight:600;border-radius:var(--efh-radius);transition:background-color var(--efh-ease),transform .15s ease}.efh-internal-links a:hover{background-color:var(--efh-primary);color:var(--efh-white);transform:translateY(-1px)}.efh-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}.efh-timeline:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:2px;background-color:var(--efh-border-color)}.efh-timeline-node{position:relative;text-align:center;padding-top:48px}.efh-timeline-dot{position:absolute;top:8px;left:50%;transform:translate(-50%);width:24px;height:24px;border-radius:50%;background-color:var(--efh-primary);border:4px solid var(--efh-white);box-shadow:var(--efh-shadow-sm)}.efh-timeline-label{font-family:var(--efh-heading-font);font-size:1rem;font-weight:700;margin-bottom:8px}.efh-timeline-info{font-size:.88rem;color:var(--efh-text-muted);line-height:1.65}.efh-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.efh-zone-content p{margin-bottom:20px}.efh-zone-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.efh-zone-tag{padding:5px 14px;background-color:var(--efh-secondary);color:var(--efh-primary);font-size:.84rem;font-weight:600;border-radius:16px}.efh-zone-embed{border-radius:var(--efh-radius);overflow:hidden;box-shadow:var(--efh-shadow-md)}.efh-zone-embed iframe{width:100%;height:360px;border:0}.efh-contact-block{padding:76px 0;background-color:var(--efh-light-bg)}.efh-contact-center{max-width:640px;margin:0 auto;text-align:center}.efh-contact-heading{font-size:1.9rem;margin-bottom:10px}.efh-contact-sub{font-size:1rem;color:var(--efh-text-muted);margin-bottom:36px}.tally-popup-trigger{display:inline-block;padding:16px 40px;background-color:var(--efh-primary);color:var(--efh-white);font-family:var(--efh-body-font);font-size:1.05rem;font-weight:600;border:none;border-radius:var(--efh-radius);cursor:pointer;transition:background-color var(--efh-ease),transform .15s ease}.tally-popup-trigger:hover{background-color:var(--efh-primary-hover);box-shadow:0 4px 20px #05966959;transform:translateY(-1px)}.efh-footer{background-color:#141427;color:#ffffffa6;padding:52px 0 28px}.efh-footer-wrap{max-width:var(--efh-container-width);margin:0 auto;padding:0 20px}.efh-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}.efh-footer-col a{display:block;font-size:.86rem;color:#ffffff8c;margin-bottom:7px;transition:color var(--efh-ease)}.efh-footer-col a:hover{color:var(--efh-white)}.efh-footer-name{font-family:var(--efh-heading-font);font-weight:700;font-size:1.1rem;color:var(--efh-white);margin-bottom:10px}.efh-footer-info{font-size:.86rem;line-height:1.65;max-width:320px}.efh-footer-heading{font-family:var(--efh-heading-font);font-weight:700;font-size:.88rem;color:var(--efh-white);margin-bottom:12px}.efh-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center}.efh-footer-copy{font-size:.8rem}.efh-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.efh-gallery-item{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:10px;box-shadow:0 4px 16px #00000014}.efh-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.efh-gallery-item:hover img{transform:scale(1.05)}.efh-gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:#000000a6;color:#fff;font-size:13px;font-weight:500}@media (max-width: 1024px){.efh-gallery{grid-template-columns:repeat(2,1fr)}.efh-services-grid{grid-template-columns:1fr}.efh-timeline{grid-template-columns:repeat(2,1fr)}.efh-timeline:before{display:none}.efh-footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.efh-gallery{grid-template-columns:1fr}.efh-nav,.efh-header-action{display:none}.efh-mobile-toggle{display:flex}.efh-hero{padding:5.5rem 1.5rem 3.5rem}.efh-hero-inner{flex-direction:column-reverse;gap:1.5rem}.efh-hero-text{text-align:center;max-width:100%}.efh-hero-heading{font-size:2rem}.efh-hero-paragraph{max-width:100%;margin-left:auto;margin-right:auto}.efh-hero-visual img{width:200px;height:200px}.efh-page-hero{padding:5rem 0 2rem}.efh-page-hero h1{font-size:1.7rem}.efh-block{padding:52px 0}.efh-block-heading{font-size:1.6rem}.efh-zone-grid{grid-template-columns:1fr;gap:28px}.efh-timeline{grid-template-columns:1fr;gap:20px}.efh-timeline-node{text-align:left;padding-top:0;padding-left:40px}.efh-timeline-dot{top:4px;left:0;transform:none}.efh-footer-grid{grid-template-columns:1fr;gap:28px}.efh-faq-trigger{font-size:.95rem;padding:16px 18px}.efh-faq-body-inner{padding:0 18px 16px}.efh-breadcrumb{padding-top:60px}.efh-internal-links{flex-direction:column;align-items:center}.efh-project-meta,.efh-review-header{flex-direction:column}}@media (max-width: 480px){.efh-hero-heading{font-size:1.55rem}.efh-wrap{padding-left:16px;padding-right:16px}.efh-cta-banner h2{font-size:1.4rem}}
