.contact-page{background:var(--color-background);width:100%;min-height:100vh;color:var(--color-text);overflow:hidden}.contact-page .container{width:calc(100% - (var(--page-padding) * 2));margin:0 auto}.contact-hero{width:100%;padding:32px var(--page-padding);border-bottom:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);align-items:center;display:flex;position:relative;overflow:hidden}.contact-hero .container{z-index:2;width:100%;max-width:1450px;margin:0 auto;position:relative}.contact-hero .section-label{color:var(--color-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:3px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:12px;display:inline-flex}.contact-hero .section-label:before{width:var(--icon-size);background:var(--color-primary);content:"";height:2px}.contact-hero h1{max-width:720px;color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);letter-spacing:normal;margin:0 0 7px;line-height:1.1}.contact-hero p{max-width:680px;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.55}.contact-content{padding:var(--section-padding-large);background:var(--color-background);position:relative}.contact-grid{align-items:start;gap:calc(var(--grid-gap) * 2);grid-template-columns:minmax(0,.88fr) minmax(0,1.35fr);display:grid}.contact-info{position:relative}.contact-info>h2,.contact-form-wrapper>h2{margin:0 0 var(--grid-gap);color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-title-large);font-weight:var(--font-weight-light);letter-spacing:-.7px;line-height:1.1}.contact-info>p,.contact-form-wrapper>p{margin:0 0 calc(var(--grid-gap) * 2);color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.75}.info-card{grid-template-columns:calc(var(--icon-size) + 12px) minmax(0, 1fr);align-items:start;gap:var(--grid-gap);border-bottom:1px solid var(--color-border-card);transition:padding-left var(--transition-normal), border-color var(--transition-normal);padding:11px 0;display:grid;position:relative}.info-card:first-of-type{border-top:1px solid var(--color-border-card)}.info-card:hover{border-color:var(--color-primary);padding-left:10px}.info-card .material-symbols-outlined,.info-card .contact-whatsapp-icon{width:calc(var(--icon-size) + 12px);height:calc(var(--icon-size) + 12px);border:1px solid var(--color-primary);border-radius:var(--radius-circle);color:var(--color-primary);font-size:var(--icon-font-size);font-weight:var(--font-weight-light);transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-card:hover .material-symbols-outlined,.info-card:hover .contact-whatsapp-icon{background-color:var(--color-primary);color:var(--color-white);transform:rotate(-5deg)}.info-card h3{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin:2px 0 7px}.info-card p{color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.65}.contact-form-wrapper{padding:calc(var(--grid-gap) * 2);border:1px solid var(--color-border-card);border-top:3px solid var(--color-primary);border-radius:var(--radius-medium);background:var(--color-white);box-shadow:var(--shadow-card);position:relative}.contact-form{gap:calc(var(--carousel-gap) + 8px) var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-group{flex-direction:column;gap:10px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--color-text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:1px;text-transform:uppercase}.form-group input,.form-group textarea{border:none;border-bottom:1px solid var(--color-border-card);width:100%;color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-base);font-weight:var(--font-weight-light);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border-radius:0}.form-group input{height:48px;padding:0 4px}.form-group textarea{min-height:calc(var(--section-content-height) / 2);resize:vertical;padding:13px 4px;line-height:1.65}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-placeholder);opacity:.75}.form-group input:hover,.form-group textarea:hover{border-color:var(--color-border-hover)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 2px 0 var(--color-primary)}.contact-form .btn-primary{border:1px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-primary);min-width:190px;min-height:48px;color:var(--color-white);font-family:var(--font-main);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), transform var(--transition-normal);grid-column:1/-1;justify-self:start;margin-top:8px;padding:0 28px;position:relative;overflow:hidden}.contact-form .btn-primary:hover{border-color:var(--color-black);background:var(--color-black);color:var(--color-white);transform:translateY(-3px)}.contact-form .btn-primary:active{transform:translateY(0)}.contact-form .btn-primary:focus-visible{box-shadow:var(--shadow-focus);outline:none}.form-group input.is-invalid,.form-group textarea.is-invalid{border-color:var(--color-primary);box-shadow:0 1px #e7180359}.form-group input.is-invalid:focus,.form-group textarea.is-invalid:focus{border-color:var(--color-primary);box-shadow:0 2px 0 var(--color-primary)}.field-error{color:var(--color-primary);font-size:.72rem;font-weight:var(--font-weight-medium);letter-spacing:.01em;margin-top:-4px;line-height:1.4}.field-error[hidden]{display:none}.contact-map{padding:var(--section-padding-large);background:var(--color-background)}.map-header{margin-bottom:calc(var(--grid-gap) * 2);align-items:start;gap:8px calc(var(--grid-gap) * 2);grid-template-columns:minmax(220px,.7fr) minmax(0,1fr);grid-template-areas:"label title""label description";display:grid}.map-header .section-label{color:var(--color-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:2.5px;text-transform:uppercase;grid-area:label;align-items:center;gap:10px;padding-top:7px;display:flex}.map-header .section-label:before{width:var(--icon-size);background:var(--color-primary);content:"";height:2px}.map-header h2{color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-title-large);font-weight:var(--font-weight-light);letter-spacing:-.7px;grid-area:title;line-height:1.1}.map-header p{max-width:620px;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-light);grid-area:description;margin:8px 0 0;line-height:1.75}.map-wrapper{border:1px solid var(--color-border-card);border-radius:var(--radius-medium);background:var(--color-background-soft);width:100%;height:360px;position:relative;overflow:hidden}.map-wrapper:before{z-index:1;pointer-events:none;content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000008}.map-wrapper iframe{filter:grayscale(.15)contrast(1.02);border:0;width:100%;height:100%;display:block}.contact-map.contact-map--inline{margin-top:30px;padding:0}.contact-map--inline .map-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"label";gap:8px;margin-bottom:12px}.contact-map--inline .map-header .section-label{padding-top:0}.contact-map--inline .map-header p{margin-top:0}.contact-map--inline .map-wrapper{height:300px}@media (width>=1025px){.contact-grid{align-items:stretch}.contact-info{flex-direction:column;display:flex}.contact-map.contact-map--inline{flex-direction:column;flex:1;margin-top:18px;display:flex}.contact-map--inline .map-wrapper{flex:1;height:auto;min-height:220px}}@media (prefers-reduced-motion:reduce){.info-card,.info-card .material-symbols-outlined,.info-card .contact-whatsapp-icon,.contact-form .btn-primary,.form-group input,.form-group textarea{transition:none}}.contact-page .container{max-width:1600px}@media (width<=1200px){.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}.contact-form-wrapper{padding:30px}.map-header{grid-template-columns:minmax(190px,.6fr) minmax(0,1fr);gap:8px 30px}}@media (width<=1024px){.contact-hero{padding:28px var(--page-padding)}.contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}.contact-info,.contact-form-wrapper{width:100%;max-width:820px;margin-inline:auto}.contact-info>p,.contact-form-wrapper>p{max-width:680px}.map-wrapper{height:330px}}@media (width<=768px){.contact-hero{padding:26px 20px}.contact-hero .container,.contact-content .container,.contact-map .container{width:100%}.contact-info>h2,.contact-form-wrapper>h2,.map-header h2{font-size:clamp(29px, 6vw, var(--font-size-title-large))}.contact-content{padding:38px 20px}.contact-grid{gap:34px}.contact-form-wrapper{padding:28px}.map-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""title""description";gap:10px}.map-header .section-label{padding-top:0}.map-header p{max-width:680px;margin-top:2px}.contact-map{padding:38px 20px}.map-header{margin-bottom:28px}.map-wrapper{height:300px}}@media (width<=600px){.contact-hero{padding:24px 16px}.contact-hero h1{font-size:clamp(27px, 5vw, var(--font-size-title))}.contact-hero p{line-height:1.65}.contact-content{padding:34px 16px}.contact-grid{gap:30px}.contact-info>p,.contact-form-wrapper>p{margin-bottom:28px}.info-card{gap:14px}.info-card>div,.info-card p{min-width:0}.info-card p{overflow-wrap:anywhere}.contact-form-wrapper{padding:24px}.contact-form{grid-template-columns:minmax(0,1fr);gap:20px}.form-group.full-width,.contact-form .btn-primary{grid-column:auto}.form-group input,.form-group textarea{min-width:0;font-size:16px}.form-group textarea{min-height:125px}.contact-map{padding:34px 16px}.map-wrapper{height:280px}}@media (width<=480px){.contact-hero{padding:22px 14px}.contact-hero h1{font-size:clamp(27px, 7vw, var(--font-size-title))}.contact-hero .section-label{letter-spacing:2.4px;margin-bottom:14px}.contact-content{padding:30px 14px}.contact-grid{gap:26px}.contact-info>h2,.contact-form-wrapper>h2,.map-header h2{font-size:clamp(27px,7vw,31px)}.info-card{grid-template-columns:44px minmax(0,1fr);padding-block:11px}.info-card .material-symbols-outlined,.info-card .contact-whatsapp-icon{width:44px;height:44px}.contact-form-wrapper{padding:22px 20px}.contact-form .btn-primary{justify-self:stretch;width:100%;min-width:0;min-height:48px}.contact-map{padding:30px 14px}.map-header{margin-bottom:24px}.map-wrapper{height:260px}}@media (width<=380px){.contact-hero{padding:20px 12px}.contact-hero h1{font-size:clamp(26px, 8vw, var(--font-size-title))}.contact-hero p{font-size:13px;line-height:1.6}.contact-content{padding:26px 12px}.contact-form-wrapper{padding:20px 18px}.info-card{gap:12px}.contact-map{padding:26px 12px}.map-wrapper{height:260px}}@media (width<=1024px) and (height<=600px) and (orientation:landscape){.contact-hero{padding-block:20px}.map-wrapper{height:min(65vh,320px)}}.form-honeypot{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;top:-9999px!important;left:-9999px!important;overflow:hidden!important}.contact-notice{--notice-accent:var(--color-text-muted);border:1px solid var(--color-border-card);border-left:3px solid var(--notice-accent);border-radius:var(--radius-medium);background:var(--color-background-soft,#f7f7f7);opacity:0;grid-column:1/-1;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:16px 48px 16px 16px;transition:opacity .22s,transform .22s;display:grid;position:relative;overflow:hidden;transform:translateY(-8px);box-shadow:0 12px 30px #00000012}.contact-notice[hidden]{display:none}.contact-notice--success{--notice-accent:#47735a}.contact-notice--warning{--notice-accent:#8a6a35}.contact-notice--error{--notice-accent:var(--color-primary)}.contact-notice--info{--notice-accent:var(--color-text-muted)}.contact-notice__icon{border:1px solid var(--color-border-card);border-radius:var(--radius-circle);width:34px;height:34px;color:var(--notice-accent);font-variation-settings:"wght" 350;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.contact-notice__content{min-width:0}.contact-notice__title{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.35;display:block}.contact-notice__message{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-light);margin:4px 0 0;line-height:1.55}.contact-notice__close{border-radius:var(--radius-circle);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.contact-notice__close:hover{color:var(--color-text);background:#0000000e}.contact-notice__close:focus-visible{box-shadow:var(--shadow-focus);outline:none}.contact-notice__close .material-symbols-outlined{font-size:18px}.contact-form .btn-primary:disabled{cursor:wait;opacity:.82;transform:none}.contact-form .btn-primary.is-loading{padding-right:52px}.contact-form .btn-primary.is-loading:after{border:2px solid #ffffff6b;border-top-color:var(--color-white);border-radius:var(--radius-circle);content:"";width:15px;height:15px;margin-top:-8px;animation:.7s linear infinite contact-button-spin;position:absolute;top:50%;right:24px}@keyframes contact-button-spin{to{transform:rotate(360deg)}}@media (width<=600px){.contact-notice{grid-column:auto;grid-template-columns:32px minmax(0,1fr);gap:11px;padding:14px 44px 14px 14px}.contact-notice__icon{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.contact-notice{transition:none}.contact-form .btn-primary.is-loading:after{animation-duration:1.4s}}.contact-notice{z-index:5000;width:100%;height:100%;box-shadow:none;opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0f0f61;border:0;border-radius:0;grid-template-columns:none;justify-content:center;align-items:center;gap:0;padding:24px;display:flex;position:fixed;inset:0;transform:none}.contact-notice.is-visible{opacity:1;transform:none}.contact-notice.is-leaving{opacity:0;transform:none}.contact-notice__panel{border:1px solid var(--color-border-card);border-top:3px solid var(--notice-accent);border-radius:var(--radius-medium);background:var(--color-white);opacity:0;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:16px;width:min(100%,520px);padding:26px 52px 24px 24px;transition:opacity .22s,transform .22s;display:grid;position:relative;transform:translateY(12px)scale(.985);box-shadow:0 24px 70px #0003}.contact-notice.is-visible .contact-notice__panel{opacity:1;transform:translateY(0)scale(1)}.contact-notice.is-leaving .contact-notice__panel{opacity:0;transform:translateY(8px)scale(.99)}.contact-notice__panel .contact-notice__icon{width:40px;height:40px}.contact-notice__action{border:1px solid var(--color-text);border-radius:var(--radius-pill);background:var(--color-text);min-height:40px;color:var(--color-white);font-family:var(--font-main);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);margin-top:18px;padding:0 22px}.contact-notice__action:hover{border-color:var(--color-primary);background:var(--color-primary);transform:translateY(-1px)}.contact-notice__action:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (width<=600px){.contact-notice{width:100%;height:100%;padding:16px;display:flex}.contact-notice__panel{grid-template-columns:36px minmax(0,1fr);gap:13px;width:min(100%,440px);padding:22px 46px 21px 20px}.contact-notice__panel .contact-notice__icon{width:36px;height:36px}.contact-notice__action{width:100%}}@media (prefers-reduced-motion:reduce){.contact-notice__panel{transition:none}}
