.contact-page{background:var(--paper)}
.contact-page .main-nav .is-active{color:var(--gold)}
.contact-hero{position:relative;min-height:610px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.contact-hero>img,.contact-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.contact-hero>img{object-fit:cover;object-position:center 58%}.contact-hero-overlay{background:linear-gradient(90deg,rgba(5,16,22,.76) 0%,rgba(5,16,22,.42) 46%,rgba(5,16,22,.2) 100%),linear-gradient(0deg,rgba(5,16,22,.35),transparent 60%)}
.contact-hero-content{position:relative;z-index:1;padding-bottom:82px}.contact-hero-content h1{margin:5px 0 12px;font-size:clamp(52px,5vw,76px);font-weight:500}.contact-hero-content>p:last-child{max-width:520px;margin:0;font-size:17px;line-height:1.6}
.contact-form-section{padding:110px 0;background:linear-gradient(135deg,#fffdf8,#fbf7ef)}.contact-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(70px,9vw,150px);align-items:start}.contact-intro h2{margin:10px 0 22px;font-size:clamp(38px,3.6vw,54px);font-weight:500}.contact-intro-copy>p:not(.eyebrow){max-width:470px;color:var(--muted)}.contact-rule{width:42px;height:1px;margin:42px 0;background:var(--gold)}.contact-details{display:grid;gap:28px;font-style:normal}.contact-details div{display:flex;flex-direction:column;align-items:flex-start}.contact-details span{margin-bottom:6px;color:#a0833f;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.contact-details a,.contact-details p{margin:0;color:var(--blue-dark);font-size:14px;line-height:1.75}.contact-details a:hover{text-decoration:underline}
.contact-form{padding-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{position:relative}.contact-form label>span{display:block;margin:0 0 7px;color:#52616b;font-size:11px;font-weight:500}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(29,43,54,.16);border-radius:2px;outline:none;background:rgba(255,255,255,.5);color:var(--ink);font:400 13px/1.4 var(--sans);transition:border-color .2s,box-shadow .2s,background .2s}.contact-form input,.contact-form select{height:54px;padding:0 16px}.contact-form textarea{min-height:145px;padding:16px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,100,140,.08);background:#fff}.form-wide{grid-column:1/-1}.form-wide>.char-count{position:absolute;right:13px;bottom:10px;color:var(--muted);font-size:10px}.form-wide>.char-count b{font-weight:400}.form-check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--muted)}.form-check input{flex:0 0 auto;width:15px;height:15px;margin-top:2px;padding:0}.form-check span{margin:0!important;font-size:11px!important;line-height:1.5}.form-check a{text-decoration:underline}.contact-submit{width:100%;min-height:54px;margin-top:24px;border:0;background:var(--blue);color:#fff;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s}.contact-submit span{margin-left:10px;font-size:16px}.contact-submit:hover{background:var(--blue-dark);transform:translateY(-2px)}.form-status{min-height:22px;margin:10px 0 0;color:var(--blue-dark);font-size:12px;text-align:center}
.visit-banner{position:relative;min-height:570px;display:grid;place-items:center;overflow:hidden;color:#fff}.visit-banner>img,.visit-banner-overlay{position:absolute;inset:0;width:100%;height:100%}.visit-banner>img{object-fit:cover;object-position:center}.visit-banner-overlay{background:rgba(6,19,25,.53)}.visit-banner-content{position:relative;z-index:1;width:min(600px,calc(100% - 40px));text-align:center}.visit-banner-content h2{margin:10px 0 20px;color:#fff;font-size:clamp(44px,5vw,68px);font-weight:500}.visit-banner-content i{display:block;width:140px;height:1px;margin:0 auto 26px;background:rgba(255,255,255,.7)}.visit-banner-content>p:not(.eyebrow){max-width:500px;margin:0 auto;font-size:15px}.visit-banner-content .btn{margin-top:30px}.contact-highlights{padding:42px 0;background:var(--paper)}.contact-highlights .container{display:grid;grid-template-columns:repeat(4,1fr)}.contact-highlights article{padding:4px 35px;text-align:center;border-right:1px solid var(--line)}.contact-highlights article:last-child{border:0}.contact-highlights b{color:#a0833f;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.contact-highlights p{margin:7px 0 0;color:var(--blue-dark);font-size:12px;line-height:1.6}
@media(max-width:900px){.contact-hero{min-height:520px}.contact-layout{grid-template-columns:1fr;gap:62px}.contact-intro{max-width:620px}.contact-highlights .container{grid-template-columns:1fr 1fr;gap:28px 0}.contact-highlights article:nth-child(2){border-right:0}}
@media(max-width:600px){.contact-hero{min-height:560px}.contact-hero-content{padding-bottom:55px}.contact-hero-content h1{font-size:52px}.contact-form-section{padding:75px 0}.contact-layout{gap:52px}.contact-intro h2{font-size:38px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.visit-banner{min-height:520px}.visit-banner-content h2{font-size:44px}.contact-highlights .container{grid-template-columns:1fr}.contact-highlights article{border-right:0;border-bottom:1px solid var(--line);padding:22px}.contact-highlights article:last-child{border-bottom:0}}
/* Hero tipográfico alinhado à página Casamentos */
.contact-hero-content { max-width: 760px; }
.contact-hero .eyebrow { margin: 0; padding-left: 5px; color: var(--gold); font-size: 11px; font-weight: 600; line-height: 1.65; letter-spacing: .18em; text-transform: uppercase; }
.contact-hero-content h1 { max-width: 700px; margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(36px, 4.2vw, 54px); font-weight: 500; line-height: 1.05; letter-spacing: -.01em; }
.contact-hero-content > p:last-child { max-width: 520px; margin: 28px 0 0; color: #fff; font-family: var(--sans); font-size: 18px; font-weight: 400; line-height: 1.65; letter-spacing: .01em; }
@media (max-width: 600px) { .contact-hero-content h1 { font-size: 36px; } }
@media (max-width: 700px) { .contact-hero-content h1 { font-size: 42px; } .contact-hero-content > p:last-child { font-size: 16px; } }

/* Formulário progressivo de solicitações */
.form-progressive{margin-top:18px;animation:formReveal .28s ease both}.form-progressive[hidden],.contact-form [hidden]{display:none!important}@keyframes formReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.contact-form label>span b{color:#a14d42;font:600 11px var(--sans)}.contact-form label>span small{color:var(--muted);font-size:10px}.field-error{display:block;min-height:15px;margin-top:4px;color:#9f3e36;font:normal 10px/1.4 var(--sans)}.check-error{margin-left:25px}.contact-form [aria-invalid="true"]{border-color:#b65b51;box-shadow:0 0 0 3px rgba(182,91,81,.08)}
.email-delivery{min-height:54px;padding:10px 14px;border:1px solid rgba(29,43,54,.12);background:rgba(255,255,255,.45)}.email-delivery>span{display:block;margin-bottom:4px;color:#52616b;font-size:10px}.email-delivery strong{display:block;color:var(--blue-dark);font-size:13px}.email-delivery small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.char-count{position:absolute;right:13px;bottom:10px;color:var(--muted);font-size:10px}.contact-submit:disabled{cursor:wait;opacity:.68;transform:none}.form-status.is-success{padding:13px;background:rgba(50,112,86,.09);color:#286548}.form-status.is-error{padding:13px;background:rgba(159,62,54,.08);color:#8a352f}
/* Texto branco do bloco de visitas */
.contact-page .visit-banner-content h2,.contact-page .visit-banner-content>p:not(.eyebrow){color:#fff!important}.contact-page .visit-banner-content .btn{color:#fff;border-color:rgba(255,255,255,.75)}

/* Escala mobile consolidada */
@media (max-width: 700px) {
  .contact-hero { min-height: 500px; }
  .contact-hero-content { padding-bottom: 42px; }
  .contact-hero-content h1 { font-size: 34px; line-height: 1.05; }
  .contact-hero-content > p:last-child { margin-top: 20px; font-size: 14px; line-height: 1.6; }
  .contact-form-section { padding: 54px 0; }
  .contact-layout { gap: 40px; }
  .contact-intro h2 { font-size: 31px; line-height: 1.08; }
  .visit-banner { min-height: 460px; }
  .visit-banner-content h2 { font-size: 32px; line-height: 1.08; }
  .visit-banner-content > p:not(.eyebrow) { font-size: 14px; line-height: 1.65; }
  .contact-highlights { padding: 28px 0; }
}
.contact-form-heading { display: block; margin: 0 0 24px; color: var(--blue-dark); font-family: var(--serif); font-size: clamp(28px, 2.5vw, 36px); font-weight: 500; line-height: 1.15; }
@media (max-width: 700px) {
  .contact-form-heading { margin-bottom: 20px; font-size: 25px; }
}
.contact-form .email-delivery { display: none !important; }
.agenda-notice{padding:15px 17px;border-left:2px solid var(--gold);background:rgba(198,154,77,.09);color:var(--blue-dark);font-size:12px;line-height:1.65}
.agenda-notice[hidden]{display:none!important}

/* No mobile, o formulário vem logo após o texto de apresentação. */
@media (max-width: 700px) {
  .contact-intro { display: contents; }
  .contact-intro-copy { order: 0; }
  .contact-form { order: 1; }
  .contact-info { order: 2; }
  .contact-form-heading { display: none; }
  .contact-info .contact-rule { margin-top: 0; }
}