/* The page owns the scene; this is the briefing's single, continuous scroller. */
.negrito-briefing {
  --nb-ink:#242321; --nb-muted:#726c65; --nb-orange:#ef4c27;
  width:100%; height:100%; min-height:0; max-height:100%;
  display:flex; flex-direction:column; overflow:hidden;
  color:var(--nb-ink); background:#eeede9; font-family:var(--font,'DM Sans',Arial,sans-serif);
  padding:clamp(22px,4vh,44px) clamp(24px,7vw,116px); box-sizing:border-box;
}
.negrito-briefing *, .negrito-briefing *::before, .negrito-briefing *::after { box-sizing:border-box; }
.nb-top { display:flex; justify-content:space-between; align-items:center; gap:20px; flex:none; }
.nb-eyebrow { font-size:11px; line-height:1.5; font-weight:550; letter-spacing:.13em; color:var(--nb-muted); }
.nb-progress-copy { font-size:12px; letter-spacing:.06em; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--nb-muted); }
.nb-progress { appearance:none; border:0; height:1px; width:100%; margin:17px 0 0; flex:none; background:#24232120; color:var(--nb-orange); }
.nb-progress::-webkit-progress-bar { background:#24232120; }
.nb-progress::-webkit-progress-value { background:var(--nb-orange); transition:width 450ms; }
.nb-progress::-moz-progress-bar { background:var(--nb-orange); }
.nb-form { display:flex; flex-direction:column; flex:1; min-height:0; margin:0; }
.nb-stage { flex:1; min-height:0; overflow-y:auto; overscroll-behavior-y:contain; overflow-anchor:none; -webkit-overflow-scrolling:touch; touch-action:pan-y pinch-zoom; padding:clamp(40px,7vh,82px) 8px 32px; margin:0 -8px; scrollbar-width:thin; scrollbar-color:#24232140 transparent; scroll-padding:24px; }
.nb-stage:focus-visible { outline:1px solid #24232160; outline-offset:3px; }
.nb-question { border:0; margin:0; padding:0; min-width:0; position:relative; max-width:1120px; }
.nb-question:not(:last-child) { padding-bottom:clamp(54px,8vh,90px); margin-bottom:clamp(70px,10vh,118px); border-bottom:1px solid #24232120; }
.nb-question-number { position:absolute; top:-26px; left:0; color:var(--nb-muted); font-size:10px; letter-spacing:.12em; font-variant-numeric:tabular-nums; }
.nb-title { display:block; padding:0; max-width:25ch; font-size:clamp(31px,4.2vw,64px); line-height:1.07; letter-spacing:-.05em; font-weight:500; }
.nb-title:focus,.nb-complete-title:focus { outline:none; }
.nb-help { max-width:62ch; margin:18px 0 32px; color:var(--nb-muted); font-size:16px; line-height:1.55; }
.nb-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:22px 28px; max-width:980px; }
.nb-fields-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nb-field { min-width:0; max-width:980px; }
.nb-label { display:block; color:var(--nb-ink); font-size:13px; line-height:1.4; margin-bottom:9px; font-weight:500; }
.nb-control { display:block; width:100%; max-width:100%; min-width:0; min-height:52px; padding:14px 16px; border:1px solid #24232132; border-radius:9px; background:#ffffff36; color:var(--nb-ink); font:inherit; font-size:16px; line-height:1.4; letter-spacing:normal; box-shadow:none; transition:border-color 180ms,background 180ms; scroll-margin:35px; }
select.nb-control { color-scheme:light; padding-right:32px; }
textarea.nb-control { resize:vertical; min-height:110px; max-height:260px; overscroll-behavior:contain; }
.nb-control::placeholder { color:#918a82; opacity:1; }
.nb-control:hover { border-color:#24232170; }
.nb-control:disabled { opacity:.45; cursor:not-allowed; }
.nb-control:focus { border-color:var(--nb-orange); background:#ffffff9c; outline:none; }
.negrito-briefing :is(input,textarea,select,button):focus-visible { outline:2px solid var(--nb-orange); outline-offset:3px; }
.nb-control[aria-invalid="true"] { border-color:#ad3a24; }
.nb-money { display:flex; align-items:center; min-width:0; position:relative; }
.nb-money > span { position:absolute; left:16px; color:var(--nb-muted); font-size:15px; pointer-events:none; }
.nb-money .nb-control { padding-left:45px; font-variant-numeric:tabular-nums; }
.nb-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:980px; }
.nb-choice { display:flex; align-items:center; gap:13px; margin:0; border:1px solid #24232132; border-radius:9px; padding:20px; min-height:67px; cursor:pointer; color:var(--nb-ink); background:#ffffff26; transition:background 180ms,border-color 180ms; }
.nb-choice:hover { border-color:#24232170; }
.nb-choice:has(input:checked) { background:#ef4c270a; border-color:var(--nb-orange); }
.nb-choice input { appearance:auto; accent-color:var(--nb-orange); width:18px; height:18px; min-width:18px; min-height:18px; margin:0; padding:0; border:0; }
.nb-choice > span { font-size:16px; line-height:1.4; }
.nb-revenue-choice { margin-top:18px; padding:13px 0; min-height:46px; border:0; background:transparent; }
.nb-revenue-choice:has(input:checked) { background:transparent; }
.nb-error { grid-column:1/-1; color:#a43520; font-size:13px; line-height:1.4; margin:8px 0 0; }
.nb-error[hidden] { display:none; }
.nb-bottom { flex:none; border-top:1px solid #24232120; padding-top:15px; background:#eeede9; }
.nb-status { font-size:13px; color:#a43520; line-height:1.4; margin:0 0 9px; }
.nb-status:empty { display:none; }
.nb-gesture-hint { color:var(--nb-muted); font-size:12px; line-height:1.45; margin:11px 0 0; }
.nb-actions { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.nb-next,.nb-back { font:inherit; font-size:14px; line-height:1.3; font-weight:550; border-radius:99px; padding:16px 25px; min-height:50px; cursor:pointer; transition:background 180ms,transform 180ms; touch-action:manipulation; }
.nb-next { border:1px solid #242321; background:#242321; color:#eeede9; margin-left:auto; }
.nb-next.nb-next-arrow { display:grid; place-items:center; width:54px; min-width:54px; height:54px; padding:0; }
.nb-next-arrow svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nb-next:hover { background:#403c37; }
.nb-next:active,.nb-back:active { transform:scale(.98); }
.nb-next:disabled,.nb-back:disabled { opacity:.5; cursor:wait; }
.nb-back { border:1px solid #24232132; color:var(--nb-ink); background:transparent; }
.nb-back:hover { background:#24232108; }
.nb-back[hidden] { display:none; }
.nb-complete-stage { padding-top:0; padding-bottom:0; }
.nb-complete { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:100%; max-width:1000px; padding:40px 0; }
.nb-receipt-copy { margin:22px 0 -6px; color:var(--nb-muted); font-size:15px; line-height:1.5; }
.nb-complete-title { max-width:19ch; font-size:clamp(38px,5.2vw,78px); font-weight:500; line-height:1.04; letter-spacing:-.055em; margin:26px 0 24px; }
.nb-complete-copy { color:var(--nb-muted); font-size:clamp(16px,1.4vw,19px); line-height:1.6; max-width:64ch; margin:0 0 28px; }
.nb-preview-notice { max-width:64ch; color:#766352; font-size:12px; line-height:1.55; padding:12px 15px; border-left:2px solid #ad8b64; background:#ad8b640b; margin:0 0 27px; }
.nb-complete .nb-next { margin-left:0; flex:none; }
@media(max-width:640px) {
  .negrito-briefing { padding:21px 24px; }
  .nb-eyebrow { font-size:9px; letter-spacing:.10em; }
  .nb-stage { padding-top:39px; padding-bottom:30px; }
  .nb-title { font-size:clamp(29px,8.4vw,39px); }
  .nb-help { font-size:14px; margin:14px 0 24px; }
  .nb-fields-two,.nb-choice-grid { grid-template-columns:minmax(0,1fr); }
  .nb-fields { gap:18px; }
  .nb-question:not(:last-child) { padding-bottom:48px; margin-bottom:68px; }
  .nb-choice { min-height:57px; padding:15px; }
  .nb-label { margin-bottom:7px; font-size:12px; }
  .nb-control { min-height:49px; padding:12px 13px; }
  .nb-money .nb-control { padding-left:42px; }
  .nb-actions { gap:12px; }
  .nb-next,.nb-back { font-size:12px; min-height:47px; padding:13px 18px; }
  .nb-gesture-hint { font-size:11px; }
  .nb-complete-stage { padding-top:0; padding-bottom:0; }
  .nb-complete { padding:28px 0; }
  .nb-complete-title { font-size:clamp(37px,10vw,51px); }
  .nb-complete-copy { font-size:16px; }
}
@media(max-height:560px) {
  .negrito-briefing { padding-top:14px; padding-bottom:14px; }
  .nb-progress { margin-top:10px; }
  .nb-stage { padding-top:33px; padding-bottom:20px; }
  .nb-title { font-size:clamp(26px,5vh,34px); max-width:none; }
  .nb-help { font-size:13px; margin:10px 0 18px; }
  .nb-label { font-size:12px; margin-bottom:6px; }
  .nb-control { min-height:45px; padding-top:10px; padding-bottom:10px; }
  .nb-fields { gap:13px 20px; }
  .nb-choice { min-height:46px; padding:12px 14px; }
  .nb-choice > span { font-size:14px; }
  .nb-revenue-choice { margin-top:9px; }
  .nb-next,.nb-back { min-height:44px; padding:11px 20px; font-size:12px; }
  .nb-bottom { padding-top:10px; }
  .nb-gesture-hint { font-size:10px; margin-top:7px; }
  .nb-complete-stage { padding-top:0; padding-bottom:0; }
  .nb-complete-title { font-size:clamp(34px,10vh,54px); margin:18px 0; }
  .nb-complete-copy { font-size:15px; margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .negrito-briefing * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .nb-next:active,.nb-back:active { transform:none; }
}

@media(max-width:640px) { .nb-next.nb-next-arrow { width:49px; min-width:49px; height:49px; padding:0; } }
