/* Strong Loft — Miami butt-stiff deco. Coral, midnight, Bodoni. */
:root {
  --stro-mid: #0a1022;
  --stro-coral: #e56b6f;
  --stro-chrome: #d7deea;
  --stro-gold: #e6c56a;
  --stro-ink: #eef2f8;
  --stro-mute: #9aa6bc;
  --stro-display: "Bodoni MT", Didot, "Times New Roman", serif;
  --stro-body: "Futura", "Century Gothic", "Gill Sans", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.stro-body {
  background: var(--stro-mid);
  color: var(--stro-ink);
  font-family: var(--stro-body);
  font-size: 16.5px;
  line-height: 1.62;
  letter-spacing: 0.01em;
}
body.stro-lock { overflow: hidden; }
a { color: var(--stro-coral); }
a:hover { color: var(--stro-gold); }
h1, h2, h3 {
  font-family: var(--stro-display);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 0 0 0.5em;
  color: #fff;
}
h1 { font-size: clamp(2.1rem, 7vw, 4rem); }
h2 { font-size: clamp(1.15rem, 2.6vw, 1.7rem); }
h3 { font-size: 1.05rem; }
p { margin: 0 0 0.95em; }
.stro-skip { position: absolute; left: -999px; top: 8px; background: var(--stro-coral); color: #fff; padding: 0.4rem; z-index: 40; }
.stro-skip:focus { left: 8px; }
.stro-sun {
  height: 120px;
  background:
    radial-gradient(circle at 80% -20%, rgba(229,107,111,0.45), transparent 42%),
    radial-gradient(circle at 10% 120%, rgba(230,197,106,0.18), transparent 40%),
    var(--stro-mid);
}
.stro-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.7rem 5vw; position: sticky; top: 0; z-index: 22;
  background: rgba(10, 16, 34, 0.88); border-bottom: 1px solid rgba(215,222,234,0.12);
}
.stro-bar.is-glam { border-bottom-color: var(--stro-coral); }
.stro-logo { text-decoration: none; color: #fff; }
.stro-logo b { font-family: var(--stro-display); letter-spacing: 0.22em; font-size: 0.95rem; display: block; }
.stro-logo span { font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--stro-gold); }
.stro-ham {
  width: 44px; height: 36px; background: transparent; border: 1px solid var(--stro-chrome);
  color: var(--stro-chrome); font-family: var(--stro-display); letter-spacing: 0.1em; cursor: pointer;
}
.stro-nav { display: none; }
.stro-nav.is-open {
  display: block; position: absolute; left: 0; right: 0; top: 100%;
  background: #080d1c; padding: 1.1rem 5vw 1.4rem;
}
.stro-nav ul { list-style: none; margin: 0; padding: 0; }
.stro-nav a { color: var(--stro-chrome); text-decoration: none; display: block; padding: 0.42rem 0; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.78rem; }
.stro-nav li.is-here a { color: var(--stro-coral); }
.stro-book {
  display: inline-block; margin-top: 0.8rem; background: var(--stro-coral); color: #fff !important;
  text-decoration: none !important; padding: 0.55rem 0.85rem; letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.7rem;
}
.stro-hero { padding: 0.4rem 5vw 1.6rem; margin-top: -40px; }
.stro-k { letter-spacing: 0.28em; text-transform: uppercase; font-size: 0.68rem; color: var(--stro-gold); margin-bottom: 0.5rem; }
.stro-lede { color: var(--stro-mute); max-width: 40rem; }
.stro-acts { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.1rem; }
.stro-btn {
  display: inline-block; background: #fff; color: var(--stro-mid) !important;
  text-decoration: none !important; padding: 0.7rem 1rem; letter-spacing: 0.14em;
  text-transform: uppercase; font-size: 0.72rem; border: 0; cursor: pointer;
}
.stro-btn--ghost { background: transparent; color: #fff !important; border: 1px solid #fff; }
.stro-btn--wide { width: 100%; }
.stro-deco {
  margin-top: 1.4rem; display: grid; gap: 0.45rem;
  border-left: 3px solid var(--stro-gold); padding-left: 1rem;
}
.stro-deco div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.88rem; letter-spacing: 0.06em; text-transform: uppercase; }
.stro-band { padding: 2.1rem 5vw; }
.stro-band--coral { background: linear-gradient(90deg, #3a1820, #1a1020 60%); }
.stro-band--gold { background: linear-gradient(90deg, #2a2410, var(--stro-mid) 70%); }
.stro-fade { opacity: 0; transform: translateY(18px); transition: 0.65s ease; }
.stro-fade.is-in { opacity: 1; transform: none; }
.stro-nums { display: grid; gap: 0.7rem; }
.stro-num { border-top: 1px solid var(--stro-gold); padding-top: 0.7rem; }
.stro-num strong { display: block; font-family: var(--stro-display); font-size: 1.7rem; letter-spacing: 0.06em; }
.stro-num em { font-style: normal; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--stro-mute); }
.stro-cards { display: grid; gap: 0.85rem; }
.stro-card { background: rgba(255,255,255,0.04); padding: 1.1rem 1.15rem; border-bottom: 2px solid var(--stro-coral); }
.stro-split { display: grid; gap: 1.4rem; }
.stro-quote { font-family: var(--stro-display); font-size: clamp(1.2rem, 2.6vw, 1.75rem); letter-spacing: 0.03em; text-transform: none; font-style: italic; }
.stro-cite { letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.7rem; color: var(--stro-gold); }
.stro-crew article { padding: 1rem 0; border-top: 1px solid rgba(215,222,234,0.12); }
.stro-job { letter-spacing: 0.18em; text-transform: uppercase; font-size: 0.68rem; color: var(--stro-coral); margin: 0 0 0.45rem; }
.stro-faq details { border-bottom: 1px solid rgba(215,222,234,0.12); padding: 0.8rem 0; }
.stro-faq summary { cursor: pointer; font-family: var(--stro-display); letter-spacing: 0.06em; text-transform: uppercase; list-style: none; }
.stro-faq summary::-webkit-details-marker { display: none; }
.stro-rate { display: grid; grid-template-columns: 1fr auto; gap: 0.3rem 1rem; padding: 0.9rem 0; border-bottom: 1px solid rgba(215,222,234,0.12); }
.stro-rate p { grid-column: 1 / -1; margin: 0; color: var(--stro-mute); }
.stro-usd { font-family: var(--stro-display); color: var(--stro-gold); letter-spacing: 0.06em; }
.stro-form { background: rgba(255,255,255,0.04); padding: 1.15rem; border: 1px solid rgba(215,222,234,0.14); }
.stro-fields { display: grid; gap: 0.75rem; }
.stro-field label { display: block; letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.68rem; color: var(--stro-gold); margin-bottom: 0.22rem; }
.stro-field input, .stro-field select, .stro-field textarea {
  width: 100%; background: transparent; border: 0; border-bottom: 1px solid var(--stro-chrome);
  color: #fff; padding: 0.45rem 0; font: inherit;
}
.stro-wide { grid-column: 1 / -1; }
.stro-ul { list-style: none; margin: 0; padding: 0; }
.stro-ul li { padding: 0.38rem 0; border-bottom: 1px dotted rgba(215,222,234,0.14); }
.stro-log a { display: block; padding: 0.95rem 0; border-bottom: 1px solid rgba(215,222,234,0.12); text-decoration: none; color: inherit; }
.stro-log time { display: block; letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.68rem; color: var(--stro-gold); }
.stro-clock { list-style: none; margin: 0; padding: 0; font-size: 0.88rem; }
.stro-clock li { display: flex; justify-content: space-between; padding: 0.25rem 0; }
.stro-clock li.is-shut { opacity: 0.4; }
.stro-end { padding: 2.1rem 5vw 1.1rem; background: #070b18; }
.stro-end h2 { font-size: 0.85rem; color: var(--stro-gold); }
.stro-end a { color: var(--stro-coral); }
.stro-end__grid { display: grid; gap: 1.2rem; }
.stro-end ul { list-style: none; margin: 0; padding: 0; }
.stro-fine { margin-top: 1.2rem; font-size: 0.78rem; color: var(--stro-mute); letter-spacing: 0.08em; }
address { font-style: normal; }
@media (min-width: 1080px) {
  .stro-nums { grid-template-columns: repeat(3, 1fr); }
  .stro-cards { grid-template-columns: 1fr 1fr; }
  .stro-split { grid-template-columns: 1.1fr 0.9fr; }
  .stro-fields { grid-template-columns: 1fr 1fr; }
  .stro-end__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; }
  .stro-ham { display: none; }
  .stro-nav { display: flex !important; position: static; background: none; padding: 0; align-items: center; gap: 0.75rem; }
  .stro-nav ul { display: flex; flex-wrap: wrap; gap: 0.75rem; }
  .stro-nav a { padding: 0; font-size: 0.68rem; }
  .stro-book { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) { .stro-fade { opacity: 1; transform: none; } }
