/* ===== CONTACT — form + info card + map (distinct from all other pages) ===== */

  .contact-hero{
    background:linear-gradient(150deg, var(--navy-deep) 0%, var(--navy) 100%);
    padding:60px 0 64px; position:relative; overflow:hidden;
  }
  .contact-hero::before{
    content:''; position:absolute; inset:0;
    background-image:radial-gradient(circle at 90% 10%, rgba(255,222,89,0.10) 0, transparent 42%);
  }
  .contact-hero .breadcrumb{color:#9FB1D6; position:relative; z-index:1;}
  .contact-hero .breadcrumb a{color:#CBD5E1;}
  .contact-hero h1{color:#fff; font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin:16px 0 10px; position:relative; z-index:1;}
  .contact-hero p{color:#CBD5E1; max-width:54ch; position:relative; z-index:1;}

  /* Quick contact strip */
  .quick-strip{background:var(--paper); padding-top:0; margin-top:-40px; position:relative; z-index:5;}
  .quick-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
  .q-card{
    background:var(--paper); border-radius:16px; padding:26px;
    box-shadow:0 20px 44px -20px rgba(15,23,42,0.18);
    display:flex; gap:16px; align-items:flex-start;
  }
  .q-card .qi{
    width:46px; height:46px; border-radius:11px; background:var(--bg); color:var(--navy);
    display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0;
  }
  .q-card h4{font-size:0.96rem; margin-bottom:6px;}
  .q-card p, .q-card a{font-size:0.86rem; color:var(--ink-soft); display:block; line-height:1.6;}
  .q-card a:hover{color:var(--blue);}

  /* Form + sidebar info */
  .contact-main{background:var(--paper); padding:90px 0;}
  .contact-main-grid{display:grid; grid-template-columns:1fr 380px; gap:50px; align-items:flex-start;}

  .contact-form-card{background:var(--bg); border-radius:20px; padding:42px;}
  .contact-form-card h2{font-size:1.5rem; margin-bottom:8px;}
  .contact-form-card .sub{color:var(--ink-soft); font-size:0.94rem; margin-bottom:30px;}
  .form-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .form-group{margin-bottom:18px;}
  .form-group label{display:block; font-size:0.84rem; font-weight:600; color:var(--navy-deep); margin-bottom:7px;}
  .form-group input, .form-group textarea, .form-group select{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:9px;
    font-family:var(--body); font-size:0.92rem; color:var(--navy-deep);
    transition:border-color .18s, box-shadow .18s;
  }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus{
    border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(37,99,235,0.12);
  }
  .form-group textarea{resize:vertical; min-height:120px;}
  .form-group select{cursor:pointer; appearance:none; background-repeat:no-repeat; background-position:right 14px center; background-size:14px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6478' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    padding-right:38px;
  }
  .contact-form-card .form-group input,
  .contact-form-card .form-group textarea,
  .contact-form-card .form-group select{background:var(--paper);}
  .contact-form-card .btn{margin-top:8px; padding:14px 30px;}

  .info-side{display:flex; flex-direction:column; gap:24px;}
  .office-card{background:var(--navy-deep); border-radius:18px; padding:32px; color:#fff;}
  .office-card h3{color:#fff; font-size:1.2rem; margin-bottom:22px;}
  .office-card .row{display:flex; gap:14px; margin-bottom:20px; align-items:flex-start;}
  .office-card .row:last-child{margin-bottom:0;}
  .office-card .ico{
    width:38px; height:38px; border-radius:9px; background:rgba(255,222,89,0.14); color:var(--gold);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .office-card .row b{display:block; font-size:0.92rem; margin-bottom:3px;}
  .office-card .row span{font-size:0.85rem; color:#AFC0DE; line-height:1.5;}

  .hours-card{background:var(--bg); border-radius:18px; padding:28px;}
  .hours-card h4{font-size:1rem; margin-bottom:16px;}
  .hours-row{display:flex; justify-content:space-between; font-size:0.88rem; padding:9px 0; border-bottom:1px solid var(--line);}
  .hours-row:last-child{border-bottom:none;}
  .hours-row span:first-child{color:var(--navy-deep); font-weight:600;}
  .hours-row span:last-child{color:var(--ink-soft);}
  .hours-row.closed span:last-child{color:#E11D48;}

  .whatsapp-card{
    background:#25D366; border-radius:18px; padding:26px; color:#fff;
    display:flex; align-items:center; gap:16px;
  }
  .whatsapp-card .wico{font-size:1.8rem;}
  .whatsapp-card h4{color:#fff; font-size:0.98rem; margin-bottom:3px;}
  .whatsapp-card p{font-size:0.82rem; color:rgba(255,255,255,0.85); margin-bottom:0;}
  .whatsapp-card a{margin-left:auto; background:#fff; color:#128C45; padding:9px 16px; border-radius:8px; font-weight:700; font-size:0.84rem; white-space:nowrap;}

  /* Map full-width */
  .map-full{background:var(--bg); padding-bottom:90px;}
  .map-full-embed{
    border-radius:20px; overflow:hidden; box-shadow:0 24px 56px -20px rgba(15,23,42,0.18);
    min-height:420px;
  }
  .map-full-embed iframe{width:100%; height:420px; border:0;}

  /* FAQ split */
  .contact-faq{background:var(--paper); padding-bottom:90px;}
  .cfaq-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:50px;}
  .cfaq-grid .faq-list .faq-item:first-child .faq-q{padding-top:0;}

  @media (max-width:1024px){
    .quick-cards{grid-template-columns:1fr; }
    .contact-main-grid{grid-template-columns:1fr;}
    .cfaq-grid{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .form-grid-2{grid-template-columns:1fr;}
    .contact-form-card{padding:26px;}
    .whatsapp-card{flex-direction:column; text-align:center;}
    .whatsapp-card a{margin-left:0;}
  }