/* ==========================================================================
   Contact page only (contact.html) — load after styles.css and inner.css
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,90px);align-items:center}

/* details list */
.details h2{margin:0 0 30px}
.details ul{list-style:none;margin:0;padding:0}
.details li{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}
.details li:first-child{padding-top:0}
.details .ic2{flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#10143a;background:linear-gradient(145deg,#fff2c9,#e8b960);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}
.details .ic2 svg{width:22px;height:22px}
.details b{display:block;margin-bottom:4px;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.details span.v{display:block;font-weight:300;font-size:1.12rem;line-height:1.55}
.details a.v{display:block;font-weight:300;font-size:1.12rem;text-decoration:none;color:var(--ink);transition:color .25s}
.details a.v:hover{color:var(--gold)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* map in a framed card */
.mapbox{position:relative}
.mapbox::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(232,185,96,.55);border-radius:30px;pointer-events:none}
.mapframe{position:relative;width:100%;border-radius:28px;overflow:hidden;height:min(480px,60vw);min-height:420px;background:var(--card);box-shadow:0 34px 60px -26px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.14)}
.mapframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}.mapbox{order:-1}.mapbox::before{inset:14px -8px -14px 8px}.mapframe{height:340px;min-height:0}}
@media(max-width:480px){.actions .btn{flex:1 1 100%;text-align:center}}
