/* Front page sections */

/* Hero */
.mf-hero { padding: clamp(3rem, 6vw, 6rem) 0 clamp(3rem, 5vw, 5rem); overflow: hidden; }
.mf-hero__inner { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 3rem; align-items: center; }
.mf-hero h1 { margin-bottom: 1.2rem; }
.mf-hero h1 em { font-style: normal; color: var(--mf-orange-deep); }
.mf-hero__actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 1.8rem 0 1.4rem; }
.mf-hero__note { font-size: 0.95rem; color: var(--mf-muted); margin: 0; }
.mf-hero__note strong { color: var(--mf-ink); }

/* Hero print */
.mf-stack { position: relative; padding: 4% 4% 6%; }
.mf-print {
  position: relative; background: var(--mf-white); padding: 10px 10px 12px; transform: rotate(2deg);
  box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mf-print img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.mf-stack:hover .mf-print { transform: rotate(0deg); }
.mf-print__tag {
  position: absolute; left: -8px; bottom: -14px;
  background: var(--mf-orange); color: var(--mf-black);
  font-family: var(--mf-display); font-weight: 700; font-size: 0.78rem;
  padding: 0.45em 0.8em; transform: rotate(-3deg); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

@media (max-width: 900px) {
  .mf-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .mf-stack { max-width: 520px; margin-inline: auto; width: 100%; }
}

/* Services */
.mf-services { padding: 1rem 0 4rem; }
.mf-services__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.mf-tile {
  display: flex; flex-direction: column; text-decoration: none; color: var(--mf-white);
  background: var(--mf-black); border-radius: var(--mf-radius); overflow: hidden;
  transition: transform 0.2s;
}
.mf-tile:hover { transform: translateY(-3px); }
.mf-tile__media { aspect-ratio: 4 / 3; overflow: hidden; }
.mf-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.mf-tile:hover .mf-tile__media img { transform: scale(1.04); }
.mf-tile__body { padding: 1.2rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.mf-tile h3 { margin: 0; font-size: 1.05rem; }
.mf-tile p { margin: 0; font-size: 0.92rem; color: rgba(255, 255, 255, 0.72); }
.mf-tile__meta {
  margin-top: auto; padding-top: 0.8rem; display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem;
  font-family: var(--mf-display); font-weight: 600; font-size: 0.82rem; color: var(--mf-orange);
}
.mf-tile__meta .mf-arrow::after { font-size: 1.1rem; }
.mf-tile--orange { background: var(--mf-orange); color: var(--mf-black); }
.mf-tile--orange p { color: rgba(0, 0, 0, 0.7); }
.mf-tile--orange .mf-tile__meta { color: var(--mf-black); }

@media (max-width: 1000px) { .mf-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mf-services__grid { grid-template-columns: 1fr; } }

/* Copies band */
.mf-copies { background: var(--mf-orange); color: var(--mf-black); padding: 2.5rem 0; }
.mf-copies__inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 2rem 3rem; align-items: center; }
.mf-copies .mf-eyebrow { color: var(--mf-black); }
.mf-copies h2 { margin: 0; font-size: clamp(1.4rem, 2.6vw, 2rem); }
.mf-copies p:last-child { margin: 0; font-size: 1.05rem; }
@media (max-width: 860px) { .mf-copies__inner { grid-template-columns: 1fr; } }

/* Restoration */
.mf-restore { background: var(--mf-black); color: var(--mf-white); padding: 5rem 0; }
.mf-restore__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.mf-restore__media { position: relative; }
.mf-restore__media::before {
  content: ""; position: absolute; inset: 14px -14px -14px 14px; background: var(--mf-orange); z-index: 0;
}
.mf-restore__media img { position: relative; z-index: 1; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.mf-restore .mf-eyebrow { color: var(--mf-orange); }
.mf-restore p { color: rgba(255, 255, 255, 0.78); max-width: 32rem; }
.mf-restore__actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.6rem; }
@media (max-width: 860px) {
  .mf-restore__inner { grid-template-columns: 1fr; gap: 3rem; }
}

/* Visit (hours card comes from pages.css) */
.mf-visit { padding: 5rem 0; }
.mf-visit__inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 3rem; align-items: start; }
.mf-visit address { font-style: normal; font-size: 1.1rem; margin: 1.5rem 0; line-height: 1.6; }
.mf-visit address a { text-decoration: none; font-weight: 600; }
.mf-visit address a:hover { color: var(--mf-orange-deep); }
.mf-visit p { max-width: 32rem; color: var(--mf-muted); }
@media (max-width: 860px) {
  .mf-visit__inner { grid-template-columns: 1fr; }
}
