:root{--ink:#2f2119;--ink-soft:#5c4a3c;--muted:#6f6f69;--line:#e7e1da;--paper:#fff;--paper-soft:#f8f7f3;--brand:#8a5a21;--brand-dark:#53351f;--brand-light:#dcc9a6;--accent:#996300;--accent-soft:#f1f0e7;--shadow:0 8px 28px #2f21191a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);padding-top:116px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,92%);margin:0 auto}.header{z-index:100;background:#fffffff5;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 16px #2f211914}.header-top{background:var(--brand-dark);color:#f7ead5;padding:8px 0;font-size:.86rem}.header-top .container{justify-content:space-between;align-items:center;display:flex}.header-top a:hover{color:#fff}.header-main{padding:15px 0}.header-main-inner{justify-content:space-between;align-items:center;gap:22px;display:flex}.logo{color:var(--ink);white-space:nowrap;font-size:1.45rem;font-weight:800;display:inline-block}.logo span{color:var(--accent)}.main-nav{flex:1;justify-content:center;align-items:center;gap:clamp(14px,2vw,26px);display:flex}.main-nav a{color:var(--ink-soft);font-size:.93rem;font-weight:650;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--accent)}.header-actions{align-items:center;gap:12px;display:flex}.btn-reserve,.btn-hero,.btn-cta-white,.btn-cta-outline{text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:46px;font-weight:750;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn-reserve{background:var(--accent);color:#fff;padding:11px 20px}.btn-reserve:hover,.btn-hero-primary:hover{background:#693f26;transform:translateY(-2px)}.mobile-menu-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;width:42px;height:42px;padding:9px;display:none}.mobile-menu-btn span{background:currentColor;width:100%;height:2px;margin:5px 0;display:block}.hero{align-items:center;min-height:550px;display:flex;position:relative;overflow:hidden}.hero-compact{min-height:400px}.hero:before{content:"";z-index:1;background:linear-gradient(115deg,#2f2119c7,#53351f85);position:absolute;inset:0}.hero-media,.hero-media img,.hero-gallery{width:100%;height:100%;position:absolute;inset:0}.hero-media-base{opacity:1}.hero-media-overlay{opacity:0;transition:opacity .9s}.hero-media-overlay.is-entering{opacity:1}.hero-media img{object-fit:cover}.hero-inner{z-index:2;position:relative}.hero-content{color:#fff;max-width:710px;animation:.7s ease-out fadeInUp}.hero-badge{color:#fff;background:#a26f25e6;border-radius:999px;margin-bottom:20px;padding:6px 16px;font-size:.84rem;font-weight:700;display:inline-block}.hero h1{margin-bottom:18px;font-size:clamp(2rem,4vw,3rem);font-weight:850;line-height:1.18}.hero p{opacity:.96;max-width:680px;margin-bottom:30px;font-size:1.08rem}.hero-buttons,.cta-buttons{flex-wrap:wrap;gap:14px;display:flex}.btn-hero{padding:13px 25px}.btn-hero-primary{background:var(--accent);color:#fff}.btn-hero-secondary{color:var(--ink);background:#fff}.btn-hero-secondary:hover{background:var(--brand-light);transform:translateY(-2px)}.quick-links{background:var(--paper-soft);border-bottom:1px solid var(--line);padding:24px 0}.quick-links .container{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.quick-link{color:var(--ink-soft);align-items:center;gap:10px;min-height:44px;padding:4px 6px;font-weight:700;display:flex}.quick-link:hover{color:var(--accent)}.quick-link-icon{color:var(--accent);justify-content:center;align-items:center;width:42px;height:42px;display:flex}.quick-link-svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:38px;height:38px;display:block}.section{padding:76px 0}#servicios{scroll-margin-top:45px}.section-soft{background:var(--paper-soft)}.section-header{text-align:center;max-width:680px;margin:0 auto 46px}.section-header h2{color:var(--ink);margin-bottom:14px;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.2}.section-header p{color:var(--muted);font-size:1.05rem}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.services-grid-list{grid-template-columns:1fr}.services-grid-list .service-card{display:block}.services-grid-list .service-image{height:170px;min-height:0}.services-grid-list .service-photo{background:var(--accent-soft);height:clamp(220px,28vw,400px)}.services-grid-list .service-photo img{object-fit:cover;height:100%}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-grid .service-icon-panel{height:128px}.company-grid .service-photo{height:clamp(210px,22vw,280px)}.company-grid .service-photo img{object-fit:cover;height:100%}.company-grid .service-card:nth-child(3){grid-column:1/-1;grid-template-columns:minmax(190px,24%) 1fr;align-items:stretch;display:grid}.company-grid .service-card:nth-child(3) .service-icon-panel{height:100%;min-height:100%}.service-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.service-image{background:var(--accent-soft);color:var(--accent);justify-content:center;align-items:center;height:205px;display:flex}.service-photo,.service-photo img{width:100%;display:block}.service-photo img{object-fit:cover;height:205px}.service-marker{font-size:2rem;font-weight:850}.service-icon-panel{background:linear-gradient(135deg, #dcc9a66b, #f8f7f3f5), var(--accent-soft)}.service-icon-panel svg{color:var(--accent);stroke-width:1.75px;width:58px;height:58px}.service-content{padding:24px}.service-content h3{color:var(--ink);margin-bottom:10px;font-size:1.22rem;line-height:1.25}.service-content p{color:var(--muted);white-space:pre-line;margin-bottom:18px}.service-link{color:var(--accent);font-weight:800}.service-link:after{content:">";margin-left:8px}.stats{background:linear-gradient(135deg, var(--brand-dark), var(--ink));padding:58px 0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.stat-item{color:#fff;text-align:center}.stat-number{color:#f7ead5;margin-bottom:8px;font-size:2.4rem;font-weight:850;line-height:1}.stat-label{opacity:.9}.cta-section{background:var(--paper-soft);padding:76px 0}.cta-box{background:linear-gradient(135deg, var(--accent), var(--brand-dark));color:#fff;text-align:center;border-radius:8px;padding:clamp(34px,6vw,58px)}.cta-box h2{margin-bottom:14px;font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}.cta-box p{opacity:.96;max-width:640px;margin:0 auto 28px}.cta-buttons{justify-content:center}.btn-cta-white,.btn-cta-outline{padding:13px 26px}.btn-cta-white{color:var(--ink);background:#fff}.btn-cta-white:hover{background:var(--brand-light);transform:translateY(-2px)}.btn-cta-outline{color:#fff;border:2px solid #fff}.btn-cta-outline:hover{background:#ffffff1f}.form-wrap{max-width:640px;margin:0 auto}.contact-form{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:28px}.field{margin-bottom:18px}.field label{color:var(--ink);margin-bottom:7px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-height:46px;padding:11px 12px}.field textarea{resize:vertical;min-height:118px}.submit-button{background:var(--accent);color:#fff;cursor:pointer;border:0;width:100%}.submit-button:hover{background:#0b5e58}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.contact-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted);border-radius:8px;flex-direction:column;gap:10px;min-height:230px;padding:26px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.contact-card:hover{border-color:var(--brand-light);transform:translateY(-2px);box-shadow:0 10px 32px #2f211924}.contact-card-primary{border-color:#99630057}.contact-card-icon{background:var(--accent-soft);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.contact-card-icon svg,.contact-work-icon svg{stroke-width:2.4px;width:25px;height:25px}.contact-card-label{color:var(--accent);letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:850}.contact-card strong,.contact-card a{color:var(--ink);font-size:1.08rem;font-weight:850;line-height:1.3}.contact-card a:hover{color:var(--accent)}.contact-work{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:24px;padding:clamp(28px,5vw,42px);display:grid}.contact-work-icon{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:62px;height:62px;display:inline-flex}.contact-work h2{color:var(--ink);margin-bottom:14px;font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}.contact-work p{color:var(--muted);margin-bottom:22px}.contact-work-apply{color:var(--ink);margin-bottom:0;font-weight:750}.contact-work-apply a{color:var(--accent);font-weight:850}.contact-work-apply a:hover{color:var(--brand-dark)}.footer{background:var(--ink);color:#f7ead5;padding:56px 0 28px;position:relative}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;margin-bottom:36px;display:grid}.footer .logo{color:#fff;margin-bottom:14px}.footer p{color:#f7ead5c7}.footer h2{color:#f7ead5;margin-bottom:14px;font-size:1.02rem}.footer-links a,.footer-contact a{color:#f7ead5c7;margin:8px 0;display:block}.footer-contact-item{align-items:center;gap:8px;margin:8px 0;display:flex}.footer-contact-icon{color:#ff4b35;stroke-width:2.6px;flex:none;width:15px;height:15px}.footer-links a:hover,.footer-contact a:hover{color:#fff}.footer-bottom{color:#f7ead5c2;text-align:center;border-top:1px solid #ffffff1f;padding-top:22px;font-size:.9rem}.whatsapp-float{z-index:1000;background:#25d366;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 5px 22px #25d36657}.whatsapp-float:hover{transform:scale(1.06)}.whatsapp-float img{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-media-overlay{transition-duration:1ms}}@media (max-width:1040px){.header-main-inner{position:relative}.main-nav{border-top:1px solid var(--line);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:0;padding:10px;display:none;position:absolute;top:calc(100% + 15px);left:0;right:0}.main-nav.is-open{display:flex}.main-nav a{border-radius:8px;width:100%;padding:11px 12px}.mobile-menu-btn{display:block}.services-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){body{padding-top:76px}.header-top{display:none}.logo{font-size:1.18rem}.btn-reserve{display:none}.hero{min-height:470px}.hero-compact{min-height:390px}.hero-buttons,.cta-buttons{flex-direction:column}.btn-hero,.btn-cta-white,.btn-cta-outline{width:100%}.services-grid,.contact-work,.stats-grid,.footer-grid{grid-template-columns:1fr}.services-grid-list .service-image{height:170px}.services-grid-list .service-photo{height:clamp(170px,34vw,240px)}.company-grid .service-card:nth-child(3){display:block}.company-grid .service-photo,.company-grid .service-icon-panel,.company-grid .service-card:nth-child(3) .service-photo,.company-grid .service-card:nth-child(3) .service-icon-panel{height:126px}.company-grid .service-card:nth-child(3) .service-icon-panel{border-radius:0;height:126px;min-height:0;margin-left:0}.company-grid .service-card:nth-child(3) .service-icon-panel svg{width:58px;height:58px}.company-grid .service-card:nth-child(3) .service-content{padding:24px}.section,.cta-section{padding:58px 0}#servicios{scroll-margin-top:155px}.quick-links{padding:14px 0}.quick-links .container{justify-content:center;gap:12px}.quick-link{border-radius:8px;justify-content:center;width:52px;min-height:52px;padding:5px}.quick-link-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quick-link-icon{width:44px;height:44px}.quick-link-svg{width:34px;height:34px}}
