/* Own-hosted forms (onboarding, work-with-us). Base = the /start form stylesheet (Shoot Plan standard, form/bluu-form.css),
   snapshot of 9 Oct 2026 with __ENDPOINT__ resolved to the same origin, plus the extra components these forms need. */
/* Bluu application form, Shoot Plan standard (G, 8 Oct 2026: one look across every Bluu app and page).
   Tokens copied verbatim from ~/code/bluu-shoot-app/handover/mockup/src/css_tokens.css (same as the Bluu CRM).
   Fonts are the Shoot Plan ones (G picked "Exact Shoot Plan fonts"), served by the lead service at /form/static.
   Motion keeps the house SOFT Bezier curves. Everything is scoped under .bf; the only page-level rule recolours the
   page behind the form, and only on a page that contains the form. */
@font-face{font-family:"BMH Display";src:url(/form/static/archivo-expanded.woff2) format("woff2");font-weight:600 900;font-display:swap}
@font-face{font-family:"BMH Body";src:url(/form/static/inter.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"BMH Mono";src:url(/form/static/source-code-pro.woff2) format("woff2");font-weight:400 600;font-display:swap}

.bf{--bg:#F4F4F3;--card:#FFFFFF;--card2:#F9F9F8;--text:#111111;--muted:#5E5E5B;--faint:#8A8A86;--line:#E3E3E0;
  --accent:#C8692A;--accent-fill:#FA8334;--accent2:#E5B440;--accent-soft:#FEEBDD;--grey-soft:#ECECEA;--red:#C93A3A;--red-soft:#FBE3E3;
  --grad:linear-gradient(135deg,#FA8334 0%,#F29A38 45%,#E5B440 100%);--on-grad:#140A02;--glow:250,131,52;--glow2:229,180,64;
  --shadow:0 1px 2px rgba(0,0,0,.05),0 6px 20px rgba(0,0,0,.05);
  --f-display:"BMH Display","Archivo",system-ui,sans-serif;--f-body:"BMH Body",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-mono:"BMH Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --bf-ease:cubic-bezier(.33,0,.12,1);--bf-glide:cubic-bezier(.65,0,.35,1);--bf-drift:cubic-bezier(.45,0,.55,1);--bf-silk:cubic-bezier(.76,0,.24,1);
  color-scheme:light;background:var(--card);color:var(--text);max-width:600px;margin:0 auto;padding:30px 28px 32px;border-radius:26px;
  box-shadow:var(--shadow);position:relative;box-sizing:border-box;min-height:420px;font:16px/1.45 var(--f-body);-webkit-font-smoothing:antialiased;text-align:left}
@media (prefers-color-scheme:dark){.bf{--bg:#0A0A0A;--card:#141414;--card2:#1B1B1B;--text:#F2F2F0;--muted:#A3A3A0;--faint:#75756F;--line:#262626;
  --accent:#FCA871;--accent-soft:#2A1A0E;--grey-soft:#1F1F1F;--red:#F07171;--red-soft:#3A1515;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.3);color-scheme:dark}}
body:has(#bluu-form),body:has(#bluu-form) .typeform-section{background:#F4F4F3!important}
@media (prefers-color-scheme:dark){body:has(#bluu-form),body:has(#bluu-form) .typeform-section{background:#0A0A0A!important}}
.bf *{box-sizing:border-box;font-family:inherit}

/* Header: logo (colour on light, white on dark), then the progress bar */
.bf-brand{display:flex;justify-content:center;margin:0 0 22px}
.bf-brand img{height:34px;width:auto;display:block}
.bf-brand .bf-logo-d{display:none}
@media (prefers-color-scheme:dark){.bf-brand .bf-logo-l{display:none}.bf-brand .bf-logo-d{display:block}}
.bf-bar{height:8px;background:var(--grey-soft);border-radius:999px;margin-bottom:28px;position:relative;overflow:hidden}
.bf-bar-fill{display:block;height:100%;width:0;border-radius:999px;position:relative;overflow:hidden;background:var(--grad);transition:width 1s var(--bf-glide)}
.bf-bar-shine{position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%);
  transform:translateX(-100%);animation:bf-shine 3.2s var(--bf-drift) infinite}

/* Type: mono eyebrow, display title (uppercase when short), body question text */
.bf .bf-kicker{font-family:var(--f-mono)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  color:var(--accent)!important;margin:0 0 8px!important;line-height:1.45!important}
.bf .bf-kicker.bf-kicker-long{font-family:var(--f-body)!important;font-size:16px!important;letter-spacing:0!important;text-transform:none!important}
.bf h2.bf-title{font-family:var(--f-display)!important;font-weight:800!important;font-size:clamp(23px,5.6vw,30px)!important;line-height:1.12!important;
  letter-spacing:.005em!important;text-transform:uppercase!important;color:var(--text)!important;margin:0 0 10px!important;outline:none}
.bf h2.bf-title-long{font-family:var(--f-body)!important;font-size:clamp(19px,4.4vw,21px)!important;font-weight:650!important;line-height:1.38!important;
  letter-spacing:-.005em!important;text-transform:none!important}
.bf p.bf-desc{font-family:var(--f-body)!important;font-weight:400!important;font-size:16.5px!important;line-height:1.5!important;color:var(--muted)!important;margin:0 0 18px!important;letter-spacing:0!important}

/* Answers: soft cards, accent outline when chosen, the letter square fills with the gradient and a tick.
   No size or shape change on tap (G, 8 Oct: the boxes resizing on click looked like a glitch). */
.bf-choices{display:flex;flex-direction:column;gap:10px;margin:14px 0 18px}
.bf .bf-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;text-align:left;padding:14px 16px;position:relative;overflow:hidden;
  border:1px solid var(--line);background:var(--card2);color:var(--text);border-radius:16px;font-family:var(--f-body);font-weight:600;font-size:16.5px;line-height:1.35;
  cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .4s var(--bf-glide),border-color .4s var(--bf-glide),box-shadow .5s var(--bf-glide)}
@media (hover:hover) and (pointer:fine){.bf .bf-choice:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}}
.bf .bf-choice[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.bf .bf-choice.bf-flash{animation:bf-flash .8s var(--bf-ease)}
.bf-key{flex:0 0 auto;position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;
  background:var(--grey-soft);font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--muted);
  transition:background .4s var(--bf-glide)}
.bf-key b{font-weight:600;transition:opacity .25s var(--bf-glide)}
.bf-key svg{position:absolute;width:16px;height:16px;fill:none;stroke:var(--on-grad);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:24;stroke-dashoffset:24;opacity:0}
.bf-choice[aria-checked=true] .bf-key{background:var(--grad)}
.bf-choice[aria-checked=true] .bf-key b{opacity:0}
.bf-choice[aria-checked=true] .bf-key svg{opacity:1;animation:bf-draw .5s .1s var(--bf-silk) forwards}
.bf-label{flex:1}
.bf-ripple{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(var(--glow),.32) 0%,rgba(var(--glow2),.2) 45%,transparent 70%);animation:bf-ripple .9s var(--bf-glide) forwards}

/* Contact details (the Shoot Plan field: bold sentence-case label, soft input) */
.bf-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:20px}
.bf-field{display:flex;flex-direction:column;gap:7px}
.bf-field:nth-of-type(3),.bf-field:nth-of-type(4),.bf-field:nth-of-type(5){grid-column:1/-1}
.bf .bf-field label{font-family:var(--f-body);font-size:16px;font-weight:650;color:var(--text);letter-spacing:0;line-height:1.3}
.bf-req{color:var(--accent);font-weight:700}
.bf .bf-field input{width:100%;min-height:56px;padding:12px 16px;font-family:var(--f-body);font-size:18px;font-weight:500;color:var(--text);background:var(--card2);
  border:1px solid var(--line);border-radius:14px;outline:none;transition:border-color .35s var(--bf-glide),box-shadow .35s var(--bf-glide);-webkit-appearance:none}
.bf .bf-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.bf .bf-field input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft)}
.bf-err{color:var(--red);font-size:14.5px;font-weight:600;margin:0}
.bf-err:empty{display:none}
.bf-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Buttons: the Shoot Plan primary (gradient, dark ink) and a quiet Back */
.bf-nav{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.bf .bf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 26px;position:relative;overflow:hidden;
  background:var(--grad);color:var(--on-grad)!important;border:0;border-radius:16px;font-family:var(--f-body);font-weight:700;font-size:17px;letter-spacing:0;
  cursor:pointer;text-decoration:none!important;margin-left:auto;box-shadow:0 2px 8px rgba(var(--glow),.22);
  transition:box-shadow .45s var(--bf-glide),filter .35s var(--bf-glide);-webkit-tap-highlight-color:transparent}
