/* contact — page styles */

.ct { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }

.ct__tel {
  display: block; font-family: var(--display);
  font-weight: 800;
  font-size: clamp(2.4rem, 6vw, 4rem); line-height: 0.95; white-space: nowrap;
}
.ct__tel:hover { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 5px; }
.ct__note { font-size: 0.95rem; color: var(--fg-3); margin-block: 1rem 2.5rem; max-width: 40ch; }


.ct__side { display: flex; flex-direction: column; }
.ct__photo { margin: 0 0 1.5rem; padding: 8px 8px 0; border: 1.5px solid var(--ink); background: var(--paper); max-width: 24rem; }
.ct__photo figcaption { border-top: 1.5px solid var(--ink); margin-top: 8px; padding: 0.55rem 0.15rem; font-size: var(--step--2); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.blk { padding-block: 1.2rem; border-bottom: 1px solid var(--rule-thin); }
.blk:first-child { border-top: 1.5px solid var(--ink); }
.blk__k { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-3); }
.blk__v { font-family: var(--display); font-weight: 700; font-size: var(--step-1); margin-top: 0.3rem; line-height: 1.05; }
.blk__s { font-size: 0.87rem; color: var(--fg-3); margin-top: 0.35rem; }
.blk--hire { background: var(--paper-2); border: 1.5px solid var(--ink); padding: 1.2rem; margin-top: 1.5rem; }
.blk__a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 0.4rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; border-bottom: 1.5px solid var(--ink); padding-bottom: 2px; }

@media (max-width: 880px) { .ct { grid-template-columns: 1fr; } }



.blk__addr { font-style: normal; line-height: 1.3; }
.blk__v a:hover, .blk__s a:hover { text-decoration: underline; text-underline-offset: 3px; }
.blk__s a { font-weight: 700; color: var(--fg); }

/* map */
.mapb { padding-bottom: var(--bay); }
.mapb__frame { border: 1.5px solid var(--ink); background: var(--paper-2); }
.mapb__frame iframe { display: block; filter: grayscale(1) contrast(1.05); }
.mapb__note { margin-top: 0.8rem; font-size: 0.86rem; color: var(--fg-3); }
.mapb__note a { font-weight: 700; color: var(--fg); }
.mapb__note a:hover { text-decoration: underline; text-underline-offset: 3px; }
