/* b2 — Street Photo: black, white, caution yellow. Full-bleed duotone photography, tape marquee, counters. */
:root {
  --fy-bg: #0b0b0b; --fy-surface: #151515; --fy-surface-2: #1f1f1f; --fy-text: #f5f5f5; --fy-muted: #b3b3b3; --fy-border: #2b2b2b;
  --fy-primary: #ffd60a; --fy-primary-ink: #0b0b0b; --fy-accent: #ffd60a; --fy-accent-ink: #0b0b0b; --fy-ok: #7ee787;
  --fy-radius: 2px; --fy-radius-lg: 4px; --fy-shadow: 0 10px 30px rgba(0,0,0,.5); --fy-shadow-lg: 0 30px 80px rgba(0,0,0,.7);
  --fy-font-display: 'Anton', Impact, sans-serif; --fy-font-body: 'Work Sans', system-ui, sans-serif;
  --fy-header-bg: #0b0b0b; --fy-header-text: #f5f5f5; --fy-footer-bg: #000000; --fy-footer-text: #bdbdbd;
  --fy-hero-bg: #0b0b0b; --fy-hero-text: #f5f5f5; --fy-cta-bg: #ffd60a; --fy-cta-text: #0b0b0b; --fy-star: #ffd60a;
}
h1, h2, h3 { font-weight: 400; text-transform: uppercase; letter-spacing: .01em; }
h1 { font-size: clamp(3rem, 8vw, 7.5rem); line-height: .95; }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.6rem); letter-spacing: .02em; }
.fy-kicker { color: var(--fy-accent); }
.fy-btn { border-radius: 2px; text-transform: uppercase; letter-spacing: .06em; }
.fy-btn--light { color: #0b0b0b; }
.fy-btn--ghost { color: var(--fy-text); }
.fy-card { background: var(--fy-surface); border-color: var(--fy-border); }
.fy-section--alt { background: var(--fy-surface); }
.fy-header--bold { border-bottom: 3px solid var(--fy-accent); }
.fy-header .fy-logo__word span { color: var(--fy-accent); }
.fy-nav__sub { background: var(--fy-surface); }
.fy-nav__sub a:hover { background: var(--fy-surface-2); }
.fy-field input, .fy-field select, .fy-field textarea { background: #0b0b0b; color: var(--fy-text); border-color: #3a3a3a; }
.fy-form-card, .fy-side-card, .fy-faq__item, .fy-step, .fy-served__col { background: var(--fy-surface); }
.fy-popin__panel { background: #151515; color: var(--fy-text); }
.fy-popin__close { background: var(--fy-surface-2); }
.fy-area-card ul a, .fy-tag-list--static li span, .fy-highlights li, .fy-badge, .fy-cred { background: var(--fy-surface-2); border-color: var(--fy-border); }
.fy-area-card__icon { background: var(--fy-accent); color: #0b0b0b; }
.fy-content blockquote { background: var(--fy-surface); }
.fy-sticky__btn { background: var(--fy-surface); color: var(--fy-text); }
.fy-topbar, .fy-trust { background: var(--fy-surface); }

/* hero */
.b2-hero { min-height: 96vh; display: flex; align-items: flex-end; }
.b2-hero .fy-hero__inner { padding: clamp(140px, 20vw, 260px) 0 clamp(50px, 8vw, 100px); }
.b2-title { max-width: 1100px; }
.b2-hero .fy-hero__sub { font-size: 1.25rem; font-weight: 500; }
@media (max-width: 767px) { .b2-hero { min-height: 0; } }
.b2-tape { background: var(--fy-accent); color: #0b0b0b; transform: rotate(-1.2deg); margin: -18px 0 10px; }
.b2-tape .fy-marquee__track span { font-family: var(--fy-font-display); font-size: 1.2rem; letter-spacing: .06em; }
.b2-tape .fy-marquee { padding: 12px 0; }
.b2-counters { padding: 24px 0 10px; }
.b2-counters .fy-stat b { font-family: var(--fy-font-display); font-size: clamp(2.6rem, 6vw, 4.6rem); color: var(--fy-accent); }

/* strips */
.fy-strips { margin: 10px 0 0; border-top: 3px solid var(--fy-accent); }
.fy-strip { border-bottom: 1px solid var(--fy-border); }
.fy-strip__body h3 { font-size: clamp(1.8rem, 4vw, 3rem); }
.fy-strip__num { color: var(--fy-accent); }

/* read section */
.b2-prose h2 { display: inline-block; background: var(--fy-accent); color: #0b0b0b; padding: 4px 12px; font-size: 1.4rem; }
.b2-prose > p:first-child { font-size: 1.2rem; }
.b2-pull { background: var(--fy-accent); color: #0b0b0b; padding: 26px; margin-bottom: 18px; }
.b2-pull p { font-family: var(--fy-font-display); font-size: 1.5rem; line-height: 1.2; text-transform: uppercase; margin: 12px 0; }
.b2-pull footer { font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.b2-pull .fy-stars { color: #0b0b0b; }
.b2-props { display: grid; gap: 12px; }
.b2-props .fy-card { padding: 18px; }

/* polaroids */
.b2-dark { background: #000; }
.b2-polaroids { display: flex; flex-wrap: wrap; gap: 26px; justify-content: center; }
.fy-review--polaroid { background: #fff; color: #0b0b0b; border: 0; padding: 18px 18px 24px; width: min(340px, 100%); transform: rotate(-2deg); box-shadow: 0 30px 60px rgba(0,0,0,.6); }
.fy-review--polaroid:nth-child(2) { transform: rotate(1.5deg) translateY(14px); }
.fy-review--polaroid:nth-child(3) { transform: rotate(-1deg); }
.fy-review--polaroid blockquote p { font-size: .98rem; }
.fy-review--polaroid cite small, .fy-review--polaroid .fy-review__src { color: #555; }
.b2-peers { margin-top: 30px; }
.b2-peers .fy-review { border: 1px solid var(--fy-accent); }

/* steps */
.b2-steps .fy-step__num { font-family: var(--fy-font-display); font-size: 3rem; color: var(--fy-accent); }

/* interior */
.ph-photo .fy-crumbs { color: rgba(255,255,255,.75); }
.ph-photo .fy-hero__title { font-size: clamp(2.6rem, 6.5vw, 5.8rem); }
.fy-content h2 { display: inline-block; background: var(--fy-accent); color: #0b0b0b; padding: 4px 12px; font-size: 1.35rem; }
.fy-content h3 { color: var(--fy-accent); }
.fy-callout { background: var(--fy-accent); color: #0b0b0b; border-radius: 0; }
.fy-callout .fy-btn--accent { background: #0b0b0b; color: #fff; }
.b2-band { background: var(--fy-accent); color: #0b0b0b; }
.b2-band .fy-btn--accent { background: #0b0b0b; color: #fff; }
.b2-band .fy-btn--ghost { color: #0b0b0b; }
.b2-band .fy-cta-band__fine { color: #0b0b0b; }
.fy-popin__panel { border-left: 8px solid var(--fy-accent); }
.fy-footer { border-top: 3px solid var(--fy-accent); }