.bf .bf-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover) and (pointer:fine){.bf .bf-submit:hover{box-shadow:0 6px 18px rgba(var(--glow),.32);filter:brightness(1.03)}}
.bf .bf-submit.bf-flash{animation:bf-flash-btn .9s var(--bf-ease)}
.bf .bf-submit[disabled]{opacity:.6;cursor:wait}
.bf .bf-back{background:transparent;border:1px solid var(--line);color:var(--text);font-family:var(--f-body);font-size:16px;font-weight:600;cursor:pointer;
  min-height:48px;padding:0 18px;border-radius:14px;transition:border-color .35s var(--bf-glide)}
@media (hover:hover){.bf .bf-back:hover{border-color:var(--muted)}}
.bf .bf-choice:focus-visible,.bf .bf-submit:focus-visible,.bf .bf-back:focus-visible,.bf .bf-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.bf-status{grid-column:1/-1;color:var(--red);margin:0;font-weight:600}

/* Calendar with a neutral loading placeholder */
.bf-stage{position:relative}
.bf-cal{height:720px;min-width:280px;margin-top:14px;position:relative;border-radius:18px;overflow:hidden;background:var(--card2);border:1px solid var(--line)}
.bf-cal iframe{width:100%!important;height:100%!important;border:0}
.bf-skel{position:absolute;inset:0;padding:26px;background:var(--card2);z-index:2}
.bf-skel-bar{height:16px;border-radius:8px;margin-bottom:14px}
.bf-skel-bar.w40{width:40%}
.bf-skel-bar.w60{width:60%}
.bf-skel-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:26px}
.bf-skel-grid span{aspect-ratio:1;border-radius:50%}
.bf-skel-bar,.bf-skel-grid span{background:linear-gradient(90deg,var(--grey-soft),var(--accent-soft),var(--grey-soft));background-size:200% 100%;animation:bf-skel 1.8s var(--bf-drift) infinite}
.bf-skel p{color:var(--muted);font-weight:500;margin-top:22px;text-align:center}

