@layer reset,base,theme,components,utilities;@layer reset{*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-block-size:100vh;text-rendering:optimizeSpeed;line-height:1.6;overflow-x:hidden}img,picture,svg,video{display:block;max-inline-size:100%;block-size:auto;object-fit:cover}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}}@layer base{:root{--color-brand-green-dark:#367738;--color-brand-green:#459647;--color-brand-green-light:#e8f5e9;--color-brand-gold-dark:#dca225;--color-brand-gold:#fbbc34;--color-brand-gold-light:#fdedc6;--bg-primary:#fdfbf7;--bg-surface:#ffffff;--bg-surface-alt:#f4f1ea;--text-primary:#1c1917;--text-secondary:#44403c;--text-inverse:#ffffff;--border-color:#e7e5e4;--brand-primary:var(--color-brand-green-dark);--brand-accent:var(--color-brand-gold);--brand-accent-hover:var(--color-brand-gold-dark);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-premium:0 20px 25px -5px rgba(0,0,0,.08), 0 10px 10px -5px rgba(0,0,0,.04);--font-sans:'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:'Lora', Georgia, serif;--font-size-xs:clamp(0.75rem,   0.7rem  + 0.25vw, 0.875rem);--font-size-sm:clamp(0.875rem,  0.8rem  + 0.3vw,  1rem);--font-size-base:clamp(1rem,      0.95rem + 0.25vw, 1.125rem);--font-size-md:clamp(1.125rem,  1.05rem + 0.35vw, 1.25rem);--font-size-lg:clamp(1.25rem,   1.15rem + 0.5vw,  1.5rem);--font-size-xl:clamp(1.5rem,    1.35rem + 0.75vw, 2rem);--font-size-xxl:clamp(2rem,      1.75rem + 1.25vw, 3rem);--font-size-hero:clamp(2rem,      1.75rem + 2vw,    4rem);--radius-sm:0.375rem;--radius-md:0.75rem;--radius-lg:1.25rem;--radius-full:9999px;--transition-fast:0.2s cubic-bezier(0.4, 0, 0.2, 1);--transition-smooth:0.35s cubic-bezier(0.4, 0, 0.2, 1);--container-max:1200px;--header-height:80px;color-scheme:light dark}:root.dark,.dark{--bg-primary:#121212;--bg-surface:#1e1e1e;--bg-surface-alt:#262626;--text-primary:#f5f5f4;--text-secondary:#a8a29e;--border-color:#2e2a24;--brand-primary:#52b788;--brand-accent:#FFA922}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-smooth),color var(--transition-smooth)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.2;color:var(--brand-primary);text-wrap:balance;margin-block-end:1rem;transition:color var(--transition-smooth)}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-xxl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{color:var(--text-secondary);margin-block-end:1.25rem;text-wrap:pretty}strong{color:var(--text-primary)}:target,[id]{scroll-margin-top:calc(var(--header-height) + 1rem)}}@layer theme{.container{max-inline-size:var(--container-max);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:1fr;@media(min-width:768px){grid-template-columns: repeat(2,1fr);}}.grid-3{grid-template-columns:1fr;@media(min-width:640px){grid-template-columns: repeat(2,1fr);}@media(min-width:1024px){grid-template-columns: repeat(3,1fr);}}.grid-4{grid-template-columns:1fr;@media(min-width:640px){grid-template-columns: repeat(2,1fr);}@media(min-width:1024px){grid-template-columns: repeat(4,1fr);}}.header-announcement{background-color:var(--brand-primary);color:var(--text-inverse);font-size:var(--font-size-xs);font-weight:700;text-align:center;padding-block:.6rem;padding-inline:1rem;letter-spacing:.04em;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;transition:background-color var(--transition-smooth);.btn-announcement{background-color:var(--brand-accent);color:#000;padding:.25rem .85rem;border-radius:var(--radius-sm);font-weight:800;text-transform:uppercase;font-size:.8em;white-space:nowrap;transition:background-color var(--transition-fast),transform var(--transition-fast);&:hover{background-color:var(--brand-accent-hover);transform:translateY(-1px)}}}.site-header{position:sticky;top:0;z-index:100;background-color:rgba(253,251,247,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-block-end:1px solid var(--border-color);transition:background-color var(--transition-smooth),border-color var(--transition-smooth);.dark &{background-color:rgba(18,18,18,.9)}}.header-inner{display:flex;justify-content:space-between;align-items:center;block-size:var(--header-height)}.logo{display:flex;align-items:center;img{max-inline-size:150px;block-size:auto;transition:transform var(--transition-fast);&:hover{transform:scale(1.02)}}}.main-nav{display:none;@media(min-width:1024px){display: flex; align-items: center; gap: 1.75rem;}}.nav-menu{display:flex;align-items:center;gap:1.5rem}.nav-link{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);position:relative;padding-block:.5rem;transition:color var(--transition-fast);&:hover, &.active{color:var(--brand-primary)}&::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--brand-accent);transition:width var(--transition-fast)}&:hover::after, &.active::after{width:100%}}.site-footer{background-color:var(--bg-surface-alt);border-block-start:1px solid var(--border-color);padding-block:4rem 2rem;color:var(--text-secondary);font-size:var(--font-size-sm);transition:background-color var(--transition-smooth),border-color var(--transition-smooth)}.footer-inner{display:grid;gap:3rem;margin-block-end:3rem;@media(min-width:768px){grid-template-columns: repeat(2,1fr);}@media(min-width:1024px){grid-template-columns: 2fr 1fr 1.5fr;}}.footer-widget h4{color:var(--text-primary);font-size:var(--font-size-md);margin-block-end:1.25rem}.footer-socials{display:flex;gap:1rem;margin-block-start:1rem}.social-icon{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);&:hover{background-color:var(--brand-primary);color:var(--text-inverse);transform:translateY(-2px)}}.footer-links{display:grid;gap:.5rem;a{transition:color var(--transition-fast),padding-inline-start var(--transition-fast);&:hover{color:var(--brand-primary);padding-inline-start:4px}}}.footer-bottom{border-block-start:1px solid var(--border-color);padding-block-start:2rem;text-align:center;font-size:var(--font-size-xs);display:flex;flex-direction:column;gap:1rem;@media(min-width:768px){flex-direction: row; justify-content: space-between; text-align: left;}}}@layer components{.btn{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1.75rem;min-block-size:48px;font-weight:700;font-size:var(--font-size-sm);border-radius:var(--radius-full);transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer;border:none;box-shadow:var(--shadow-sm);white-space:nowrap;&:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}&:active{transform:translateY(0)}}.btn-primary{background-color:var(--brand-accent);color:#000;&:hover{background-color:var(--brand-accent-hover)}}.btn-secondary{background-color:var(--brand-primary);color:var(--text-inverse);&:hover{background-color:var(--color-brand-green)}}.btn-outline{background-color:initial;border:2px solid var(--brand-primary);color:var(--brand-primary);&:hover{background-color:var(--brand-primary);color:var(--text-inverse)}}.card-premium{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.25rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);position:relative;overflow:hidden;&::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));opacity:0;transition:opacity var(--transition-smooth)}&:hover{transform:translateY(-6px);box-shadow:var(--shadow-premium);&::before{opacity:1}}}.hero-slider{position:relative;padding-block:clamp(4rem,8vw,8rem)clamp(5rem,10vw,10rem);background-color:var(--bg-surface-alt);background-image:linear-gradient(90deg,rgba(253,251,247,.97) 45%,rgba(253,251,247,.7) 70%,transparent 100%),url(/images/fondo_meson_4.png);background-size:cover;background-position:100%;background-repeat:no-repeat;overflow:hidden;.dark &{background-image:linear-gradient(90deg,rgba(18,18,18,.97) 45%,rgba(18,18,18,.7) 70%,transparent 100%),url(/images/fondo_meson_4.png)}.hero-decor{position:absolute;width:400px;height:400px;border-radius:var(--radius-full);background:radial-gradient(circle,rgba(255,169,34,.15) 0%,transparent 70%);top:-100px;right:-100px;z-index:0;pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px;.hero-tag{font-size:var(--font-size-sm);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-primary);margin-block-end:.5rem}.hero-title{color:var(--text-primary);font-weight:800;margin-block-end:1.5rem}.hero-desc{font-size:var(--font-size-md);margin-block-end:2rem;line-height:1.7}.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}}}.form-group{margin-block-end:1.5rem;label{display:block;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-block-end:.5rem;color:var(--text-primary)}}.form-control{width:100%;padding:.85rem 1rem;min-block-size:48px;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);&:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(54,119,56,.15)}&:user-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}&:user-valid{border-color:var(--color-brand-green)}}.page-banner{padding-block-start:6rem;padding-block-end:6rem;position:relative;overflow:hidden;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface)}.content-wrap{line-height:1.8;color:var(--text-secondary);p{margin-block-end:1.5rem}ul, ol{margin-block-end:1.5rem;padding-inline-start:1.5rem}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-block-end:.5rem}h2, h3, h4{margin-block-start:2rem}blockquote{margin-block:2rem;padding-inline-start:1.5rem;border-inline-start:4px solid var(--brand-accent);font-style:italic;color:var(--text-primary)}hr{border:none;border-block-start:1px solid var(--border-color);margin-block:2.5rem}.markdown-alert{border-inline-start:4px solid var(--brand-accent);padding:1rem 1.25rem;border-radius:0 var(--radius-md)var(--radius-md)0;background-color:var(--bg-surface-alt);margin-block-end:1.5rem}}.theme-toggle-btn{background:0 0;border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:var(--radius-full);width:44px;height:44px;transition:background-color var(--transition-fast),color var(--transition-fast);&:hover{background-color:var(--bg-surface-alt);color:var(--brand-primary)}svg{width:20px;height:20px;fill:currentColor}}.menu-btn{background:0 0;border:none;cursor:pointer;padding:.5rem;display:inline-flex;flex-direction:column;justify-content:space-around;width:44px;height:44px;z-index:110;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);@media(min-width:1024px){display: none;}&:hover{background-color:var(--bg-surface-alt)}span{display:block;width:22px;height:3px;background-color:var(--text-primary);border-radius:var(--radius-full);transition:transform var(--transition-smooth),opacity var(--transition-fast),width var(--transition-fast)}&.open span:nth-child(1){transform:translateY(9px)rotate(45deg)}&.open span:nth-child(2){opacity:0;width:0}&.open span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}}.mobile-drawer{width:auto;height:auto;background:0 0;border:0;overflow:visible;padding:0;margin:0;max-width:none;max-height:none;inset:0;--drawer-width:min(18rem, 85dvw);&:not(:popover-open){display:none}&::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@supports not selector(:popover-open){.mobile-drawer{display:none;position:fixed;inset:0;z-index:200;overflow:visible}.mobile-drawer.active{display:block}}.mobile-drawer-inner{position:fixed;top:0;right:0;width:var(--drawer-width,min(18rem,85dvw));height:100dvh;background-color:var(--bg-surface);box-shadow:var(--shadow-lg);border-inline-start:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto;transform:translateX(100%);transition:transform var(--transition-smooth);z-index:201;.mobile-drawer.active &, .mobile-drawer:popover-open &{transform:translateX(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-block-end:2rem;padding-block-end:1rem;border-block-end:1px solid var(--border-color)}.drawer-close-btn{background:0 0;border:1px solid var(--border-color);border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:1.25rem;transition:background-color var(--transition-fast);&:hover{background-color:var(--bg-surface-alt)}}.drawer-nav{display:flex;flex-direction:column;gap:.5rem;flex:1}.mobile-nav-link{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);padding:.85rem 1rem;border-radius:var(--radius-md);min-block-size:48px;transition:background-color var(--transition-fast),color var(--transition-fast);&:hover, &.active{background-color:var(--bg-surface-alt);color:var(--brand-primary)}}.drawer-cta{margin-block-start:1.5rem;padding-block-start:1.5rem;border-block-start:1px solid var(--border-color)}.info-tag{background-color:var(--color-brand-gold-light);color:var(--color-brand-gold-dark);padding:.25rem .85rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;display:inline-block;margin-block-end:.75rem;letter-spacing:.03em}.services-container{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;@media(min-width:1024px){grid-template-columns: 1.2fr 1fr 1.2fr;}}.services-col{display:flex;flex-direction:column;gap:1.5rem}.service-infobox{display:flex;gap:1.25rem;align-items:center;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);&:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(69,150,71,.2)}.service-info-text{flex:1;h3{font-size:var(--font-size-md);margin-block-end:.25rem;color:var(--brand-primary)}p{font-size:var(--font-size-sm);margin-block-end:0;line-height:1.5;color:var(--text-secondary)}}.service-info-icon-wrap{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-md);background-color:var(--bg-surface-alt);display:flex;justify-content:center;align-items:center;border:1px solid var(--border-color);transition:background-color var(--transition-fast);.service-icon{width:40px;height:40px;object-fit:contain}}&:hover .service-info-icon-wrap{background-color:var(--color-brand-green-light)}}.services-center-img{max-width:100%;height:auto;border-radius:var(--radius-lg);filter:drop-shadow(0 15px 25px rgba(0,0,0,.12));transition:transform var(--transition-smooth);&:hover{transform:scale(1.02)}}@media(min-width:1024px){.text-right-desktop{text-align:right;.service-info-text{order:1}.service-info-icon-wrap{order:2}}.text-left-desktop{text-align:left;.service-info-text{order:2}.service-info-icon-wrap{order:1}}}@keyframes float-animation{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.hero-img-animation{animation:float-animation 6s ease-in-out infinite}}.stats-bar{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding-block:2.5rem;.stat-item{text-align:center;padding:1.5rem 1rem;border-radius:var(--radius-lg);background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);&:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}}.stat-number{font-size:var(--font-size-xxl);font-weight:800;color:var(--brand-primary);line-height:1;margin-block-end:.25rem}.stat-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}}}@layer utilities{.text-center{text-align:center}.text-right{text-align:right}.font-serif{font-family:var(--font-serif)}.py-section{padding-block:clamp(3rem,6vw,5rem)}.my-section{margin-block:clamp(3rem,6vw,5rem)}.bg-alt{background-color:var(--bg-surface-alt)}.bg-surface{background-color:var(--bg-surface)}.color-accent{color:var(--brand-accent)}.color-primary{color:var(--brand-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}