/* Services · Flash Sheet — bone paper, black double-outline frames, oxblood. Signature: items stamp onto the wall. */
.services-a { --bone: #f2ece1; --ink: #161412; --ox: #8e2a23; --wash: #e6dccb; background: var(--bone); color: var(--ink); font: 400 17px/1.55 "Karla", system-ui, sans-serif; }
.services-a ::selection { background: var(--ox); color: var(--bone); }
:where(.services-a) a { color: inherit; }
.fl-top { display: flex; justify-content: space-between; align-items: center; padding: 14px clamp(16px, 4vw, 48px); border-bottom: 3px double var(--ink); }
.fl-name { font: 400 1.4rem/1 "Anton", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.fl-book { font-weight: 700; text-decoration: none; background: var(--ox); color: var(--bone); padding: 10px 16px; border-radius: 2px; }
.fl-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(18px, 3vw, 40px); padding: clamp(28px, 5vw, 64px) clamp(16px, 4vw, 48px); align-items: end; }
@media (max-width: 840px) { .fl-hero { grid-template-columns: 1fr; } }
.fl-hero h1 { font: 400 clamp(3.4rem, 10vw, 8rem)/.86 "Anton", sans-serif; text-transform: uppercase; letter-spacing: .005em; }
.fl-kind { font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: .85rem; margin-top: 14px; color: var(--ox); }
.fl-tag { font-size: 1.15rem; max-width: 40ch; }
.fl-open { display: inline-flex; gap: 8px; align-items: center; font-weight: 700; border: 2px solid var(--ink); padding: 6px 12px; border-radius: 999px; margin-bottom: 18px; }
.fl-open::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #9b958b; }
.fl-open.is-open::before { background: var(--ox); }
.fl-photo { border: 3px solid var(--ink); outline: 3px solid var(--ink); outline-offset: 5px; }
.fl-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fl-sheet { padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 48px); background: var(--wash); border-block: 3px double var(--ink); }
.fl-sheet h2 { font: 400 clamp(2rem, 5vw, 3.4rem)/1 "Anton", sans-serif; text-transform: uppercase; margin-bottom: 26px; }
.fl-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { .fl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fl-grid { grid-template-columns: 1fr; } }
.fl-item a { position: relative; display: grid; grid-template-rows: auto 1fr auto auto; gap: 6px; height: 100%; padding: 22px 20px 18px; text-decoration: none; background: var(--bone);
  border: 3px solid var(--ink); outline: 2px solid var(--ink); outline-offset: -9px; transition: transform .25s cubic-bezier(.16,1,.3,1), background .2s; }
.fl-item a:hover { transform: rotate(-1.2deg) translateY(-3px); background: #fff9ef; }
.fl-num { font: 400 1rem/1 "Anton", sans-serif; color: var(--ox); }
.fl-item h3 { font: 400 1.7rem/1 "Anton", sans-serif; text-transform: uppercase; }
.fl-item p { margin: 0; color: #4b453d; }
.fl-meta { display: flex; justify-content: space-between; align-items: baseline; margin-top: 8px; border-top: 2px solid var(--ink); padding-top: 8px; }
.fl-meta b { font: 400 1.7rem/1 "Anton", sans-serif; }
.fl-pick { font-weight: 700; color: var(--ox); font-size: .9rem; }
@media (prefers-reduced-motion: no-preference) {
  .js-tpl .fl-item[data-reveal]:not(.in) { opacity: 0; transform: scale(1.12) rotate(-3deg); }
  .js-tpl .fl-item[data-reveal] { transition: opacity .35s ease-out, transform .45s cubic-bezier(.16, 1, .3, 1); transition-delay: calc(var(--i) * 80ms); }
}
.fl-info { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); padding: clamp(40px, 6vw, 80px) clamp(16px, 4vw, 48px); align-items: start; }
@media (max-width: 820px) { .fl-info { grid-template-columns: 1fr; } }
.fl-info figure { border: 3px solid var(--ink); }
.fl-info h2 { font: 400 2.2rem/1 "Anton", sans-serif; text-transform: uppercase; margin-bottom: 12px; }
.fl-info dl > div { border-bottom: 1px solid #cbbfa9; }
.fl-info .closed { color: #6b655b; }
.fl-addr { font-weight: 700; margin-top: 18px; }
.fl-acts { display: flex; flex-wrap: wrap; gap: 10px; }
.fl-btn { display: inline-flex; min-height: 48px; align-items: center; padding: 12px 18px; font-weight: 700; text-decoration: none; background: var(--ink); color: var(--bone); border-radius: 2px; }
.fl-btn.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.fl-foot { padding: 24px clamp(16px, 4vw, 48px); border-top: 3px double var(--ink); font-weight: 700; }

.fl-hero h1 { margin-bottom: 6px; }
.fl-acts.hero { margin-top: 22px; }
.fl-btn.big { background: var(--ox); font-size: 1.05rem; padding: 14px 22px; }