/* Screened-out ending: Shoot Plan cards */
.bf-cards{display:flex;flex-direction:column;gap:10px;margin:6px 0 22px}
.bf a.bf-card{display:flex;flex-direction:column;gap:7px;padding:18px 20px;border-radius:18px;background:var(--card2);border:1px solid var(--line);
  color:var(--text)!important;text-decoration:none!important;transition:transform .4s var(--bf-ease),border-color .4s var(--bf-glide)}
@media (hover:hover) and (pointer:fine){.bf a.bf-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}}
.bf-card strong{font-family:var(--f-display);font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.25}
.bf-card span{font-size:16px;font-weight:400;line-height:1.5;color:var(--muted)}
.bf-card .bf-card-cta{font-style:normal;font-weight:700;color:var(--accent);font-size:15.5px}
.bf-badge{align-self:flex-start;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px}
.bf-list{margin:2px 0 4px;padding-left:20px;line-height:1.55;font-size:16px;color:var(--muted)}
.bf .bf-ig{margin:0 auto 0 0}

.bf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Entrance and keyframes (house SOFT profile) */
.bf-rise{animation:bf-rise .7s var(--bf-ease) both}
@keyframes bf-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes bf-shine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@keyframes bf-flash{0%{background:color-mix(in srgb,var(--accent-fill) 30%,var(--card2))}100%{background:var(--accent-soft)}}
@keyframes bf-flash-btn{0%{box-shadow:0 0 0 0 rgba(var(--glow),.55)}100%{box-shadow:0 0 0 16px rgba(var(--glow),0)}}
@keyframes bf-ripple{to{transform:scale(30);opacity:0}}
@keyframes bf-draw{to{stroke-dashoffset:0}}
@keyframes bf-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media (max-width:560px){.bf{padding:24px 18px 26px;border-radius:22px}
  .bf-brand{margin-bottom:18px}.bf-brand img{height:30px}
  .bf-cal{height:780px;border-radius:14px}
  .bf-form{grid-template-columns:1fr}.bf-field{grid-column:1/-1}
  .bf .bf-choice{min-height:56px;font-size:16px;padding:13px 14px}}
@media (prefers-reduced-motion:reduce){.bf *,.bf *::after{animation:none!important;transition:none!important}.bf-key svg{stroke-dashoffset:0}}

