:root{--green:#284d3c;--green-deep:#1a3328;--green-soft:#3d6b54;--green-mist:#dfe8e3;--bg:#e8efea;--bg-alt:#f4f7f5;--surface:#fff;--ink:#14241c;--ink-muted:#4d5f55;--gold:#b08d45;--gold-soft:#d4b978;--line:#284d3c24;--shadow:0 18px 50px #14241c1f;--radius:18px;--font-display:"Fraunces", Georgia, serif;--font-body:"Sora", "Segoe UI", sans-serif;--header-h:78px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #b08d451f, transparent 55%), radial-gradient(900px 500px at 100% 0%, #284d3c1a, transparent 50%), linear-gradient(180deg, var(--bg-alt), var(--bg) 40%, #e3ebe6);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .6em;font-weight:650;line-height:1.15}p{margin:0 0 1em}.skip-link{background:var(--green);color:#fff;z-index:1000;border-radius:8px;padding:.75rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:600;display:inline-block}.section{padding:clamp(4rem,8vw,6.5rem) 0}.section-head{max-width:38rem;margin-bottom:2.5rem}.section-head p:last-child{color:var(--ink-muted);margin:0}.btn{min-height:3rem;transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 28px #284d3c47}.btn-primary:hover{background:var(--green-deep)}.btn-secondary{border-color:var(--green);color:var(--green);background:0 0}.btn-secondary:hover{background:var(--green);color:#fff}.btn-ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-color:#ffffff73}.btn-ghost:hover{background:#ffffff38}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(28px)}.reveal.reveal-scale{transform:translateY(24px)scale(.94)}.reveal.reveal-left{transform:translate(-28px)}.reveal.is-visible{opacity:1;transform:none}.reveal.is-visible.reveal-scale{transform:none}.site-header{z-index:50;transition:background .35s var(--ease), box-shadow .35s var(--ease), backdrop-filter .35s var(--ease);position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f7f5e6;box-shadow:0 8px 30px #14241c14}.header-inner{width:min(1120px,100% - 2rem);min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.brand-badge{width:64px;height:64px;transition:transform .4s var(--ease), box-shadow .4s var(--ease);background:#fff;border:1px solid #284d3c1f;border-radius:14px;justify-content:center;align-items:center;padding:7px;display:flex;overflow:hidden;box-shadow:0 6px 18px #14241c29}.brand-badge picture,.footer-badge picture{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.brand-logo{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.brand:hover .brand-badge{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 24px #14241c33}.site-nav{align-items:center;gap:1.4rem;display:flex}.site-nav a{color:var(--ink);font-size:.92rem;font-weight:500;position:relative}.site-nav a:not(.nav-cta):after{content:"";background:var(--gold);transform-origin:0;width:100%;height:2px;transition:transform .35s var(--ease);position:absolute;bottom:-.35rem;left:0;transform:scaleX(0)}.site-nav a:not(.nav-cta):hover:after{transform:scaleX(1)}.nav-cta{background:var(--green);border-radius:999px;padding:.65rem 1.15rem;color:#fff!important}.nav-toggle{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.nav-toggle span{background:var(--green);height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);margin:6px 0;display:block}.nav-toggle.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.hero{color:#fff;place-items:end stretch;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-image{object-fit:cover;width:100%;height:100%;animation:heroZoom 12s var(--ease) forwards;transform:scale(1.06)}.hero-veil{background:linear-gradient(#14241c59 0%,#14241c47 35%,#14241cc7 100%),radial-gradient(circle at 70% 20%,#b08d452e,#0000 45%);position:absolute;inset:0}.hero-content{z-index:1;width:min(1120px,100% - 2.5rem);padding:calc(var(--header-h) + 2rem) 0 4.5rem;margin:0 auto;position:relative}.hero-anim{animation:heroRise .95s var(--ease) both}.hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:#f3e6c4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 2px #00000059;background:#101c169e;border:1px solid #d4b978b3;border-radius:999px;max-width:100%;margin:0 0 1rem;padding:.55rem 1rem;font-size:.78rem;font-weight:600;line-height:1.35;display:inline-block;box-shadow:0 8px 28px #00000047,inset 0 1px #ffffff1f}.hero-title{text-shadow:0 8px 30px #00000059;max-width:12ch;margin-bottom:.7rem;font-size:clamp(2.6rem,7vw,4.8rem)}.hero-text{color:#ffffffeb;text-shadow:0 2px 16px #00000059;max-width:34rem;margin-bottom:1.75rem;font-size:clamp(1rem,2.2vw,1.15rem)}.hero-actions{flex-wrap:wrap;gap:.85rem;display:flex}@keyframes heroZoom{to{transform:scale(1)}}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes softFloat{0%,to{transform:scale(1.02)translateY(0)}50%{transform:scale(1.06)translateY(-6px)}}@keyframes slideInSoft{0%{opacity:0;transform:translate(18px)scale(.98)}to{opacity:1;transform:none}}@keyframes iconPop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.about-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.about-copy h2{color:var(--green-deep);font-size:clamp(1.9rem,4vw,3rem)}.about-copy p{color:var(--ink-muted)}.stats{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.stats li{background:linear-gradient(160deg, #fff, var(--green-mist));border:1px solid var(--line);border-radius:var(--radius);flex:1;padding:1.1rem 1.2rem}.stats strong{font-family:var(--font-display);color:var(--green);margin-bottom:.35rem;font-size:2rem;line-height:1;display:block}.stats span{color:var(--ink-muted);font-size:.9rem}.about-figure{box-shadow:var(--shadow);aspect-ratio:4/5;border-radius:28px;margin:0;overflow:hidden}.about-figure img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);animation:7s ease-in-out infinite softFloat}.about-figure:hover img{animation-play-state:paused;transform:scale(1.04)}.story{padding-top:0}.story-panel{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#284d3cf2,#1a3328fa),url(/images/gallery-05.jpeg) 50%/cover;border-radius:28px;padding:clamp(2.2rem,6vw,3.6rem);position:relative;overflow:hidden}.story-panel:before{content:"";background:linear-gradient(120deg,#284d3ceb,#1a3328e0);position:absolute;inset:0}.story-panel>*{position:relative}.story-panel .eyebrow{color:var(--gold-soft)}.story-panel h2{max-width:16ch;font-size:clamp(1.8rem,4vw,2.7rem)}.story-panel p{color:#ffffffe0;max-width:48rem}.services{background:linear-gradient(#0000,#ffffff8c,#0000)}.service-list{grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.service-item{border-bottom:1px solid var(--line);transition:transform .35s var(--ease), background .35s var(--ease);background:0 0;align-items:flex-start;gap:.9rem;padding:1.15rem 1.1rem;display:flex}.service-item:hover{background:#ffffff73;transform:translate(4px)}.service-icon{width:42px;height:42px;color:var(--green);background:linear-gradient(160deg,#b08d4529,#284d3c1a);border:1px solid #b08d4547;border-radius:12px;flex-shrink:0;place-items:center;margin-top:.1rem;display:grid}.service-icon svg{width:22px;height:22px}.service-item:hover .service-icon{color:var(--green-deep);background:linear-gradient(160deg,#b08d4538,#284d3c24)}.service-item h3{font-family:var(--font-body);color:var(--green-deep);margin:0 0 .25rem;font-size:1rem;font-weight:650}.service-item p{color:var(--ink-muted);margin:0;font-size:.9rem}.gallery-nav{flex-wrap:wrap;gap:.5rem;margin:-.5rem 0 1.35rem;display:flex}.gallery-nav button{border:1px solid var(--line);color:var(--green-deep);cursor:pointer;transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);background:#ffffffb8;border-radius:999px;padding:.5rem .95rem;font-size:.84rem;font-weight:600}.gallery-nav button:hover{border-color:var(--green-soft);background:#fff;transform:translateY(-1px)}.gallery-nav button.is-active{background:var(--green);border-color:var(--green);color:#fff}.gallery-carousel{width:100vw;margin-inline:calc(50% - 50vw)}.gallery-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-auto-columns:minmax(72%,280px);grid-auto-flow:column;gap:.75rem;padding:.15rem 1.25rem .85rem;scroll-padding-inline:1.25rem;display:grid;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide,.gallery-item{cursor:zoom-in;background:var(--green-deep);border:0;border-radius:16px;margin:0;padding:0;position:relative;overflow:hidden}.gallery-slide{scroll-snap-align:start;aspect-ratio:4/5;min-height:260px;animation:slideInSoft .7s var(--ease) both}.gallery-slide img,.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease), filter .8s var(--ease)}.gallery-slide:after,.gallery-item:after{content:"";opacity:.85;transition:opacity .4s var(--ease);background:linear-gradient(#0000 45%,#14241cb8);position:absolute;inset:0}.gallery-label{z-index:1;color:#fff;letter-spacing:.04em;opacity:.92;transition:transform .4s var(--ease), opacity .4s var(--ease);font-size:.84rem;font-weight:600;position:absolute;bottom:.9rem;left:.9rem;transform:translateY(6px)}.gallery-controls{justify-content:center;align-items:center;gap:.75rem;padding:0 1.25rem;display:flex}.gallery-arrow{border:1px solid var(--line);width:40px;height:40px;color:var(--green-deep);cursor:pointer;transition:background .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease);background:#fff;border-radius:50%;font-size:1.5rem;line-height:1}.gallery-arrow:disabled{opacity:.35;cursor:default}.gallery-arrow:not(:disabled):hover{background:var(--green-mist);transform:scale(1.06)}.gallery-dots{flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:14rem;display:flex}.gallery-dots button{cursor:pointer;width:8px;height:8px;transition:transform .3s var(--ease), background .3s var(--ease);background:#284d3c47;border:0;border-radius:50%;padding:0}.gallery-dots button.is-active{background:var(--green);transform:scale(1.35)}.gallery-slide:hover img,.gallery-item:hover img{filter:saturate(1.08);transform:scale(1.06)}.gallery-slide:hover .gallery-label,.gallery-item:hover .gallery-label{opacity:1;transform:none}.gallery-slide:focus-visible,.gallery-item:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.contact-grid{grid-template-columns:.95fr 1.05fr;align-items:stretch;gap:clamp(1.5rem,4vw,3rem);display:grid}.contact-copy h2{color:var(--green-deep);font-size:clamp(1.9rem,4vw,2.8rem)}.contact-copy>p{color:var(--ink-muted)}.contact-list{gap:.85rem;margin:1.5rem 0 1.75rem;font-style:normal;display:grid}.contact-list a{border-left:3px solid var(--gold);transition:background .3s var(--ease), transform .3s var(--ease);background:#ffffffb3;gap:.2rem;padding:.95rem 1rem;display:grid}.contact-list a:hover{background:#fff;transform:translate(4px)}.contact-list span{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:.75rem;font-weight:600}.social-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.25rem;display:grid}.social-link{border:1px solid var(--line);color:var(--green-deep);transition:transform .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);background:#ffffffbf;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:.9rem .5rem;font-size:.78rem;font-weight:600;display:flex}.social-icon{background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden;box-shadow:0 4px 12px #14241c1f}.social-icon img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.social-icon--whatsapp{background:#000}.social-icon--whatsapp img{object-fit:cover;width:148%;max-width:none;height:148%}.social-icon--instagram{background:#fff}.social-icon--instagram img{object-fit:cover;object-position:center;width:148%;max-width:none;height:148%;padding:0}.social-icon--facebook img{object-fit:cover;object-position:center}.social-link:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 26px #14241c1f}.social-link:hover .social-icon{animation:iconPop .45s var(--ease)}.whatsapp-form{border:1px solid var(--line);background:#ffffffd1;border-radius:18px;gap:.85rem;margin-top:1.5rem;padding:1.25rem 1.15rem;display:grid;box-shadow:0 12px 30px #14241c0f}.whatsapp-form h3{color:var(--green-deep);margin:0;font-size:1.25rem}.whatsapp-form-note{color:var(--ink-muted);margin:0;font-size:.9rem}.whatsapp-form .eyebrow{margin-bottom:0}.field{gap:.4rem;display:grid}.field span{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:.75rem;font-weight:600}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;transition:border-color .3s var(--ease), box-shadow .3s var(--ease);background:#fff;border-radius:12px;padding:.8rem .95rem}.field input:focus,.field textarea:focus{border-color:var(--green-soft);outline:none;box-shadow:0 0 0 3px #284d3c1f}.whatsapp-form .btn{width:100%;margin-top:.15rem}.map-block{gap:.9rem;display:grid}.map-wrap{min-height:280px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:20px;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%;min-height:280px}.map-actions-label{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .65rem;font-size:.78rem;font-weight:600}.map-buttons{gap:.65rem;display:grid}.map-buttons .btn{width:100%}.site-footer{background:var(--green-deep);color:#ffffffdb;padding:2.75rem 0 2.2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.footer-badge{background:#fff;border:1px solid #fff3;border-radius:18px;justify-content:center;align-items:center;width:104px;height:104px;margin-bottom:.85rem;padding:10px;display:flex;overflow:hidden;box-shadow:0 10px 28px #00000038}.footer-logo{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.footer-brand p{color:#ffffffb8;max-width:22rem;margin:0}.footer-meta{text-align:right}.footer-meta p{margin:0 0 .4rem;font-size:.92rem}.credit{font-weight:500;color:var(--gold-soft)!important}.credit a{color:inherit;text-underline-offset:.2em;transition:color .3s var(--ease);text-decoration:underline}.credit a:hover{color:#fff}.lightbox{z-index:100;animation:heroRise .35s var(--ease);background:#0a120eeb;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.lightbox-figure{max-width:min(1000px,92vw);max-height:85vh;margin:0}.lightbox-figure img{border-radius:12px;width:auto;max-width:100%;max-height:78vh;margin:0 auto;box-shadow:0 20px 60px #00000073}.lightbox-figure figcaption{color:#fffc;text-align:center;margin-top:.85rem;font-size:.92rem}.lightbox-close,.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;position:absolute}.lightbox-close{width:46px;height:46px;font-size:1.8rem;line-height:1;top:1rem;right:1rem}.lightbox-nav{width:48px;height:48px;font-size:2rem;line-height:1;top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff38}@media (width>=640px){.gallery-track{grid-auto-columns:calc(50% - .4rem);padding-inline:max(1.25rem,50vw - 560px);scroll-padding-inline:max(1.25rem,50vw - 560px)}.gallery-slide{aspect-ratio:5/4;min-height:220px}.map-wrap,.map-wrap iframe{min-height:340px}.map-buttons{grid-template-columns:1fr 1fr}.social-row{flex-wrap:wrap;display:flex}.social-link{flex-direction:row;min-width:9.5rem;padding:.7rem 1rem}}@media (width>=761px){.gallery-track{grid-auto-columns:minmax(320px,38%);gap:1rem;padding-inline:max(1.5rem,50vw - 560px);scroll-padding-inline:max(1.5rem,50vw - 560px)}.gallery-slide{aspect-ratio:4/3;border-radius:18px;min-height:280px}.gallery-controls{padding-inline:max(1.5rem,50vw - 560px)}.map-wrap,.map-wrap iframe{min-height:420px}}@media (width>=981px){.about-grid,.contact-grid{grid-template-columns:1.05fr .95fr}.contact-grid{grid-template-columns:.95fr 1.05fr}.service-list{grid-template-columns:repeat(4,1fr)}.gallery-track{grid-auto-columns:minmax(360px,34%)}}@media (width<=980px){.about-grid,.contact-grid,.service-list{grid-template-columns:1fr 1fr}}@media (width<=760px){.nav-toggle{display:block}.site-nav{inset:var(--header-h) 0 auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:transform .4s var(--ease), opacity .4s var(--ease);border-bottom:1px solid var(--line);background:#f4f7f5f7;flex-direction:column;align-items:stretch;gap:.35rem;padding:1rem 1.25rem 1.4rem;position:fixed;transform:translateY(-120%)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.site-nav a{padding:.85rem .4rem}.nav-cta{text-align:center;margin-top:.4rem}.about-grid,.contact-grid,.service-list{grid-template-columns:1fr}.about-figure{aspect-ratio:5/4}.footer-inner,.footer-meta{text-align:left}.lightbox-nav{display:none}.hero-content{padding-bottom:3.2rem}.brand-badge{border-radius:12px;width:56px;height:56px;padding:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.hero-content,.hero-anim,.about-figure img,.gallery-slide,.reveal,.social-link:hover .social-icon{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
