/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;padding:16px 28px;cursor:pointer;border:none}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.btn-white{background:#fff;color:var(--ink)}

/* VISUAL PLACEHOLDERS */
/* PAGE: CONTACTS */

/* HERO */
.contacts-hero{padding:88px 56px 32px}
.contacts-hero .eyebrow{font-family:var(--sans);font-size: var(--eyebrow-size);letter-spacing: var(--eyebrow-ls);text-transform:uppercase;color: var(--eyebrow-color);margin-bottom:24px}
.contacts-hero h1{font-family:var(--display);font-size:var(--h1);font-weight:600;line-height:.88;letter-spacing:-3px}
.contacts-hero h1 em{font-style:italic;font-weight:400}

/* MAIN SECTION */
.contacts-main{padding:40px 56px 64px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:80px;align-items:start}

/* LEFT: FORM */
.form-section-label{font-family:var(--sans);font-size: var(--eyebrow-size);letter-spacing: var(--eyebrow-ls);text-transform:uppercase;color: var(--eyebrow-color);margin-bottom:16px}
.form-section h3{font-family:var(--display);font-size:36px;font-style:italic;line-height:1.1;margin-bottom:28px}

/* Topic chips */
.topic-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.chip{font-family:var(--sans);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:8px 16px;border:1px solid var(--ink);cursor:pointer;background:none;color:var(--ink);transition:background .15s,color .15s}
.chip.active{background:var(--ink);color:var(--paper)}

/* Form */
.contact-form{}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.form-field{margin-bottom:28px}
.form-label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.form-input{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--ink);padding:8px 0 10px;font-family:var(--serif);font-size:16px;color:var(--ink);outline:none}
.form-input::placeholder{color:var(--muted);font-size:15px}
textarea.form-input{resize:none;min-height:100px;line-height:1.55}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:8px}
.form-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer}
.form-checkbox input{width:14px;height:14px;accent-color:var(--ink);cursor:pointer}
.form-checkbox span{font-family:var(--sans);font-size:11px;letter-spacing:.8px;color:var(--muted)}

/* RIGHT: QUICK CONTACTS */
.contacts-right{border-left:1px solid var(--ink);padding-left:80px}
.right-section-label{font-family:var(--sans);font-size: var(--eyebrow-size);letter-spacing: var(--eyebrow-ls);text-transform:uppercase;color: var(--eyebrow-color);margin-bottom:16px}
.right-h3{font-family:var(--display);font-size:36px;font-style:italic;line-height:1.1;margin-bottom:32px}

.messenger-rows{margin-bottom:36px}
.messenger-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:16px 0;border-bottom:1px solid var(--paper-deep);gap:12px}
.messenger-row:first-child{border-top:1px solid var(--paper-deep)}
.messenger-channel{font-family:var(--sans);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.messenger-handle{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1;letter-spacing:-.2px;margin-bottom:3px}
.messenger-note{font-family:var(--sans);font-size:11px;color:var(--muted)}
.messenger-arrow{font-size:18px;color:var(--muted);flex-shrink:0}

.hours-box{background:var(--ink);color:#f5f1ea;padding:28px 28px 24px}
.hours-box-title{font-family:var(--sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(245,241,234,.5);margin-bottom:16px}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.hours-day{font-family:var(--sans);font-size:12px;color:rgba(245,241,234,.6);letter-spacing:.5px}
.hours-time{font-family:var(--sans);font-size:12px;color:rgba(245,241,234,.9);font-weight:500;text-align:right}

/* MAP SECTION */
.map-section{position:relative;height:600px;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.map-bg{position:absolute;inset:0;background:linear-gradient(160deg,#ddd5c5,#c8bca5)}
.map-streets{position:absolute;inset:0}
.map-info-card{position:absolute;left:56px;top:56px;width:380px;background:var(--paper);border:1px solid var(--ink);padding:32px}
.map-info-card .street{font-family:var(--display);font-size:36px;font-style:italic;line-height:1;letter-spacing:-.5px;margin-bottom:16px}
.map-address{font-family:var(--sans);font-size:13px;color:var(--ink2);line-height:1.6;margin-bottom:16px}
.map-metro{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;color:var(--ink2);margin-bottom:20px}
.map-metro-dot{width:10px;height:10px;border-radius:50%;background:#e21a1a;flex-shrink:0}
.map-link{font-family:var(--sans);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;display:inline-block}

/* FAQ SECTION */
.faq-section{padding:88px 56px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.faq-left .section-num{font-family:var(--sans);font-size: var(--eyebrow-size);letter-spacing: var(--eyebrow-ls);text-transform:uppercase;color: var(--eyebrow-color);margin-bottom:16px}
.faq-left h2{font-family:var(--display);font-size:64px;font-style:italic;line-height:.9;letter-spacing:-2px}

.faq-list{}
details.faq-item{border-bottom:1px solid var(--ink)}
details.faq-item:first-child{border-top:1px solid var(--ink)}
details.faq-item summary{list-style:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--serif);font-size:17px;line-height:1.4;color:var(--ink);gap:16px}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";font-family:var(--sans);font-size:22px;font-weight:300;color:var(--muted);flex-shrink:0;line-height:1;transition:transform .2s}
details.faq-item[open] summary::after{content:"−"}
.faq-answer{font-family:var(--serif);font-size:15px;color:var(--ink2);line-height:1.7;padding-bottom:22px}

/* RESPONSIVE */
@media(max-width:1023px){
  .contacts-hero{padding:64px 32px 24px}
  .contacts-main{padding:32px 32px 48px;grid-template-columns:1fr;gap:48px}
  .contacts-right{border-left:none;border-top:1px solid var(--ink);padding-left:0;padding-top:48px}
  .map-info-card{left:24px;top:24px;width:320px}
  .faq-section{padding:64px 32px;grid-template-columns:1fr;gap:36px}
}
@media(max-width:599px){
  .contacts-hero{padding:40px 16px 16px}
  .contacts-main{padding:24px 16px 40px}
  .form-row{grid-template-columns:1fr}
  .map-section{height:500px}
  .map-info-card{left:12px;top:12px;width:calc(100% - 24px);max-width:340px}
  .faq-section{padding:48px 16px}
}