/* Safety-net Webflow form (see bluu-form.js fallback): never visible, including its success/fail messages */
.w-form:has(form[data-name="Website form fallback"]),form[data-name="Website form fallback"]{display:none!important}

/* ---- extras for the generic form engine ---- */
body{margin:0}
.bf{min-height:0;max-width:640px}
.bf-fields{display:flex;flex-direction:column;gap:24px;margin-top:22px}
.bf-q{display:flex;flex-direction:column;gap:8px;min-width:0}
.bf .bf-q>label,.bf .bf-q>.bf-ql{font-family:var(--f-body);font-size:16.5px;font-weight:650;line-height:1.35;color:var(--text)}
.bf-help{color:var(--muted);font-size:15px;line-height:1.5}
.bf-help p{margin:0 0 8px}
.bf-help em{font-style:italic}
.bf .bf-q input[type=text],.bf .bf-q input[type=email],.bf .bf-q input[type=tel],.bf .bf-q textarea,.bf .bf-other input{width:100%;min-height:56px;padding:12px 16px;
  font-family:var(--f-body);font-size:18px;font-weight:500;color:var(--text);background:var(--card2);border:1px solid var(--line);border-radius:14px;outline:none;
  transition:border-color .35s var(--bf-glide),box-shadow .35s var(--bf-glide);-webkit-appearance:none}
.bf .bf-q textarea{min-height:132px;resize:vertical;line-height:1.45}
.bf .bf-q input:focus,.bf .bf-q textarea:focus,.bf .bf-other input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.bf .bf-q.bf-bad input,.bf .bf-q.bf-bad textarea{border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft)}
.bf-q .bf-choices{margin:4px 0 0}
.bf-yn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.bf-other{margin:2px 0 0 0}
.bf .bf-choice.bf-pic{flex-direction:column;align-items:stretch;gap:0;padding:0;min-height:0}
.bf-pic img{width:100%;height:150px;object-fit:cover;display:block}
.bf-pic .bf-picrow{display:flex;align-items:center;gap:12px;padding:12px 14px}
.bf-picgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bf .bf-choice.bf-ack{align-items:flex-start}
.bf-ack .bf-label small{display:block;font-weight:400;color:var(--muted);font-size:15px;line-height:1.5;margin-top:6px}
.bf-rank{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bf-rank li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);background:var(--card2);border-radius:14px;font-weight:600;font-size:16px}
.bf-rank.bf-unset li{opacity:.7}
.bf-rank .bf-n{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:var(--grey-soft);display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.bf-rank .bf-t{flex:1}
.bf-rank button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:15px}
.bf-rank button[disabled]{opacity:.3;cursor:default}
.bf-link{background:none;border:0;padding:6px 0;color:var(--accent);font-family:var(--f-body);font-weight:650;font-size:15.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.bf-files{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.bf-file{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card2);font-size:15px}
.bf-file .bf-fn{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-file .bf-fs{color:var(--muted);font-family:var(--f-mono);font-size:12.5px}
.bf-file button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1}
.bf-file .bf-prog{height:4px;border-radius:99px;background:var(--grey-soft);flex:1 1 100%;overflow:hidden;display:none}
.bf-file.bf-up{flex-wrap:wrap}.bf-file.bf-up .bf-prog{display:block}
.bf-prog i{display:block;height:100%;width:0;background:var(--grad)}
.bf-lead{margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.bf-skip{display:block;margin:14px auto 0}
.bf-cal{height:700px}
.bf-end .bf-title{margin-bottom:14px}
@media (max-width:560px){.bf-picgrid{grid-template-columns:1fr}.bf-pic img{height:170px}.bf-cal{height:760px}}

/* Onboarding form in Bluu blue (G, 6 Nov 2026): brand Horizon #40839F and Sky #7DCDEE. Other forms keep the orange above.
   --accent is a darker Horizon for text on white (6.1:1; Horizon itself is 4.2:1). */
.bf[data-slug="onboarding"]{--accent:#2F6980;--accent-fill:#40839F;--accent2:#7DCDEE;--accent-soft:#E3F2F8;
  --grad:linear-gradient(135deg,#40839F 0%,#7DCDEE 100%);--on-grad:#06202B;--glow:64,131,159;--glow2:125,205,238}
@media (prefers-color-scheme:dark){.bf[data-slug="onboarding"]{--accent:#7DCDEE;--accent-soft:#10242D}}
