/* ============================================================
   Atlant — interior page templates (service / city / brand /
   contact / index). Scoped to .interior-main so it never
   touches the shared header/footer or any Bootstrap remnants.
   Relies on --accent + fonts already loaded via site-chrome.css.
   ============================================================ */
.interior-main{ font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif; color:var(--text); background:var(--bg); }
.interior-main *{ box-sizing:border-box; }
.interior-main a{ text-decoration:none; color:inherit; }
.interior-main img{ display:block; max-width:100%; }
.interior-main h1,.interior-main h2,.interior-main h3,.interior-main h4{ margin:0; }

.interior-main .btn-pri{ transition:filter .15s; }
.interior-main .btn-pri:hover{ filter:brightness(.92); }
.interior-main .btn-ghost{ transition:all .15s; }
.interior-main .btn-ghost:hover{ background:var(--hero-chip); color:var(--hero-text); border-color:var(--hero-text); }

.interior-main .chip{ transition:all .15s; }
.interior-main .chip:hover{ border-color:var(--text) !important; color:var(--text) !important; }

.interior-main .relcard:hover{ transform:translateY(-4px); box-shadow:0 24px 50px -24px rgba(21,23,28,.3); border-color:var(--text); }
.interior-main .relcard:hover .rel-arrow{ background:var(--accent); color:#fff; }

/* FAQ accordion (native <details>) */
.interior-main .faq{ border-bottom:1px solid var(--line); }
.interior-main .faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-family:'Archivo',sans-serif; font-weight:700; font-size:18px; color:var(--text); }
.interior-main .faq summary::-webkit-details-marker{ display:none; }
.interior-main .faq .plus{ flex-shrink:0; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; border:1px solid var(--line-2); color:var(--text); transition:transform .2s, background .2s, color .2s; }
.interior-main .faq[open] .plus{ background:var(--accent); color:#fff; border-color:var(--accent); transform:rotate(45deg); }
.interior-main .faq-a{ font-size:15.5px; color:var(--muted); line-height:1.7; max-width:760px; padding:0 0 22px; }

/* responsive */
@media (max-width:1023px){
  .interior-hero{ grid-template-columns:1fr !important; gap:32px !important; }
  .interior-body{ grid-template-columns:1fr !important; gap:40px !important; }
  .interior-body aside{ position:static !important; top:auto !important; }
  .interior-problems{ grid-template-columns:1fr !important; }
  .interior-related{ grid-template-columns:repeat(2,1fr) !important; }
  .interior-cta{ flex-direction:column; align-items:flex-start !important; }
}
@media (max-width:767px){
  .interior-related{ grid-template-columns:1fr !important; }
  .interior-hero-inner{ padding:38px 20px 44px !important; }
  .interior-contact{ grid-template-columns:1fr !important; gap:36px !important; }
}

/* contact form (keeps the /contact.php field contract; restyled) */
.interior-main .cform > div{ margin-bottom:14px; }
.interior-main .cform label{ display:block; font-size:13.5px; font-weight:600; color:var(--text-2); margin:0 0 6px; }
.interior-main .cform input,.interior-main .cform select,.interior-main .cform textarea{ width:100%; border:1px solid var(--line-2); background:var(--input-bg); border-radius:11px; padding:13px 15px; outline:none; color:var(--text); font-size:15px; }
.interior-main .cform input:focus,.interior-main .cform select:focus,.interior-main .cform textarea:focus{ border-color:var(--accent); }
.interior-main .cform textarea{ resize:none; }
.interior-main .cform .cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.interior-main .cform button{ width:100%; background:var(--accent); color:#fff; font-weight:800; font-size:16px; padding:15px; border:none; border-radius:12px; cursor:pointer; font-family:'Archivo',sans-serif; margin-top:4px; }
.interior-main .cform button:hover{ filter:brightness(.92); }
@media (max-width:600px){ .interior-main .cform .cf-row{ grid-template-columns:1fr; } }

/* index pages: service cards + brand cards */
.interior-main .svc{ position:relative; transition:all .22s; }
.interior-main .svc:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -24px rgba(21,23,28,.32); border-color:var(--text); }
.interior-main .svc:hover .svc-arrow{ background:var(--accent); color:#fff; transform:translateX(3px); }
.interior-main .brandcard{ transition:all .2s; }
.interior-main .brandcard:hover{ transform:translateY(-5px); box-shadow:0 22px 46px -24px rgba(21,23,28,.3); border-color:var(--text); }
@media (max-width:1023px){ .interior-svcgrid{ grid-template-columns:repeat(2,1fr) !important; } .interior-brandgrid{ grid-template-columns:repeat(3,1fr) !important; } .interior-statband{ grid-template-columns:repeat(2,1fr) !important; } .interior-values{ grid-template-columns:1fr !important; } .interior-story{ grid-template-columns:1fr !important; gap:32px !important; } }
@media (max-width:600px){ .interior-svcgrid{ grid-template-columns:1fr !important; } .interior-brandgrid{ grid-template-columns:repeat(2,1fr) !important; } }
