:root{--primary:#0d5c49;--primary-dark:#0a4a3b;--accent:#f4b400;--bg:#f0f4f3;--card-bg:#fff;--text:#1a1a1a;--muted:#666;--success:#1a7a4a;--error:#d93025;--border:#0d5c491a;--radius-sm:9px;--radius-md:14px;--radius-lg:24px;--shadow-sm:0 2px 14px #0000000f;--shadow-md:0 8px 30px #0d5c491c;--shadow-lg:0 20px 52px #0d5c4926;--transition:all .32s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;width:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow-x:hidden}.contact-container{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:2000px;min-height:80vh;margin:0 auto;padding:clamp(32px,6vw,64px) clamp(16px,2.8vw,56px);display:flex;position:relative;top:-20px;overflow:hidden}.contact-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#0d5c4914 0%,#0000 70%);border-radius:50%;width:clamp(280px,40vw,540px);height:clamp(280px,40vw,540px);animation:11s ease-in-out infinite floatOrb;position:absolute;top:-10vw;right:-10vw}.contact-container:after{content:"";pointer-events:none;background:radial-gradient(circle,#f4b40012 0%,#0000 70%);border-radius:50%;width:clamp(260px,35vw,480px);height:clamp(260px,35vw,480px);animation:14s ease-in-out infinite reverse floatOrb;position:absolute;bottom:-10vw;left:-10vw}@keyframes floatOrb{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,20px)scale(1.05)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFields{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes growLine{0%{opacity:0;width:0}to{opacity:1;width:58px}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.breadcrumbs{width:100%;max-width:900px;color:var(--muted);z-index:1;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:clamp(14px,2.5vw,22px);font-size:clamp(.72rem,1.6vw,.8rem);animation:.5s both fadeIn;display:flex;position:relative}.breadcrumbs a{color:var(--muted);text-decoration:none;transition:color .2s}.breadcrumbs a:hover{color:var(--primary)}.breadcrumbs span:last-child{color:var(--primary);font-weight:600}.contact-container img{object-fit:contain;width:auto;max-width:100%;height:clamp(44px,6vw,56px);margin-bottom:clamp(16px,3vw,22px);animation:.5s .1s both fadeIn}.contact-container h1{color:#0a4a3b;letter-spacing:-.5px;text-align:center;word-wrap:break-word;margin-bottom:8px;font-size:clamp(1.45rem,4.5vw,2.4rem);font-weight:700;animation:.6s cubic-bezier(.4,0,.2,1) both fadeSlideDown;position:relative}.contact-container h1 span{color:var(--accent);background:linear-gradient(135deg, var(--accent), #d4a000);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.contact-container h1:after{content:"";background:var(--accent);border-radius:4px;height:3.5px;margin:14px auto 0;animation:.8s cubic-bezier(.4,0,.2,1) .4s both growLine;display:block}.contact-subtitle{text-align:center;color:#555;word-wrap:break-word;max-width:560px;margin:clamp(14px,2.5vw,20px) 0 clamp(24px,4vw,36px);font-size:clamp(.85rem,1.8vw,.95rem);line-height:1.7;animation:.6s .15s both fadeIn}.contact-grid{z-index:1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(20px,3vw,40px);width:100%;max-width:1200px;display:grid;position:relative}.contact-info-panel{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;gap:clamp(18px,3vw,26px);height:100%;padding:clamp(24px,4vw,36px);animation:.6s cubic-bezier(.4,0,.2,1) 50ms both fadeSlideUp;display:flex;position:relative;overflow:hidden}.contact-info-panel:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;position:absolute;top:0;left:0;right:0}.panel-heading{color:var(--primary-dark);border-bottom:1px solid var(--border);padding-bottom:12px;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:700}.contact-info-list{flex-direction:column;gap:clamp(12px,2vw,16px);display:flex}.contact-info-row{border-radius:var(--radius-sm);color:inherit;transition:var(--transition);background:#f7faf9;border:1px solid #0000;flex-direction:column;gap:4px;padding:clamp(12px,2vw,14px) clamp(14px,2.5vw,16px);text-decoration:none;display:flex}a.contact-info-row:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#0d5c4940;transform:translate(4px)}.contact-info-label{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;font-size:clamp(.68rem,1.4vw,.73rem);font-weight:700}.contact-info-value{color:var(--text);word-wrap:break-word;overflow-wrap:break-word;font-size:clamp(.86rem,1.8vw,.95rem);font-weight:600}.contact-whatsapp{border-top:1px solid var(--border);text-align:left;margin-top:auto;padding-top:clamp(16px,2.5vw,20px)}.contact-whatsapp p{color:#555;margin-bottom:clamp(10px,2vw,14px);font-size:clamp(.8rem,1.6vw,.87rem)}.contact-whatsapp .btn-quote{width:auto;min-width:200px;display:inline-flex}.success,.error{border-radius:var(--radius-md);text-align:center;word-wrap:break-word;z-index:1;width:100%;max-width:min(520px,100%);margin-bottom:clamp(16px,3vw,22px);padding:clamp(10px,2.5vw,14px) clamp(14px,3vw,18px);font-size:clamp(.8rem,1.8vw,.88rem);font-weight:500;animation:.4s cubic-bezier(.4,0,.2,1) both popIn;position:relative}.success{color:var(--success);background:#1a7a4a14;border:1px solid #1a7a4a38}.error{color:var(--error);background:#d9302514;border:1px solid #d9302538}.contact-form{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:1;flex-direction:column;gap:clamp(14px,2.5vw,18px);width:100%;height:100%;padding:clamp(24px,4vw,40px);animation:.65s cubic-bezier(.4,0,.2,1) .15s both fadeSlideUp;display:flex;position:relative}.contact-form input,.contact-form textarea{border-radius:var(--radius-sm);width:100%;color:var(--text);transition:var(--transition);resize:vertical;background:#f7faf9;border:1.5px solid #0d5c492e;outline:none;padding:clamp(10px,2vw,13px) clamp(12px,2.5vw,16px);font-family:inherit;font-size:clamp(.85rem,1.8vw,.92rem);animation:.45s cubic-bezier(.4,0,.2,1) both slideInFields}.contact-form input:first-of-type{animation-delay:.18s}.contact-form input:nth-of-type(2){animation-delay:.21s}.contact-form input:nth-of-type(3){animation-delay:.24s}.contact-form input:nth-of-type(4){animation-delay:.27s}.contact-form textarea{animation-delay:.3s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b0b8b5;font-size:clamp(.8rem,1.8vw,.88rem)}.contact-form input:hover,.contact-form textarea:hover{border-color:#0d5c4952}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3.5px #0d5c491a}.contact-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.contact-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.contact-form input[type=number]{appearance:textfield}.contact-form button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;letter-spacing:.4px;cursor:pointer;transition:var(--transition);border:none;width:100%;margin-top:6px;padding:clamp(11px,2.2vw,14px);font-size:clamp(.88rem,2vw,.95rem);font-weight:700;animation:.5s cubic-bezier(.4,0,.2,1) .35s both fadeSlideUp;position:relative;overflow:hidden}.contact-form button:after{content:"";background:var(--accent);transform-origin:0;z-index:0;border-radius:var(--radius-sm);transition:transform .38s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scaleX(0)}.contact-form button span{z-index:1;position:relative}.contact-form button:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0d5c4952}.contact-form button:hover:after{transform:scaleX(1)}.contact-form button:hover span{color:#3a2600}.contact-form button:active{transform:scale(.98)}.map{border-radius:var(--radius-lg);width:100%;max-width:2000px;height:clamp(260px,45vh,520px);box-shadow:var(--shadow-lg);border:1px solid var(--border);margin:clamp(24px,4vw,48px) auto 0;animation:.65s cubic-bezier(.4,0,.2,1) .25s both fadeSlideUp;position:relative;overflow:hidden}.map:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:2;height:3px;position:absolute;top:0;left:0;right:0}.map a{width:100%;height:100%;text-decoration:none;display:block;position:relative}.map iframe{border:none;width:100%;height:100%;display:block}.map-overlay{color:#fff;letter-spacing:.3px;z-index:10;pointer-events:none;white-space:nowrap;text-align:center;text-overflow:ellipsis;background:#0d5c49eb;border-radius:50px;max-width:90%;padding:clamp(8px,1.8vw,12px) clamp(16px,3vw,26px);font-size:clamp(.72rem,1.6vw,.88rem);font-weight:600;animation:.5s .4s both fadeIn;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0d5c4947}@media (max-width:1024px){.contact-container{padding:52px 5%}.contact-grid{grid-template-columns:1fr;max-width:560px}.contact-info-panel{order:2}.contact-form{order:1;padding:36px}.map{height:420px}}@media (max-width:768px){.contact-container{padding:44px 4%}.contact-container h1{font-size:2rem}.contact-form{gap:15px;padding:32px 28px}.contact-form input,.contact-form textarea{padding:12px 14px;font-size:.9rem}.map{height:360px;margin-top:36px}}@media (max-width:540px){.contact-container{padding:36px 4%}.contact-container h1{font-size:1.65rem}.contact-grid{gap:18px}.contact-info-panel{padding:22px 18px}.contact-form{gap:14px;padding:26px 20px}.contact-form input,.contact-form textarea{padding:11px 12px;font-size:.88rem}.contact-form button{padding:13px;font-size:.9rem}.map{border-radius:var(--radius-md);height:300px;margin-top:28px}.map:before{border-radius:var(--radius-md) var(--radius-md) 0 0}.map-overlay{padding:10px 20px;font-size:.78rem}}@media (max-width:380px){.contact-container{padding:28px 3%}.contact-container img{height:48px;margin-bottom:18px}.contact-container h1{font-size:1.45rem}.contact-info-panel{padding:18px 14px}.contact-form{padding:20px 14px}.contact-form input,.contact-form textarea{padding:10px 12px;font-size:.86rem}.map{height:260px;margin-top:22px}.map-overlay{padding:8px 16px;font-size:.72rem}}
