:root{--color-primary:#a0b08d;--color-primary-600:#8ca073;--color-primary-700:#6f8259;--color-primary-100:#e9ede1;--color-primary-200:#d3dcc3;--color-bg:#fdfbf5;--color-surface:#fff;--color-ink:#313827;--color-text:#565d4c;--color-text-soft:#868c79;--color-border:#e7e2d3;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container-width:1200px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 2px 10px #3138270f;--shadow-md:0 10px 30px #3138271a;--shadow-lg:0 20px 50px #31382729;--header-height:80px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:1rem}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-ink);font-weight:700;line-height:1.2}#root{overflow-x:hidden}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}.section{padding:88px 0}.section--tight{padding:56px 0}.section--alt{background:var(--color-primary-100)}@media (width<=900px){.section{padding:64px 0}.section--tight{padding:40px 0}}@media (width<=560px){.container{padding:0 18px}.section{padding:48px 0}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary-700);align-items:center;gap:8px;margin-bottom:12px;font-size:.8rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--color-primary-700);width:22px;height:2px;display:inline-block}.section-heading{max-width:640px;margin-bottom:48px}.section-heading--center{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{margin-bottom:14px;font-size:clamp(1.7rem,3.2vw,2.4rem)}.section-heading p{color:var(--color-text-soft);font-size:1.02rem}.btn{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 30px;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.btn-primary{background:var(--color-primary-700);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-ink);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline{color:var(--color-ink);border:1.5px solid var(--color-ink);background:0 0}.btn-outline:hover{background:var(--color-ink);color:#fff}.btn-light{background:var(--color-surface);color:var(--color-primary-700);box-shadow:var(--shadow-sm)}.btn-light:hover{background:var(--color-primary-700);color:#fff;transform:translateY(-2px)}.btn-block{width:100%}.btn-sm{padding:10px 20px;font-size:.85rem}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary-700);outline-offset:2px}.navbar{z-index:100;background:var(--color-bg);height:var(--header-height);border-bottom:1px solid #0000;align-items:center;transition:all .25s;display:flex;position:sticky;top:0}.navbar--scrolled{border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm)}.navbar__inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.navbar__logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.navbar__logo-mark{flex-shrink:0;width:auto;height:44px}.navbar__logo-text{font-family:var(--font-heading);color:var(--color-ink);letter-spacing:.01em;font-size:1.3rem;font-weight:700}.navbar__logo-text em{color:var(--color-primary-700);font-style:normal}.navbar__links ul{gap:32px;display:flex}.navbar__links a{color:var(--color-text);padding:6px 0;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.navbar__links a:hover,.navbar__links a.is-active{color:var(--color-primary-700)}.navbar__links a.is-active:after{content:"";background:var(--color-primary-700);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.navbar__actions{flex-shrink:0;align-items:center;gap:20px;display:flex}.navbar__phone{color:var(--color-ink);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.navbar__mobile-cta{display:none}.navbar__toggle{color:var(--color-ink);display:none}@media (width<=960px){.navbar__actions .navbar__phone{display:none}}@media (width<=560px){.navbar__logo-mark{height:38px}}@media (width<=860px){.navbar__actions{display:none}.navbar__toggle{display:flex}.navbar__links{top:var(--header-height);background:var(--color-bg);padding:32px 24px;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(100%)}.navbar__links.is-open{transform:translate(0)}.navbar__links ul{flex-direction:column;gap:0}.navbar__links ul li{border-bottom:1px solid var(--color-border)}.navbar__links ul a{padding:16px 4px;font-size:1.05rem;display:block}.navbar__mobile-cta{gap:12px;margin-top:28px;display:flex}.navbar__mobile-cta .btn{flex:1}}.footer{background:var(--color-ink);color:#c9cebe}.footer a{color:#c9cebe}.footer__grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding:72px 24px 48px;display:grid}.footer__col h4{color:#fff;margin-bottom:20px;font-size:1rem}.footer__col ul{flex-direction:column;gap:12px;display:flex}.footer__col ul a{font-size:.92rem;transition:color .2s}.footer__col ul a:hover{color:#fff}.footer__logo{align-items:center;margin-bottom:16px;display:flex}.footer__logo-mark{border-radius:var(--radius-sm);width:auto;height:52px}.footer__brand p{max-width:320px;margin-bottom:20px;font-size:.92rem;line-height:1.7}.footer__social{gap:12px;display:flex}.footer__social a{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.footer__social a:hover{background:var(--color-primary-700)}.footer__contact li{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.footer__contact svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.footer__bottom{border-top:1px solid #ffffff1a}.footer__bottom-inner{opacity:.75;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:20px 24px;font-size:.82rem;display:flex}@media (width<=900px){.footer__grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.footer__grid{grid-template-columns:1fr;gap:32px;padding:56px 18px 32px}.footer__bottom-inner{flex-direction:column}}.whatsapp-fab{color:#fff;width:58px;height:58px;box-shadow:var(--shadow-md);z-index:90;background:#25d366;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;animation:.4s whatsapp-pop;display:flex;position:fixed;bottom:22px;right:22px}.whatsapp-fab:hover{transform:scale(1.08)}@keyframes whatsapp-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (width<=560px){.whatsapp-fab{width:52px;height:52px;bottom:16px;right:16px}}.image-frame{border-radius:var(--radius-md);background:var(--color-primary-100);width:100%;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.image-frame--placeholder{color:var(--color-primary-700);background:repeating-linear-gradient(135deg, var(--color-primary-100), var(--color-primary-100) 12px, var(--color-primary-200) 12px, var(--color-primary-200) 24px);border:1px dashed var(--color-primary-600);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.image-frame--placeholder svg{opacity:.7;width:34px;height:34px}.image-frame--placeholder span{text-align:center;opacity:.8;padding:0 12px;font-size:.8rem;font-weight:600}.product-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;transition:transform .15s ease-out,box-shadow .25s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.product-card:hover .image-frame img{transform:scale(1.06)}.product-card .image-frame{border-radius:0}.product-card__body{flex-direction:column;flex:1;gap:6px;padding:24px;display:flex}.product-card__icon{background:var(--color-primary-100);width:42px;height:42px;color:var(--color-primary-700);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.product-card__body h3{font-size:1.15rem}.product-card__tagline{color:var(--color-text-soft);margin-bottom:10px;font-size:.88rem}.product-card__features{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.product-card__features li{color:var(--color-text);align-items:center;gap:8px;font-size:.86rem;display:flex}.product-card__features svg{color:var(--color-primary-700);flex-shrink:0}.product-card__link{color:var(--color-primary-700);align-items:center;gap:4px;margin-top:auto;font-size:.9rem;font-weight:600;transition:gap .2s;display:inline-flex}.product-card__link:hover{gap:8px}.carousel{position:relative}.carousel__stage{perspective:1400px;height:400px;margin-bottom:32px;position:relative}.carousel__slide{cursor:pointer;border-radius:var(--radius-lg);will-change:transform, opacity;backface-visibility:hidden;background:0 0;border:0;width:min(58%,420px);height:100%;margin-left:min(-29%,-210px);padding:0;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .65s;position:absolute;top:0;left:50%;overflow:hidden}.carousel__slide .image-frame{border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-md)}.carousel__slide.is-active .image-frame{box-shadow:var(--shadow-lg)}.carousel__caption{color:#fff;text-align:left;background:linear-gradient(#31382700 0%,#313827e0 100%);padding:22px 20px 18px;position:absolute;inset:auto 0 0}.carousel__caption span{background:var(--color-primary-700);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-bottom:8px;padding:3px 11px;font-size:.7rem;font-weight:600;display:inline-block}.carousel__caption h3{color:#fff;margin-bottom:2px;font-size:1.05rem}.carousel__caption p{opacity:.85;font-size:.82rem}.carousel__controls{justify-content:center;align-items:center;gap:20px;display:flex}.carousel__arrow{border:1.5px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s;display:flex}.carousel__arrow--prev{transform:rotate(180deg)}.carousel__arrow:hover{background:var(--color-primary-700);color:#fff;border-color:var(--color-primary-700)}.carousel__counter{font-family:var(--font-heading);color:var(--color-text-soft);text-align:center;min-width:76px;font-weight:600}@media (prefers-reduced-motion:reduce){.carousel__slide{transition:opacity .3s}}@media (width<=720px){.carousel__stage{height:300px}.carousel__slide{width:min(80%,320px);margin-left:min(-40%,-160px)}}@media (width<=480px){.carousel__stage{height:250px}}.hero-carousel{position:relative}.hero-carousel__stage{height:420px;position:relative}@media (width<=960px){.hero-carousel__stage{height:min(90vw,420px)}}@media (width<=400px){.hero-carousel__stage{height:min(85vw,320px)}}.hero-carousel__slide{z-index:1;animation:.8s hero-slide-in;position:absolute;inset:0}@keyframes hero-slide-in{0%{opacity:0}to{opacity:1}}.hero-carousel__slide .image-frame{height:100%;box-shadow:var(--shadow-lg)}.hero-carousel__tag{z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:var(--radius-sm);background:#313827b8;padding:10px 16px;animation:.5s tag-fade;position:absolute;top:18px;left:18px}.hero-carousel__tag strong{color:#fff;font-size:.9rem;display:block}.hero-carousel__tag span{opacity:.8;font-size:.76rem}@keyframes tag-fade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hero-carousel__dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.hero-carousel__dots button{background:#ffffff8c;border:1px solid #ffffffb3;border-radius:50%;width:9px;height:9px;transition:background .2s,transform .2s}.hero-carousel__dots button.is-active{background:var(--color-primary);transform:scale(1.2)}@media (prefers-reduced-motion:reduce){.hero-carousel__slide{animation:none}}.testimonial-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;height:100%;padding:32px;transition:transform .15s ease-out,box-shadow .25s;display:flex;position:relative}.testimonial-card:hover{box-shadow:var(--shadow-md)}.testimonial-card__quote{color:var(--color-primary-200);margin-bottom:8px}.testimonial-card__stars{gap:3px;margin-bottom:14px;display:flex}.testimonial-card__stars .is-filled{color:#e0a93d}.testimonial-card__stars .is-empty{color:var(--color-border)}.testimonial-card__text{color:var(--color-text);flex:1;margin-bottom:22px;font-size:.95rem;line-height:1.7}.testimonial-card__author{align-items:center;gap:12px;display:flex}.testimonial-card__avatar{background:var(--color-primary-700);color:#fff;width:44px;height:44px;font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.testimonial-card__author strong{color:var(--color-ink);font-size:.92rem;display:block}.testimonial-card__author span{color:var(--color-text-soft);font-size:.8rem}.why-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px 28px;transition:transform .15s ease-out,box-shadow .25s,border-color .25s}.why-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-200);transform:translateY(-6px)}.why-card__icon{background:var(--color-primary-700);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:flex}.why-card h3{margin-bottom:10px;font-size:1.1rem}.why-card p{color:var(--color-text-soft);font-size:.9rem}.cta{background:linear-gradient(120deg, var(--color-primary-700), var(--color-primary-600));padding:64px 0}.cta__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.cta h2{color:#fff;margin-bottom:8px;font-size:clamp(1.5rem,3vw,2rem)}.cta p{color:#ffffffd9;font-size:1rem}.cta__actions{flex-wrap:wrap;gap:14px;display:flex}.btn-outline-light{color:#fff;border:1.5px solid #fff9;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.btn-outline-light:hover{background:#ffffff26;border-color:#fff}@media (width<=700px){.cta__inner{text-align:center;flex-direction:column;justify-content:center}.cta__actions{justify-content:center;width:100%}.cta__actions .btn,.cta__actions a{flex:1;min-width:160px}}.reveal{opacity:0;transform:translateY(var(--reveal-y,26px));will-change:opacity, transform;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.parallax-layer{will-change:transform}@media (prefers-reduced-motion:reduce){.parallax-layer{transform:none!important}}.hero{background:linear-gradient(160deg, var(--color-primary-100) 0%, var(--color-bg) 60%);padding:72px 0 90px;position:relative;overflow:hidden}.hero__blob{filter:blur(70px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero__blob--one{background:radial-gradient(circle, var(--color-primary-200) 0%, transparent 72%);width:420px;height:420px;top:-140px;right:-80px}.hero__blob--two{background:radial-gradient(circle, var(--color-primary) 0%, transparent 72%);opacity:.5;width:320px;height:320px;bottom:-120px;left:-60px}.hero__inner{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid;position:relative}.hero__content h1{margin:14px 0 20px;font-size:clamp(2.1rem,4.4vw,3.4rem)}.hero__content h1 span{color:var(--color-primary-700)}.hero__content>p{color:var(--color-text-soft);max-width:520px;margin-bottom:32px;font-size:1.05rem}.hero__cta{flex-wrap:wrap;gap:16px;margin-bottom:44px;display:flex}.hero__stats{gap:40px;display:flex}.hero__stats strong{font-family:var(--font-heading);color:var(--color-ink);font-size:1.6rem;display:block}.hero__stats span{color:var(--color-text-soft);font-size:.82rem}.hero__media{position:relative}.hero__media-main{box-shadow:var(--shadow-lg)}@media (prefers-reduced-motion:no-preference){.hero--enter .hero__content>*{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards hero-fade-up}.hero--enter .hero__content>:first-child{animation-delay:50ms}.hero--enter .hero__content>:nth-child(2){animation-delay:.15s}.hero--enter .hero__content>:nth-child(3){animation-delay:.25s}.hero--enter .hero__content>:nth-child(4){animation-delay:.35s}.hero--enter .hero__content>:nth-child(5){animation-delay:.45s}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero__badge{animation:4.2s ease-in-out infinite float-y}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.hero__badge{animation:none}}.hero__badge{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:12px;padding:16px 20px;display:flex;position:absolute;bottom:-20px;left:-20px}.hero__badge svg{color:var(--color-primary-700);flex-shrink:0}.hero__badge strong{color:var(--color-ink);font-size:.9rem;display:block}.hero__badge span{color:var(--color-text-soft);font-size:.78rem}.intro__inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:64px;display:grid}.intro__inner h2{margin:12px 0 18px;font-size:clamp(1.6rem,3vw,2.2rem)}.intro__inner>div>p{color:var(--color-text-soft);margin-bottom:24px}.intro__list{flex-direction:column;gap:14px;margin-bottom:28px;display:flex}.intro__list li{color:var(--color-text);align-items:center;gap:10px;font-size:.95rem;display:flex}.intro__list svg{color:var(--color-primary-700);flex-shrink:0}.link-arrow{color:var(--color-primary-700);align-items:center;gap:4px;font-weight:600;transition:gap .2s;display:inline-flex}.link-arrow:hover{gap:8px}.why-grid,.product-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.project-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.testimonial-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.section-cta{justify-content:center;margin-top:44px;display:flex}@media (width<=1100px){.why-grid,.product-grid,.testimonial-grid,.project-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=960px){.hero__inner{grid-template-columns:1fr;gap:48px}.hero__media{max-width:460px;margin:0 auto}.intro__inner{grid-template-columns:1fr}.intro__inner .image-frame{max-width:420px;margin:0 auto}}@media (width<=640px){.hero{padding:48px 0 64px}.hero__stats{gap:24px}.hero__badge{padding:12px 16px;bottom:-18px;left:12px}.why-grid,.product-grid,.testimonial-grid,.project-grid{grid-template-columns:1fr}.hero__cta{flex-direction:column}.hero__cta .btn{width:100%}}.page-hero{background:linear-gradient(160deg, var(--color-primary-100) 0%, var(--color-bg) 65%);border-bottom:1px solid var(--color-border);padding:56px 0 60px}.page-hero__inner{max-width:720px}.page-hero__breadcrumb{color:var(--color-text-soft);align-items:center;gap:6px;margin-bottom:18px;font-size:.85rem;display:flex}.page-hero__breadcrumb a{color:var(--color-text-soft);transition:color .2s}.page-hero__breadcrumb a:hover{color:var(--color-primary-700)}.page-hero h1{margin-bottom:14px;font-size:clamp(2rem,4.5vw,3rem)}.page-hero p{color:var(--color-text-soft);max-width:560px;font-size:1.05rem}@media (width<=560px){.page-hero{padding:40px 0 44px}}.about-intro{grid-template-columns:.85fr 1.15fr;align-items:center;gap:64px;display:grid}.about-intro h2{margin:12px 0 18px;font-size:clamp(1.6rem,3vw,2.2rem)}.about-intro p{color:var(--color-text-soft);margin-bottom:16px}.mv-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.mv-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:40px}.mv-card__icon{background:var(--color-primary-700);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:22px;display:flex}.mv-card h3{margin-bottom:12px;font-size:1.25rem}.mv-card p{color:var(--color-text-soft)}.milestone-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.milestone{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:32px 20px}.milestone strong{font-family:var(--font-heading);color:var(--color-primary-700);margin-bottom:8px;font-size:2.2rem;display:block}.milestone span{color:var(--color-text-soft);font-size:.85rem}.values-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.value-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px 28px}.value-card__icon{background:var(--color-primary-100);width:52px;height:52px;color:var(--color-primary-700);border-radius:14px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.value-card h3{margin-bottom:10px;font-size:1.1rem}.value-card p{color:var(--color-text-soft);font-size:.92rem}@media (width<=960px){.about-intro{grid-template-columns:1fr}.about-intro .image-frame{max-width:420px;margin:0 auto}.milestone-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.mv-grid,.values-grid{grid-template-columns:1fr}}@media (width<=480px){.milestone-grid{grid-template-columns:1fr}}.product-grid--wide{grid-template-columns:repeat(4,1fr)}@media (width<=1100px){.product-grid--wide{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.product-grid--wide{grid-template-columns:1fr}.filter-bar{gap:8px;margin-bottom:32px}.filter-chip{padding:8px 16px;font-size:.85rem}}.project-card{border-radius:var(--radius-md);cursor:default;transition:transform .15s ease-out,box-shadow .25s;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md)}.project-card .image-frame{border-radius:0}.project-card__overlay{color:#fff;opacity:0;background:linear-gradient(#31382700 40%,#313827e0 100%);flex-direction:column;justify-content:flex-end;padding:20px;transition:opacity .3s;display:flex;position:absolute;inset:0}.project-card:hover .project-card__overlay,.project-card:focus-within .project-card__overlay{opacity:1}.project-card__category{background:var(--color-primary-700);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-bottom:10px;padding:4px 10px;font-size:.72rem;font-weight:600}.project-card__overlay h3{color:#fff;margin-bottom:4px;font-size:1.05rem}.project-card__overlay p{opacity:.85;font-size:.85rem}@media (hover:none){.project-card__overlay{opacity:1;background:linear-gradient(#31382700 20%,#313827e6 100%)}}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:44px;display:flex}.filter-chip{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:10px 22px;font-size:.9rem;font-weight:500;transition:all .2s}.filter-chip:hover{border-color:var(--color-primary-600);color:var(--color-primary-700)}.filter-chip.is-active{background:var(--color-primary-700);border-color:var(--color-primary-700);color:#fff}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gallery-empty{text-align:center;color:var(--color-text-soft);padding:40px 0}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.gallery-grid{grid-template-columns:1fr}.filter-bar{gap:8px;margin-bottom:32px}.filter-chip{padding:8px 16px;font-size:.85rem}}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-item+.faq-item{margin-top:14px}.faq-item__question{text-align:left;width:100%;color:var(--color-ink);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:.98rem;font-weight:600;display:flex}.faq-item__chevron{color:var(--color-primary-700);flex-shrink:0;transition:transform .25s}.faq-item.is-open .faq-item__chevron{transform:rotate(180deg)}.faq-item__answer{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.faq-item.is-open .faq-item__answer{grid-template-rows:1fr}.faq-item__answer p{color:var(--color-text-soft);padding:0 24px;font-size:.92rem;line-height:1.7;overflow:hidden}.faq-item.is-open .faq-item__answer p{padding:0 24px 22px}.contact-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px;display:grid}.contact-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px}.contact-form-card h2{margin-bottom:8px;font-size:1.5rem}.contact-form-card>p{color:var(--color-text-soft);margin-bottom:28px}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{margin-bottom:18px}.form-field label{color:var(--color-ink);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.form-field input,.form-field textarea{border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);resize:vertical;padding:13px 16px;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-primary-600)}.form-success{border-radius:var(--radius-sm);background:var(--color-primary-100);color:var(--color-primary-700);margin-top:16px;padding:14px 16px;font-size:.88rem}.contact-info{flex-direction:column;gap:16px;display:flex}.contact-info__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:16px;padding:22px;display:flex}.contact-info__icon{background:var(--color-primary-700);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.contact-info__card h4{margin-bottom:6px;font-size:.95rem}.contact-info__card a,.contact-info__card span{color:var(--color-text-soft);font-size:.88rem;display:block}.contact-info__card a:hover{color:var(--color-primary-700)}.map-frame{border-radius:var(--radius-lg);border:1px solid var(--color-border);height:380px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%}.faq-list{max-width:780px;margin:0 auto}@media (width<=960px){.contact-grid{grid-template-columns:1fr}}@media (width<=560px){.contact-form-card{padding:26px 20px}.form-row{grid-template-columns:1fr}.map-frame{height:280px}}.not-found{text-align:center;padding:120px 0}.not-found__code{font-family:var(--font-heading);color:var(--color-primary-700);margin-bottom:8px;font-size:6rem;line-height:1;display:block}.not-found h1{margin-bottom:12px}.not-found p{color:var(--color-text-soft);margin-bottom:28px}
