/* ============ Baimin Granitos — Contact page (from Contact.dc.html design) ============ */
/* Shares .wrap, .kicker, .btn, .nav-link, .flink, .reveal from style.css */

body.contact-page { background: #EDEAE1; color: #201F1A; }

/* ============ HERO ============ */
.ct-hero {
  position: relative; min-height: 640px;
  background: #0F0F0A; color: #F3F2EC; overflow: hidden;
}
.ct-hero-bg {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: right center; filter: brightness(1.25);
  opacity: 0; transform: scale(1.06);
  transition: opacity 1.5s ease, transform 1.8s cubic-bezier(.22,1,.36,1);
}
.ct-hero.is-visible .ct-hero-bg { opacity: 1; transform: scale(1); }
.ct-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(15,15,10,0.88) 0%, rgba(15,15,10,0.72) 34%, rgba(15,15,10,0.28) 62%, rgba(15,15,10,0.08) 100%);
}
.ct-hero-inner { position: relative; z-index: 3; }
.ct-header { display: flex; align-items: center; justify-content: space-between; padding: 22px 40px; }
.ct-hero-body { padding: 96px 40px 120px; max-width: 1240px; }
.ct-hero-kicker { color: #7FB77F; margin-bottom: 26px; letter-spacing: 3px; }
.ct-hero-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400; font-size: 72px; line-height: 1.04; letter-spacing: 0.5px;
  margin: 0 0 30px; color: #F3F2EC;
}
.ct-hero-p {
  font-size: 17px; line-height: 1.85; font-weight: 300; letter-spacing: 0.3px;
  color: rgba(243,242,236,0.78); margin: 0; max-width: 540px;
}
.ct-hero-p strong { font-weight: 600; color: #F3F2EC; }
.ct-hero .reveal.d0 { transition-delay: .15s; }
.ct-hero .reveal.d1 { transition-delay: .28s; }
.ct-hero .reveal.d2 { transition-delay: .42s; }
.ct-hero.is-visible .reveal { opacity: 1; transform: translateY(0); }

/* ============ INFO CARDS ============ */
.ct-cards { background: #EDEAE1; padding: 0 0 96px; }
.ct-cards-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 44px;
  margin-top: -64px; position: relative; z-index: 5; align-items: stretch;
}
.infoCard {
  position: relative; overflow: hidden; border-radius: 6px;
  border: 1px solid rgba(32,31,26,0.12); background: #F7F5EF;
  box-shadow: 0 18px 45px rgba(0,0,0,0.14);
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, border-color .5s ease, opacity .9s ease;
}
.infoCard.reveal { transform: translateY(28px); }
.ct-cards.is-visible .infoCard.reveal { opacity: 1; transform: translateY(0); }
.ct-cards.is-visible .infoCard.d0 { transition-delay: .05s; }
.ct-cards.is-visible .infoCard.d1 { transition-delay: .2s; }
.ct-cards.is-visible .infoCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(0,0,0,0.2);
  border-color: rgba(93,155,93,0.55);
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, border-color .5s ease;
}
.infoCard-body { position: relative; z-index: 2; padding: 42px 44px; }
.card-label { color: #4C7F4C; margin-bottom: 22px; }
.card2 .card-label { margin-bottom: 26px; }
.card-city { font-size: 19px; font-weight: 600; color: #201F1A; margin-bottom: 30px; }
.card-lines { display: flex; flex-direction: column; }
.card1 .card-lines { gap: 24px; }
.card2 .card-lines { gap: 22px; }

.cline {
  display: flex; align-items: center; gap: 16px; cursor: pointer;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.cline.cline-top { align-items: flex-start; }
.cline:hover { transform: translateX(6px); }
.cline-text { font-size: 15px; font-weight: 300; color: rgba(32,31,26,0.85); }
.cline-text.multiline { line-height: 1.65; }
.cico {
  width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%;
  border: 1px solid rgba(93,155,93,0.5);
  display: flex; align-items: center; justify-content: center;
  transition: background .3s ease;
}
.cico svg { transition: stroke .3s ease; }
.cline:hover .cico { background: #5D9B5D; }
.cline:hover .cico svg { stroke: #fff; }
.cline:hover .cico svg .wafill { fill: #fff; }

/* ============ CTA BAND ============ */
.ct-cta { position: relative; overflow: hidden; }
.ct-cta-bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.08); transition: transform 2s cubic-bezier(.22,1,.36,1);
}
.ct-cta.is-visible .ct-cta-bg { transform: scale(1); }
.ct-cta-shade { position: absolute; inset: 0; background: rgba(12,16,11,0.62); }
.ct-cta-inner { position: relative; z-index: 2; text-align: center; padding: 96px 40px; }
.ct-cta-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400; font-size: 46px; color: #F3F2EC; margin: 0 0 32px;
}
.ct-cta .reveal.d0 { transition-delay: .1s; }
.ct-cta .reveal.d1 { transition-delay: .25s; }
.ct-cta.is-visible .reveal { opacity: 1; transform: translateY(0); }

/* ============ FOOTER (Contact variant) ============ */
.ct-footer { background: #111109; color: #F3F2EC; padding: 80px 0 0; }
.ct-footer-grid {
  display: grid; grid-template-columns: 1.3fr 1fr 1.3fr 1.3fr; gap: 40px; padding-bottom: 60px;
}
.ct-footer-logo { height: 54px; margin-bottom: 18px; display: block; }
.ct-footer-divider { width: 46px; height: 1px; background: rgba(255,255,255,0.25); margin-bottom: 18px; }
.ct-footer-tag {
  font-size: 13px; line-height: 1.8; font-weight: 300;
  color: rgba(243,242,236,0.65); margin: 0 0 20px; max-width: 230px;
}
.ct-footer-tag strong { font-weight: 600; color: #F3F2EC; }
.ct-footer-since { font-size: 10.5px; color: rgba(243,242,236,0.6); margin-bottom: 4px; letter-spacing: 3px; }
.ct-footer-year { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: #7FB77F; letter-spacing: 3px; }
.ct-footer-head { color: #7FB77F; margin-bottom: 22px; font-size: 11px; }
.ct-footer-links { display: flex; flex-direction: column; gap: 13px; font-size: 14px; font-weight: 300; color: rgba(243,242,236,0.8); }
.ct-footer-links.contact-col { gap: 18px; }
.ct-footer-links.contact-col .flink { display: flex; align-items: flex-start; gap: 11px; }
.ct-footer-links.contact-col .flink img { height: 14px; margin-top: 3px; }
.ct-footer-links.contact-col .flink.wa img { height: 15px; margin-top: 2px; }
.ct-footer-links.contact-col .flink.plain { align-items: center; }
.ct-footer-links.contact-col .flink.plain img { margin-top: 0; }
.ct-footer-bar { height: 6px; background: linear-gradient(90deg, #5D9B5D, #A9BE7C); }

/* ============ Responsive ============ */
@media (max-width: 1024px) {
  .ct-hero { min-height: 0; }
  .ct-hero-body { padding: 64px 40px 110px; }
  .ct-hero-h1 { font-size: 54px; }
  .ct-cards-grid { grid-template-columns: 1fr; gap: 30px; margin-top: -80px; }
  .ct-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .ct-hero-body { padding: 44px 22px 96px; }
  .ct-hero-h1 { font-size: 38px; }
  .ct-hero-p { font-size: 15px; }
  .ct-cards { padding-bottom: 64px; }
  .ct-cards-grid { margin-top: -64px; }
  .infoCard-body { padding: 32px 26px; }
  .ct-cta-inner { padding: 64px 22px; }
  .ct-cta-title { font-size: 30px; }
  .ct-footer-grid { grid-template-columns: 1fr; }
  .ct-footer { padding-top: 56px; }
}