:root {
  --accent: #E83422;          /* logo red: buttons, links on dark */
  --accent-deep: #801D13;     /* darker red: links on light backgrounds */
  --accent-glow: rgba(232, 52, 34, 0.55);
  --accent-halo: rgba(232, 52, 34, 0.4);
  --accent-soft: rgba(232, 52, 34, 0.26);
}

html { background: #000000; }
body { margin: 0; background: #000000; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
img[width][height] { height: auto; }
a { color: var(--accent-deep); }
a:hover { opacity: 0.85; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #3B82F6; outline-offset: 3px;
}
[hidden] { display: none !important; }

/* header nav */
.fto-nav { display: flex; align-items: center; gap: 26px; }
.fto-menu { display: none; }
@media (max-width: 880px) { .fto-nav { display: none; } .fto-menu { display: inline-flex; } }
@media (min-width: 881px) { #mobile-menu { display: none !important; } }

/* intro animations */
@keyframes ftoRise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ftoFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ftoAppear { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: scale(1); } }
@keyframes ftoBreathe { 0%, 100% { opacity: .45; transform: scale(1); } 50% { opacity: .95; transform: scale(1.3); } }
.fto-rise { animation: ftoRise 1.1s cubic-bezier(.2,.7,.2,1) both; }
.fto-fade { animation: ftoFade 1.8s ease .6s both; }
.fto-appear { animation: ftoAppear 1.2s cubic-bezier(.2,.7,.2,1) 1.5s both; }
.fto-breathe { animation: ftoBreathe 5s ease-in-out 2.7s infinite; }
@media (prefers-reduced-motion: reduce) { .fto-rise, .fto-fade, .fto-appear, .fto-breathe { animation: none; } }

/* forms */
form button[type="submit"]:disabled { opacity: 0.6; cursor: wait; }
.form-status:empty { display: none; }
.form-status.ok { color: #1E6B34; font-weight: 600; }
.form-status.err { color: #B3261E; font-weight: 600; }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #B3261E !important; }

/* instagram tiles */
.ig-tile { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; background: #E8E8ED; }
.ig-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.ig-tile:hover img { transform: scale(1.04); }
.ig-tile .ig-badge { position: absolute; right: 12px; top: 12px; width: 28px; height: 28px; border-radius: 50%;
  background: rgba(0,0,0,.55); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
