/* Signed-in team bar + inline text editing on the public site */
.editor-bar { position: sticky; top: 0; z-index: 60; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--ink); color: rgba(255,255,255,.85); font-size: 13px; padding: 8px 20px; }
.editor-bar b { color: #fff; font-weight: 500; }
.editor-bar-actions { display: flex; gap: 14px; align-items: center; }
.editor-bar form { margin: 0; }
.editor-btn { font: inherit; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; background: var(--gold); color: #fff; border: 0; border-radius: 4px; padding: 7px 12px; cursor: pointer; }
.editor-btn.on { background: #fff; color: var(--ink); }
.editor-link { color: #fff; text-decoration: underline; }
body.cms-editing .nav { top: 38px; }
.cms-block { outline: 1px dashed rgba(173,138,78,.9); outline-offset: 3px; border-radius: 2px; cursor: text; transition: background .15s; }
.cms-block:hover { background: rgba(228,197,138,.22); }
.cms-block.cms-active { outline: 2px solid var(--gold); background: rgba(255,255,255,.92); color: var(--ink); }
.hero .cms-block.cms-active, .band .cms-block.cms-active, .cta-bar .cms-block.cms-active, .p-hero .cms-block.cms-active, footer .cms-block.cms-active { background: rgba(0,0,0,.55); color: #fff; }
.cms-toolbar { position: absolute; z-index: 300; display: flex; align-items: center; gap: 4px; background: var(--ink); border-radius: 6px; padding: 5px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.cms-toolbar[hidden] { display: none; }
.cms-toolbar button { font: 13px var(--sans); color: #fff; background: transparent; border: 0; border-radius: 4px; padding: 7px 10px; cursor: pointer; }
.cms-toolbar button:hover { background: rgba(255,255,255,.12); }
.cms-toolbar .save { background: var(--gold); }
.cms-toolbar .sep { width: 1px; height: 20px; background: rgba(255,255,255,.25); margin: 0 4px; }
.cms-flash { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 400; background: var(--ink); color: #fff; padding: 11px 18px; border-radius: 6px; font-size: 14px; }

/* Flash messages + forms */
.flash { padding: 12px 20px; font-size: 14px; text-align: center; }
.flash-notice { background: #e5f2ea; color: #1d6b43; }
.flash-alert { background: #fbecec; color: #8a2e2e; }
.form-errors { background: #fbecec; color: #8a2e2e; border-radius: var(--radius); padding: 10px 14px; font-size: 14px; margin-bottom: 14px; }
.inline-form { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.inline-form input[type=email] { flex: 1; min-width: 200px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 6px; font: inherit; }
.steps span.on { color: var(--ink); border-bottom-color: var(--gold); }
.confirm { padding: 72px 0 96px; }
.confirm-sheet { margin: 0 auto; }
.demo-note { background: #fff6dc; color: #8a6626; font-size: 13px; border-radius: 6px; padding: 10px 12px; margin-bottom: 14px; }
.pay-btn:disabled { opacity: .55; cursor: not-allowed; }
.button_to { margin: 0; }
.small-link { font-size: 14px; color: var(--muted); align-self: center; }
.confirm-sheet .success { padding: 30px 32px 34px; }
.built-by { margin-top: 14px; text-align: right; font-size: 10px; letter-spacing: .4px; color: rgba(255,255,255,.28); }
.built-by a { display: inline; padding: 0; color: inherit; text-decoration: none; }
.built-by a:hover { color: rgba(255,255,255,.6); }

/* Mobile polish */
.caption, .lede, .stop p, .band .display, .cta-bar p { text-wrap: pretty; }
.built-by { white-space: nowrap; }
@media (max-width: 960px) {
  .nav .wrap { gap: 12px; }
  .nav .nav-cta { margin-left: auto; }
  .row2 { gap: 0; }
  /* 16px stops iOS Safari from zooming into a field on tap */
  .field input, .field select, .field textarea, .inline-form input[type=email], .search input { font-size: 16px; }
}
@media (max-width: 560px) {
  .carousel { padding: 0 16px 8px; scroll-padding-inline: 16px; }
  .logos { gap: 22px; flex-wrap: nowrap; }
  .logos img { height: 52px; max-width: 30%; }
  .steps { padding: 0 12px; font-size: 10px; letter-spacing: .8px; }
  .steps span { white-space: nowrap; padding: 13px 2px; }
  .sheet-head, .sheet-body { padding-left: 20px; padding-right: 20px; }
  .modal { padding: 24px 10px; }
}
.apply-form { padding: 34px 36px 28px; }
.apply-form .row2 { gap: 16px; }
.apply-form .btn { margin-top: 8px; }
@media (max-width: 560px) { .apply-form { padding: 24px 20px 20px; } .apply-form .row2 { gap: 0; } }

/* Phone hero: frame the fairway, quieter label, button clear of Safari's toolbar */
@media (max-width: 560px) {
  .hero { min-height: 88svh; height: auto; }
  .hero-bg { background-size: auto 150%; background-position: 56% 88%; }
  .hero-body { margin-top: auto; padding-top: 28svh !important; }
  .hero::after { background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.05) 22%, rgba(0,0,0,.15) 42%, rgba(0,0,0,.78) 78%, rgba(0,0,0,.85) 100%); }
  .hero-top { padding: 22px 0; }
  .wordmark { font-size: 26px; letter-spacing: 4px; }
  .hero-body { gap: 18px; padding: 24px 20px calc(36px + env(safe-area-inset-bottom)); }
  .hero .presents { font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-soft); margin-bottom: 12px; }
  .hero h1 { font-size: 62px; line-height: .95; }
  .hero .side p { font-size: 15px; line-height: 1.55; margin-bottom: 20px; color: rgba(255,255,255,.88); }
  .hero .btn-glass { width: 100%; padding: 16px 20px; background: rgba(255,255,255,.12); }
}
