/* ===== SealPal guided mode (Beta 1.5): the timeline, then one screen at a time =====
   On #go the workspace sidebar and top bar step aside (body.gd-focus). Each screen keeps one task, with
   a part directory beside it on desktop and collapsed above it on smaller screens. */

/* ---------- Focus layout ---------- */
body.gd-focus{--gd-frame-w:760px;--gd-gutter:clamp(16px,4vw,64px)}
body.gd-focus .sidebar,body.gd-focus .topbar,body.gd-focus .demo-banner,body.gd-focus .page-footer,body.gd-focus .sec-tabs,body.gd-focus .g-strip,body.gd-focus #g-float{display:none!important}
body.gd-focus .main{margin-left:0}
body.gd-focus .content{max-width:none;padding:0 var(--gd-gutter) 64px}
/* The theme's route-change animation moves the whole content block; a focus page uses its own quieter one. */
body.gd-focus .content>.gd,body.gd-focus .content h1{animation:none!important;filter:none!important}
.gd{--gd-w:var(--gd-frame-w,760px);--gd-ink:var(--ink,#171614);--gd-muted:var(--muted,#55524b);--gd-line:var(--line,rgba(20,18,14,.12));
  --gd-field:rgba(255,255,255,.82);--gd-field-line:rgba(20,18,14,.18);--gd-pale:rgba(21,112,230,.16);--gd-brand:var(--brand,#1570e6);
  --gd-ok:#1f7a4d;--gd-ok-bg:rgba(31,122,77,.1);--gd-warn:#8a5a00;--gd-warn-bg:rgba(255,170,0,.14);--gd-bad:#b3261e;--gd-bad-bg:rgba(179,38,30,.08);
  --gd-blue:#2457a6;--gd-blue-bg:rgba(36,87,166,.09);color:var(--gd-ink)}
html[data-theme=night] .gd{--gd-field:rgba(255,255,255,.07);--gd-field-line:rgba(255,255,255,.22);--gd-pale:rgba(21,112,230,.14);
  --gd-ok:#7fd8a6;--gd-ok-bg:rgba(127,216,166,.12);--gd-warn:#ffcf70;--gd-warn-bg:rgba(21,112,230,.13);--gd-bad:#ff9a8f;--gd-bad-bg:rgba(255,154,143,.12);
  --gd-blue:#9cc0ff;--gd-blue-bg:rgba(156,192,255,.12)}

.gd-top{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:12px;
  max-width:var(--gd-w);margin:0 auto;padding:14px 0 12px;background:linear-gradient(var(--gd-bgtop,rgba(242,238,230,.92)),var(--gd-bgtop,rgba(242,238,230,.92)) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html[data-theme=night] .gd-top{--gd-bgtop:rgba(35,33,31,.9)}
.gd-exit,.gd-lang{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--gd-muted);font-size:14px;padding:8px 6px;border-radius:var(--radius-control)}
.gd-exit:hover,.gd-lang:hover{color:var(--gd-ink)}
.gd-exit svg{width:18px;height:18px}
.gd-lang{justify-self:end;font-weight:600}
.gd-meter{display:grid;gap:6px;text-align:center;min-width:0}
.gd-meter-t{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;font-size:14px}
.gd-meter-t b{font-weight:700}
.gd-meter-t small{color:var(--gd-muted);font-size:12.5px}
.gd-barline{display:block;height:6px;border-radius:var(--radius-control);background:var(--gd-line);overflow:hidden}
.gd-barline>span{display:block;height:100%;border-radius:inherit;background:var(--gd-brand);transition:width .4s ease}

.gd-body{max-width:var(--gd-w);margin:0 auto;padding:18px 0 0}
.gd-body>section{animation:gdIn .35s ease both}
@keyframes gdIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.gd-body>section{animation:none}.gd-barline>span{transition:none}}
.gd-wide{max-width:none}
body.gd-focus:has(.gd-wide),.gd:has(.gd-wide){--gd-frame-w:860px}

.gd-kicker{font-size:13px;letter-spacing:.02em;color:var(--gd-muted);margin:0 0 8px}
.gd h1{font-family:var(--serif,Georgia,serif);font-weight:600;font-size:clamp(1.65rem,4.2vw,2.35rem);line-height:1.25;letter-spacing:-.01em;margin:0 0 10px;outline:none}
.gd h1 .gd-faint{font-family:inherit;font-size:.6em}
.gd-lead{font-size:17px;line-height:1.7;color:var(--gd-muted);margin:0 0 22px}
.gd-sub{font-size:15.5px;line-height:1.7;color:var(--gd-muted);margin:0 0 22px}
.gd-faint{color:var(--gd-muted);font-size:13px}
.gd-h2{font-size:17px;margin:26px 0 10px}
.gd code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--gd-line);padding:1px 6px;border-radius:6px;word-break:break-all}

/* ---------- Timeline ---------- */
.gd-tl{list-style:none;margin:0 0 22px;padding:0;position:relative}
.gd-tl-i{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:start;padding:10px 12px 14px 0}
.gd-tl-i:not(:last-child)::before{content:"";position:absolute;left:17px;top:44px;bottom:-6px;width:2px;background:var(--gd-line)}
.gd-tl-i.is-done:not(:last-child)::before{background:var(--gd-brand)}
.gd-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--gd-field);border:1.5px solid var(--gd-field-line);color:var(--gd-muted);position:relative;z-index:1}
.gd-dot svg{width:18px;height:18px}
.is-done>.gd-dot{background:var(--gd-brand);border-color:var(--gd-brand);color:var(--brand-ink,#0b3f8f)}
.is-now>.gd-dot{border-color:var(--gd-brand);color:var(--gd-ink);box-shadow:0 0 0 5px var(--gd-pale)}
.gd-tl-t{display:grid;gap:4px;padding-top:6px;min-width:0}
.gd-tl-t b{font-size:16px;font-weight:600;line-height:1.45}
.is-done .gd-tl-t b{color:var(--gd-muted);font-weight:500}
/* A skipped step (no attorney, so no G-28): a dashed, empty dot and a line that stays grey */
.gd-tl-i.is-skip>.gd-dot{background:transparent;border-style:dashed;border-color:var(--gd-field-line);color:var(--gd-muted)}
.gd-tl-i.is-skip:not(:last-child)::before{background:var(--gd-line)}
.gd-tl-t small{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--gd-muted);font-size:13px}
.gd-tl-t small em{font-style:normal;font-weight:700;color:var(--gd-warn)}
.gd-tl-i.is-mine{background:var(--gd-pale);border-radius:var(--radius-panel);padding-left:10px;margin-left:-10px}
.gd-tl-i.is-mine::before{left:27px}
.gd-tl-open{align-self:center}
.gd-who{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:2px 9px;border-radius:var(--radius-control);background:var(--gd-line);color:var(--gd-ink)}
.gd-who-applicant,.gd-who-you,.gd-who-both,.gd-who-team{background:var(--gd-pale)}
.gd-who-employer{background:var(--gd-blue-bg);color:var(--gd-blue)}
.gd-who-hibee,.gd-who-attorney{background:var(--gd-ok-bg);color:var(--gd-ok)}

/* ---------- Big buttons ---------- */
.gd-cta{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 14px}
.gd .btn.primary.gd-go,.gd .btn.primary.gd-next{min-height:52px;padding:14px 30px;font-size:17px;font-weight:700;border-radius:var(--radius-control);margin:0}
.gd .btn.gd-go{min-height:52px;padding:14px 26px;font-size:16px;border-radius:var(--radius-control);margin:0}
.gd-note{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--gd-muted);line-height:1.6;margin:6px 0}
.gd-note svg{width:16px;height:16px;margin-top:2px}
.gd-need{margin:0 0 22px}
.gd-need h2{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--gd-muted);margin:0 0 8px}
.gd-need ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.gd-need li{font-size:14px;line-height:1.3;padding:8px 12px;border-radius:var(--radius-control);background:var(--gd-field);border:1px solid var(--gd-line)}
.gd-demo{font-size:13.5px;color:var(--gd-muted);margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gd-demo .beta-tag{margin-right:4px}
.gd-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:30px 0 8px;padding-top:18px;border-top:1px solid var(--gd-line)}
.gd-nav-r{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.gd-back,.gd-skip{border:0;background:none;color:var(--gd-muted);font-size:15px;display:inline-flex;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--radius-control)}
.gd-back:hover,.gd-skip:hover{color:var(--gd-ink)}
.gd-back svg{width:18px;height:18px}
.gd-skip{text-decoration:underline;text-underline-offset:3px;font-size:14px}

/* ---------- Questions ---------- */
.gd-fields{display:grid;gap:22px}
.gd-field{display:grid;gap:8px;min-width:0;border:0;padding:0;margin:0}
.gd-lab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0}
.gd-lab label,.gd-lab>span:first-child:not(.gd-tag){font-size:15.5px;font-weight:600;line-height:1.5}
.gd-lab-only{margin-bottom:-2px}
.gd-tag{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;line-height:1;padding:4px 8px;border-radius:var(--radius-control);white-space:nowrap}
.gd-tag svg{width:12px;height:12px}
.gd-tag-req,.gd-tag-dreq{background:var(--gd-warn-bg);color:var(--gd-warn)}
.gd-tag-opt,.gd-tag-dopt,.gd-tag-na{background:var(--gd-line);color:var(--gd-muted)}
.gd-tag-rec,.gd-tag-check,.gd-tag-hibee{background:var(--gd-blue-bg);color:var(--gd-blue)}
.gd-tag-done{background:var(--gd-ok-bg);color:var(--gd-ok)}
.gd-tag-missing,.gd-tag-stop{background:var(--gd-bad-bg);color:var(--gd-bad)}
.gd-ocr{font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:var(--radius-control);background:var(--gd-blue-bg);color:var(--gd-blue)}
.gd-help{font-size:13.5px;line-height:1.65;color:var(--gd-muted);margin:0}
.gd-err{font-size:13.5px;color:var(--gd-bad);margin:0;font-weight:600}
.gd input:not([type=checkbox]):not([type=radio]):not([type=file]),.gd select,.gd textarea{width:100%;min-height:50px;padding:12px 14px;font-size:16px;line-height:1.5;border-radius:var(--radius-control);border:1.5px solid var(--gd-field-line);background:var(--gd-field);color:var(--gd-ink);box-sizing:border-box}
.gd textarea{min-height:110px;resize:vertical}
.gd input:focus,.gd select:focus,.gd textarea:focus{outline:none;border-color:var(--gd-brand);box-shadow:0 0 0 4px var(--gd-pale)}
.gd [aria-invalid=true]{border-color:var(--gd-bad)!important}
.gd-inp{position:relative}
.gd-inp.has-pre input{padding-left:30px}
.gd-pre{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gd-muted);font-size:16px;pointer-events:none}
.gd-count{font-size:13px;color:var(--gd-muted);margin:0;text-align:right}
.gd-choices{display:grid;gap:10px}
.gd-yn{display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:10px}
.gd-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;text-align:left;padding:14px 18px;font-size:16px;font-weight:500;line-height:1.45;border-radius:var(--radius-panel);border:1.5px solid var(--gd-field-line);background:var(--gd-field);color:var(--gd-ink);cursor:pointer;transition:border-color .15s,background .15s}
.gd-choice::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;border:2px solid var(--gd-field-line);box-sizing:border-box}
.gd-choice:hover{border-color:var(--gd-brand)}
.gd-choice.on{border-color:var(--gd-brand);background:var(--gd-pale);font-weight:600}
.gd-choice.on::before{border:6px solid var(--gd-brand)}
.gd-yn .gd-choice{justify-content:flex-start}
/* Choosing an attorney (e-attorney-pick): a name, then languages and hours on a quiet line; the quote request under it */
.gd-lawyer-t{display:grid;gap:2px}
.gd-lawyer-t small{font-size:13px;font-weight:400;color:var(--gd-muted)}
.gd-quote{display:grid;gap:8px;justify-items:start;margin-top:18px}
.gd-quote .gd-faint{margin:0}
.gd-quote-ok{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}
.gd-quote-ok svg{width:18px;height:18px;color:var(--gd-brand)}
.gd-pickone .gd-choices{gap:12px}
.gd-addr{display:grid;gap:8px}
.gd-addr legend{margin-bottom:8px}
.gd-addr-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.gd-sub{display:grid;gap:6px;min-width:0}
.gd-sub label{font-size:13.5px;color:var(--gd-muted);font-weight:500}
.gd-sub.line1,.gd-sub.line2{grid-column:span 6}
.gd-sub.city{grid-column:span 3}.gd-sub.state{grid-column:span 2}.gd-sub.zip{grid-column:span 1}.gd-sub.country{grid-column:span 6}
.gd-addr-grid:has(.country) .gd-sub.zip{grid-column:span 1}
.gd-errbox,.gd-info{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-panel);font-size:14.5px;line-height:1.65;margin:0 0 18px}
.gd-errbox{background:var(--gd-bad-bg);color:var(--gd-bad);font-weight:600}
.gd-info{background:var(--gd-blue-bg)}
.gd-info.ok{background:var(--gd-ok-bg)}
.gd-info.warn{background:var(--gd-warn-bg)}
.gd-errbox svg,.gd-info svg{width:18px;height:18px;margin-top:3px}

/* ---------- Uploads ---------- */
.gd-link{margin:0 0 16px}
.gd-slots{display:grid;gap:14px}
.gd-slot{display:grid;gap:10px;padding:16px;border-radius:var(--radius-panel);border:1.5px dashed var(--gd-field-line);background:var(--gd-field)}
.gd-slot.has{border-style:solid}
.gd-slot.big{padding:22px;justify-items:start}
.gd-slot-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15.5px}
.gd-pick{position:relative;overflow:hidden;cursor:pointer;margin:0;min-height:46px;border-radius:var(--radius-control)}
.gd-slot.big .gd-pick{min-height:54px;padding:14px 26px;font-size:16px}
.gd-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.gd-pick:focus-within{box-shadow:0 0 0 4px var(--gd-pale)}
.gd-files{list-style:none;margin:0;padding:0;display:grid;gap:8px;width:100%}
.gd-files li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-panel);background:var(--gd-line)}
.gd-files img{width:52px;height:40px;object-fit:cover;border-radius:6px;flex:0 0 auto}
/* Résumé slot: a drop area while empty; the whole slot takes a dragged file (guided.js DROP) */
.gd-slot.drop{transition:border-color .15s,background-color .15s}
.gd-slot.drop:not(.has):hover,.gd-slot.drop:focus-within{border-color:var(--gd-brand)}
.gd-slot.drop.is-over{border-style:solid;border-color:var(--gd-brand);background:var(--gd-pale)}
.gd-drop{position:relative;display:grid;justify-items:center;gap:4px;margin:0;padding:14px 12px 12px;border-radius:var(--radius-inset);text-align:center;cursor:pointer}
.gd-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.gd-drop:focus-within{box-shadow:0 0 0 4px var(--gd-pale)}
.gd-drop-ic{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:var(--radius-panel);background:color-mix(in srgb,var(--gd-ink) 6%,transparent);color:var(--gd-ink)}
.gd-drop-ic svg{width:22px;height:22px}
.gd-drop b{font-size:15.5px;font-weight:600;color:var(--gd-ink)}
.gd-drop small{font-size:13.5px;color:var(--gd-muted)}
@media (prefers-reduced-motion:reduce){.gd-slot.drop{transition:none}}
.gd-fi{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:var(--gd-field)}
.gd-fn{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}
.gd-fn small{display:block;color:var(--gd-muted);font-size:12px}
.gd-x{border:0;background:none;color:var(--gd-muted);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.gd-x:hover{background:var(--gd-field);color:var(--gd-bad)}
.gd-x svg{width:16px;height:16px}
.gd-ocrst{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.6;padding:10px 12px;border-radius:var(--radius-panel);background:var(--gd-blue-bg);width:100%;box-sizing:border-box}
.gd-ocrst svg{width:16px;height:16px}
.gd-ocrst-done{background:var(--gd-ok-bg)}
.gd-ocrst-failed,.gd-ocrst-pdf{background:var(--gd-warn-bg)}
.gd-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--gd-field-line);border-top-color:var(--gd-brand);animation:gdSpin .8s linear infinite}
@keyframes gdSpin{to{transform:rotate(360deg)}}

/* ---------- Review ---------- */
.gd-score{display:flex;flex-wrap:wrap;gap:22px;align-items:center;padding:18px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);margin:6px 0 22px}
.gd-ring{--p:0;width:118px;height:118px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--gd-ring-in,#f7f4ee) 78%,transparent 79% 100%),conic-gradient(var(--gd-brand) calc(var(--p)*1%),var(--gd-line) 0)}
html[data-theme=night] .gd-ring{--gd-ring-in:#2b2926}
.gd-ring b{font-size:26px;line-height:1}
.gd-ring small{font-size:11.5px;color:var(--gd-muted);margin-top:4px}
.gd-score ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;flex:1;min-width:200px}
.gd-score li{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding-bottom:6px;border-bottom:1px solid var(--gd-line)}
.gd-todo{margin:0 0 18px}
.gd-todo h2{font-size:17px;margin:0 0 10px}
.gd-todo ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gd-todo li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-panel);background:var(--gd-warn-bg);font-size:14.5px}
.gd-todo li span{display:flex;gap:8px;align-items:center;min-width:0}
.gd-todo li .text-link{white-space:nowrap}
.gd-todo li svg{width:16px;height:16px;flex:0 0 auto}
.gd-all{margin:6px 0}
.gd-all summary{cursor:pointer;font-weight:600;padding:10px 0}
.gd-rv{padding:12px 0;border-bottom:1px solid var(--gd-line)}
.gd-rv-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gd-rv h3{font-size:15px;margin:0}
.gd-rv ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.gd-rv li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;font-size:14px}
.gd-rv li span{color:var(--gd-muted)}
.gd-rv li b{font-weight:500;overflow-wrap:anywhere}
.gd-miss{color:var(--gd-bad)!important;font-weight:700!important}
.gd-done{text-align:left}
.gd-big-ok{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--gd-brand);color:var(--brand-ink,#0b3f8f);margin:6px 0 16px}
.gd-big-ok svg{width:32px;height:32px}

/* ---------- Workflow steps ---------- */
.gd-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.gd-when{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gd-muted)}
.gd-when svg{width:15px;height:15px}
.gd-desc{font-size:17px;line-height:1.8;margin:0 0 18px}
.gd-forms{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:14px;color:var(--gd-muted)}
.gd-step-work>.wf-tool{margin-bottom:14px}
.gd-go-row{margin:0 0 12px}
.gd-ask{font-size:14px;color:var(--gd-muted)}
.gd-step-main,.gd-step-intro,.gd-step-work{min-width:0}
.gd-step-work>:last-child{margin-bottom:0}
.gd-contents{min-width:0;margin:0 0 24px;border-block:1px solid var(--gd-line)}
.gd-contents summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
.gd-contents summary::-webkit-details-marker{display:none}
.gd-contents summary>svg{width:16px;height:16px;color:var(--gd-muted);transform:rotate(90deg)}
.gd-contents[open]>summary>svg,.gd-part[open]>summary>svg{transform:rotate(-90deg)}
.gd-contents>summary{min-height:44px;padding:10px 0;font-size:14px;font-weight:600}
.gd-part-nav{padding:8px 0 12px}
.gd-part{border-bottom:1px solid var(--gd-line)}
.gd-part:last-child{border-bottom:0}
.gd-part>summary{min-height:52px;padding:14px 0;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.gd-part>summary>span{min-width:0}
.gd-part>summary small{display:block;margin-bottom:3px;font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--gd-muted)}
.gd-part ol{list-style:none;margin:0 0 12px;padding:0;border-left:1px solid var(--gd-line)}
.gd-part li{margin:0;padding:0}
.gd-part button{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:0;border-left:2px solid transparent;margin-left:-1px;border-radius:0;background:none;color:var(--gd-muted);text-align:left;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.gd-part button>span{flex:1;min-width:0}
.gd-part button>svg{width:15px;height:15px;margin-top:2px;color:var(--gd-ok)}
.gd-part button:hover{color:var(--gd-ink);background:var(--gd-line)}
.gd-part button[aria-current=step]{border-left-color:var(--gd-brand);background:var(--gd-pale);color:var(--green);font-weight:600}
.gd-contents summary:focus-visible,.gd-part button:focus-visible{outline:2px solid var(--gd-brand);outline-offset:-2px}
/* Parts stay in the left directory; the current title, form and actions share the right edge. */
@media (min-width:1100px){
  body.gd-focus:has(.gd-flow),.gd:has(.gd-flow){--gd-frame-w:1184px}
  .gd:has(.gd-flow){--gd-menu-w:248px;--gd-flow-gap:clamp(32px,4vw,64px)}
  .gd:has(.gd-flow) .gd-body{padding-top:36px}
  .gd-flow{display:grid;grid-template-columns:var(--gd-menu-w) minmax(0,1fr);column-gap:var(--gd-flow-gap);align-items:start}
  .gd-contents{position:sticky;top:88px;max-height:calc(100dvh - 112px);overflow-y:auto;scrollbar-width:thin;margin:0;border:0;padding-right:20px;border-right:1px solid var(--gd-line)}
  .gd-contents[data-desktop]>summary{display:none}
  .gd-part-nav{padding:0}
  .gd-part:first-child>summary{padding-top:0}
  .gd-flow h1{font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.2}
  .gd-flow .gd-kicker{margin-bottom:12px}
  .gd-flow .gd-chips{margin-top:18px}
  .gd-flow .gd-nav{margin-top:32px}
  .gd:has(.gd-flow) .gd-report{margin-left:calc(var(--gd-menu-w) + var(--gd-flow-gap))}
}

/* ---------- Hibee team ---------- */
.gd-pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 22px}
.gd-pcard{display:grid;gap:6px;padding:14px 16px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line)}
.gd-pcard>span{font-size:13px;color:var(--gd-muted)}
.gd-pcard>b{font-size:26px;line-height:1}
.gd-pcard small{font-size:12.5px;color:var(--gd-muted)}
.gd-pcard .text-link{justify-self:start;font-size:13px}
.gd-checks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.gd-checks li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);font-size:14.5px;line-height:1.6}
.gd-ck-stop{border-color:var(--gd-bad)!important}
.gd-mark{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:12px;font-weight:700;padding:3px 8px;border-radius:var(--radius-control);white-space:nowrap}
.gd-mark svg{width:13px;height:13px}
.gd-mark-ok{background:var(--gd-ok-bg);color:var(--gd-ok)}
.gd-mark-warn{background:var(--gd-warn-bg);color:var(--gd-warn)}
.gd-mark-stop,.gd-mark-missing{background:var(--gd-bad-bg);color:var(--gd-bad)}
.gd-mark-hibee{background:var(--gd-blue-bg);color:var(--gd-blue)}
.gd-mark-na{background:var(--gd-line);color:var(--gd-muted)}
.gd-folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.gd-folder{padding:14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);min-width:0}
.gd-folder h3{display:flex;gap:8px;align-items:center;font-size:14.5px;margin:0 0 10px;line-height:1.4}
.gd-folder h3 span{flex:0 0 24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gd-pale);font-size:12px}
.gd-folder ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gd-folder li{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:13.5px;line-height:1.5}
.gd-folder li>span:not(.gd-mark){flex:1;min-width:120px;overflow-wrap:anywhere}
.gd-tick{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;color:var(--gd-muted)}
.gd-chases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gd-chase{padding:14px;border-radius:var(--radius-panel);background:var(--gd-warn-bg)}
.gd-chase h3{font-size:14.5px;margin:0 0 8px}
.gd-chase ul{margin:0 0 10px;padding-left:18px;font-size:14px;line-height:1.7}
.gd-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}
.gd-opt{padding:16px;border-radius:var(--radius-panel);background:var(--gd-field);border:1.5px solid var(--gd-line);display:grid;gap:8px;align-content:start}
.gd-opt.on{border-color:var(--gd-brand)}
.gd-opt h3{font-size:16px;margin:0}
.gd-opt p{font-size:14px;line-height:1.65;color:var(--gd-muted)}
.gd-opt .btn{justify-self:start;margin:0}
.gd-sheet{display:grid;gap:8px;margin:0 0 14px}
.gd-sr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line)}
.gd-sr-missing,.gd-sr-stop{border-color:var(--gd-bad)}
.gd-sr-l{display:grid;gap:2px;min-width:0}
.gd-sr-n{font-size:12px;color:var(--gd-muted);font-weight:700}
.gd-sr-l b{font-size:14.5px;font-weight:600}
.gd-sr-l small{font-size:12.5px;color:var(--gd-muted)}
.gd-sr-v{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.gd-sr-v code{font-size:14px;background:none;padding:0}
.gd-copy{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gd-field-line);background:none;color:var(--gd-ink);font-size:13px;font-weight:600;padding:8px 12px;border-radius:var(--radius-control)}
.gd-copy:hover{border-color:var(--gd-brand);background:var(--gd-pale)}
.gd-copy svg{width:14px;height:14px}
.gd-orig{padding:14px 16px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);margin:0 0 16px}
.gd-orig summary{cursor:pointer;font-weight:600}
.gd-orig p{font-size:14px;line-height:1.75;margin:10px 0}
.gd-duties{display:grid;gap:10px;margin:0 0 10px}
.gd-duty{display:grid;grid-template-columns:28px minmax(0,1fr) 92px 36px;gap:8px;align-items:start}
.gd-duty-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--gd-pale);margin-top:10px}
.gd-duty textarea{min-height:70px}
.gd-duty-own{grid-column:2/3;margin:-2px 0 4px;font-size:13px;color:var(--gd-muted)}
.gd-pct{position:relative}
.gd-pct input{padding-right:28px!important}
.gd-pct span{position:absolute;right:12px;top:14px;color:var(--gd-muted)}
.gd-total{font-weight:700;margin-left:10px;color:var(--gd-bad)}
.gd-total.ok{color:var(--gd-ok)}
.gd-cross{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.gd-cross div{display:grid;gap:2px;padding:10px 12px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);min-width:0}
.gd-cross span{font-size:12.5px;color:var(--gd-muted)}
.gd-cross b{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.gd-steps{margin:0 0 14px;padding-left:22px;display:grid;gap:10px;font-size:15px;line-height:1.7}
.gd-steps .btn{margin:6px 0 0}
.gd-steps+.gd-faint{margin:0 0 18px}
.gd-checklist{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.gd-checklist li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.6}
.gd-checklist svg{width:16px;height:16px;margin-top:4px;color:var(--gd-ok)}
.gd-fees{display:grid;gap:0;border-radius:var(--radius-panel);overflow:hidden;border:1px solid var(--gd-line);background:var(--gd-field);margin:0 0 14px}
.gd-fees>div{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--gd-line);font-size:15px}
.gd-fees small{display:block;color:var(--gd-muted);font-size:12.5px}
.gd-fee-total{font-weight:700;background:var(--gd-pale)}

/* ---------- Dashboard card and application cards ---------- */
.gd-dash{--gd-line:var(--line,rgba(20,18,14,.12));--gd-brand:var(--brand,#1570e6);padding:20px 22px;margin:0 0 22px;display:grid;gap:14px}
.gd-dash .gd-kicker{margin:0 0 4px}
.gd-dash-h{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.gd-dash-h h2{font-family:var(--serif,Georgia,serif);font-weight:600;font-size:1.5rem;margin:0 0 4px}
.gd-dash-h p{color:var(--muted);font-size:15px}
.gd-dash-go{min-height:50px;padding:12px 34px;font-size:16px;font-weight:700;border-radius:var(--radius-control);margin:0}
.gd-mini{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.gd-mini li{display:grid;gap:6px;justify-items:center;text-align:center;font-size:12px;color:var(--muted);line-height:1.35}
.gd-mini li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;border:1.5px solid var(--line);background:var(--glass-hi,#fff)}
.gd-mini li span svg{width:14px;height:14px}
.gd-mini li.is-done span{background:var(--brand,#1570e6);border-color:var(--brand,#1570e6);color:var(--brand-ink,#0b3f8f)}
.gd-mini li.is-skip span{background:transparent;border-style:dashed;border-color:var(--line);color:var(--muted)}
.gd-mini li.is-mine em{color:var(--ink);font-weight:700}
.gd-mini em{font-style:normal}
.content:has(.gd-dash) .case-card{display:none}
.wf-card-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto}
.wf-card-go .btn{margin:0}

/* ---------- Phones ---------- */
@media (max-width:640px){
  .gd-top{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px 0}
  .gd-exit span{display:none}
  .gd-exit{padding:8px}
  .gd-body{padding-top:10px}
  .gd-lead{font-size:16px}
  .gd-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:center}
  .gd-nav-r{display:contents}
  .gd-nav-r>.gd-next{grid-column:1/-1;grid-row:1}
  .gd-nav>.gd-back{grid-column:1;grid-row:2;justify-self:start}
  .gd-nav-r>.gd-skip{grid-column:2;grid-row:2;justify-self:end}
  .gd .btn.primary.gd-next,.gd .btn.gd-go,.gd .btn.primary.gd-go{width:100%}
  .gd-cta{flex-direction:column}
  .gd-back{justify-content:center}
  .gd-pcards,.gd-folders,.gd-chases,.gd-opts,.gd-cross{grid-template-columns:minmax(0,1fr)}
  .gd-sub.city,.gd-sub.state,.gd-sub.zip{grid-column:span 6}
  .gd-yn{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-sr{grid-template-columns:minmax(0,1fr) auto}
  .gd-sr-v{grid-column:1/2}
  .gd-sr .gd-copy{grid-row:1/3;grid-column:2}
  .gd-copy span{display:none}
  .gd-duty{grid-template-columns:24px minmax(0,1fr) 36px}
  .gd-duty .gd-pct{grid-column:2/3}
  .gd-duty .gd-x{grid-row:1;grid-column:3}
  .gd-mini em{display:none}
  .gd-dash-go{width:100%}
  .gd-rv li{grid-template-columns:minmax(0,1fr)}
}

/* Text buttons look like links everywhere in guided mode */
.gd .text-link,.gd-dash .text-link,.wf-card-go .text-link{border:0;background:none;padding:0;cursor:pointer;color:var(--green);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-align:left}

/* ---------- The eligibility check, one question at a time (journey.js) ---------- */
.quiz-one .quiz-prog{display:grid;grid-template-columns:1fr auto;gap:8px;padding:20px 24px 4px}
.quiz-one .quiz-prog .progress-bar{grid-column:1/-1}
.quiz-one .q{border-top:0;padding:18px 24px 8px}
.quiz-one legend{font-family:var(--serif,Georgia,serif);font-size:clamp(1.3rem,3vw,1.7rem);font-weight:600;flex-wrap:wrap}
.quiz-one .q-opts{display:grid;gap:10px}
.quiz-one .qopt span{display:flex;align-items:center;min-height:52px;padding:12px 18px;font-size:16px;border-radius:var(--radius-panel)}
.quiz-one .quiz-actions{padding:16px 24px 22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.quiz-one .quiz-actions .btn{min-height:48px;padding:12px 26px;border-radius:var(--radius-control);margin:0}
.quiz-done h2{margin-bottom:4px}

/* ---------- The I-485 guide, one part per screen (forms.js) ---------- */
.fm-start,.fm-one{max-width:760px;margin:0 auto}
.fm-head{margin:0 0 16px}
.fm-head .gd-barline{margin:6px 0 18px}
.fm-one .card{margin:0}
.fm-jump{margin:18px 0 10px}
.fm-jump summary{cursor:pointer;font-weight:600;color:var(--gd-muted)}
.fm-jump .fm-nav{margin-top:10px}
.gd-more{font-size:14px;color:var(--muted)}
.gd-more .text-link{border:0;background:none;padding:0;cursor:pointer;color:var(--green);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Noto Serif SC sets English apostrophes full-width; English headings here use a Latin serif */
html[lang=en] .gd h1,html[lang=en] .gd-dash-h h2,html[lang=en] .quiz-one legend{font-family:Georgia,'Times New Roman',serif}
.gd-gen{display:grid;gap:10px;margin:0 0 18px}
.gd-gen-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.gd-gen-row .btn{margin:0;min-height:48px;border-radius:var(--radius-control);padding:12px 22px}
.gd-gen-out{font-size:13px}
/* Info buttons: infoTip from app.js. */
.gd-h1row{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px}
.gd-h1row h1{margin:0}
.gd-h1row .info-tip{margin:.7em 0 0}
.wf-card-t{display:flex;align-items:flex-start;gap:6px}
.wf-card-t .fm-tip{margin:2px 0 0;vertical-align:middle}
.gd .fm-pop-box{font-family:var(--sans,inherit);font-size:13.5px;letter-spacing:0;font-weight:400}
.fm-pop-box svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.gd-stats{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 22px}
.gd-stat{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line)}
.gd-stat b{font-size:17px;font-weight:650}
.gd-stat small{font-size:13px;color:var(--gd-muted)}
.gd-faint code{display:inline-block;white-space:nowrap;margin:2px 0}
.gd-faint+.gd-fields{margin-top:16px}
.gd-shoot{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:13.5px;color:var(--gd-muted)}
.gd-shoot span{display:inline-flex;align-items:center;gap:4px}
.gd-shoot svg{width:14px;height:14px;color:var(--gd-ok)}
/* Asking a lawyer from a field, and the AI first draft of the duties */
.gd-ask{display:inline-block;margin:2px 0 0;padding:4px 0;background:none;border:0;font-size:13.5px}
.gd-ai{border:1px solid var(--gd-line);border-radius:var(--radius-panel);padding:0 14px;margin:0 0 12px;background:var(--gd-field)}
.gd-ai summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;padding:12px 0;list-style:none}
.gd-ai summary::-webkit-details-marker{display:none}
.gd-ai summary svg{width:16px;height:16px;color:var(--gd-warn)}
.gd-ai-in{display:grid;gap:10px;padding:0 0 14px}
.gd-ai-in .btn{justify-self:start}
.gd-ai-msg{font-size:13.5px;color:var(--gd-warn);margin:0}
.gd-ai-out{border-left:3px solid var(--gd-brand);padding:12px 14px;margin:0 0 12px;border-radius:0 12px 12px 0;background:var(--gd-pale)}
.gd-ai-out p{font-size:14.5px;line-height:1.7;margin:0 0 12px}
.gd-ai-acts{display:flex;flex-wrap:wrap;gap:8px}
.gd-askbox textarea{width:100%}
.gd-ask-facts{margin:14px 0 4px}
.gd-ask-facts summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0}
.gd-ask-facts ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.gd-ask-facts li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;font-size:13.5px}
.gd-ask-facts li span{color:var(--gd-muted)}
.gd-ask-pick{border:0;margin:14px 0 8px;padding:0;display:grid;gap:6px}
.gd-ask-pick legend{font-size:14px;font-weight:600;margin:0 0 6px;padding:0}
.gd-radio{display:flex;align-items:center;gap:8px;font-size:14.5px;padding:8px 12px;border-radius:var(--radius-panel);border:1px solid var(--gd-line);cursor:pointer}
.gd-radio input{width:18px;height:18px;min-height:0;accent-color:var(--gd-brand)}
.gd-tickets{margin:0 0 18px}
.gd-tickets h2{font-size:17px;margin:0 0 10px}
.gd-tickets ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gd-tickets li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line);font-size:14.5px}
.gd-tickets li span{display:grid;gap:2px;min-width:0}
.gd-q{font-size:15px;line-height:1.7;margin:0 0 14px}
.gd-replies{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gd-replies li{padding:10px 14px;border-radius:var(--radius-panel);background:var(--gd-field);border:1px solid var(--gd-line)}
.gd-replies li.by-lawyer{border-left:3px solid var(--gd-brand)}
.gd-replies small{color:var(--gd-muted);font-size:12.5px}
.gd-replies p{margin:4px 0 0;font-size:14.5px;line-height:1.7}
/* Applications: two expandable sections with independent, multi-select checkboxes. */
:root{--ap-immigration:rgba(220,231,242,.64);--ap-business:rgba(232,224,207,.74);--ap-surface:rgba(255,255,255,.35);--ap-line:rgba(54,67,76,.16);--ap-mark:#235ba5}
:root[data-theme="night"]{--ap-immigration:rgba(83,108,138,.25);--ap-business:rgba(145,124,91,.19);--ap-surface:rgba(255,255,255,.035);--ap-line:rgba(255,255,255,.16);--ap-mark:#a9cdfa}
.ap-pick{max-width:none;margin:0 0 28px;container-type:inline-size;color:var(--ink)}
.ap-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:16px}
.ap-heading>span{font-size:12px;color:var(--muted)}
.ap-q{font-family:var(--serif,inherit);font-size:clamp(22px,2.2vw,28px);font-weight:600;margin:0;outline:none}
.ap-lanes{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
@container(min-width:580px){.ap-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ap-lane{min-width:0;border:1px solid var(--ap-line);border-radius:var(--radius-panel,10px);overflow:hidden;background:var(--ap-surface)}
.ap-lane>summary{display:flex;align-items:center;gap:13px;min-height:84px;padding:16px 18px;cursor:pointer;list-style:none;background:var(--ap-immigration)}
.ap-business>summary{background:var(--ap-business)}
.ap-lane summary::-webkit-details-marker,.ap-group summary::-webkit-details-marker{display:none}
.ap-lane-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;color:var(--ap-mark);border:1px solid var(--ap-line);border-radius:6px;background:var(--ap-surface)}
.ap-lane-icon svg{width:20px;height:20px}
.ap-lane-title{display:grid;gap:4px;min-width:0;flex:1}
.ap-lane-title b{font-size:17px;font-weight:650}.ap-lane-title small{font-size:12px;color:var(--muted);line-height:1.4}
.ap-lane>summary>svg,.ap-group>summary>svg{width:17px;height:17px;flex:none;color:var(--muted);transform:rotate(90deg);transition:transform .15s}
.ap-lane[open]>summary>svg,.ap-group[open]>summary>svg{transform:rotate(-90deg)}
.ap-lane>summary:hover,.ap-group>summary:hover{filter:brightness(.97)}
.ap-lane-body{padding:3px 18px 12px}.ap-group{border-bottom:1px solid var(--ap-line)}.ap-group:last-child{border-bottom:0}
.ap-group>summary{display:flex;align-items:center;gap:9px;min-height:48px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}
.ap-group>summary small{font-size:11px;font-weight:400;color:var(--muted);flex:1;white-space:normal}
.ap-options{display:grid;padding:0 0 9px}.ap-business-options{padding:10px 0 4px}
.ap-option{display:flex;align-items:center;gap:10px;min-height:38px;line-height:1.4;font-size:13px;cursor:pointer;color:var(--ink)}
.ap-option input{width:16px;height:16px;accent-color:#1570e6;flex:none}.ap-option span{min-width:0}
.ap-selected{display:flex;align-items:flex-start;gap:20px;padding:16px 2px 3px;border-bottom:1px solid var(--ap-line);font-size:13px}
.ap-selected>b{white-space:nowrap;padding:7px 0}.ap-selected>div{display:flex;flex-wrap:wrap;gap:4px 18px}
.ap-selected-link{display:inline-flex;align-items:center;gap:4px;padding:7px 0;border:0;background:none;color:var(--ap-mark);font-size:13px;font-weight:600;text-align:left;cursor:pointer}
.ap-selected-link svg{width:15px;height:15px}.ap-selected-link:hover{text-decoration:underline}
.ap-lane summary:focus-visible,.ap-option input:focus-visible,.ap-selected-link:focus-visible{outline:2px solid #1570e6;outline-offset:3px}
@media(max-width:650px){.ap-lane>summary{min-height:72px;padding:12px 15px}.ap-lane-body{padding-inline:15px}.ap-selected{display:block}.ap-selected>div{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.ap-lane>summary>svg,.ap-group>summary>svg{transition:none}}
.ap-more{margin:14px 0 0}
.ap-more .gd-back{padding-left:0}
.ap-more .text-link{padding:0;border:0;background:transparent;font:inherit;color:var(--green);cursor:pointer}
.ap-more .text-link:hover{text-decoration:underline}
.wf-all{margin:8px 0 18px}
.wf-all>summary{cursor:pointer;font-weight:600;font-size:15px;padding:10px 0}
.wf-all[open]>summary{margin-bottom:12px}
/* "Something wrong here?" under every step, and the opt-in boxes (report answers, improve with my case) */
.gd-report{margin:30px 0 0;text-align:center}
.gd-report .text-link{font-size:13px;font-weight:500;color:var(--gd-muted)}
.gd-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;margin:12px 0 0;cursor:pointer}
.gd-check input{width:18px;height:18px;min-height:0;margin:2px 0 0;flex:none;accent-color:var(--gd-brand)}
.gd-consent{display:flex;align-items:center;gap:6px;margin:18px 0 0}
.gd-consent .gd-check{margin:0}
.gd-improve{margin-top:28px;padding-top:20px;border-top:1px solid var(--gd-line)}
.gd-improve .gd-gen-row{align-items:center;flex-wrap:wrap}
/* A name read from the passport (no check digit): stands out until the person confirms or edits it */
.gd-ocr-check{background:transparent;border:1.5px solid var(--gd-warn);color:var(--gd-warn);padding:3px 8px}
.gd-ocr-ok{font-size:13px;margin-left:2px}
.gd-field:has(.gd-ocr-check) input{border-color:var(--gd-warn);box-shadow:0 0 0 3px var(--gd-warn-bg)}
/* SealPal Copilot (copilot.js): the customer's model above an AI step, and what each run took */
.cp-box{margin:0 0 22px;padding:16px 18px;border:1px solid var(--gd-line);border-radius:var(--radius-panel);display:grid;gap:12px;justify-items:start}
.cp-box .field{width:100%}
.cp-box textarea{min-height:76px}
.cp-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:13.5px;color:var(--gd-muted)}
.cp-chip svg{width:16px;height:16px}
.cp-chip code{font-size:12.5px}
.cp-cost{font-size:12.5px;margin:6px 0 0}
.cp-prov{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gd-ocr-ai{background:var(--gd-warn-bg);color:var(--gd-warn)}
.gd-start .cp-chip{margin:-6px 0 14px}
/* Hibee's internal edition: no customer sign-up, role switch or customer sections */
html[data-edition=internal] .g-cta,html[data-edition=internal] #role,html[data-edition=internal] .nav-item.secondary{display:none!important}

/* ---------- OPT (opt-case.js): the verdict, the two offers, the package ---------- */
/* Choosing and paying gets room: one line per offer, one price and one button, hairlines between */
.op-dates{grid-template-columns:repeat(3,minmax(0,1fr))}
.op-dates .gd-pcard>b{font-size:20px;line-height:1.2}
.op-due{border-color:var(--ow-accent,#b8923a)}
.op-notes{margin:0 0 18px}
.op-notes svg{color:var(--gd-muted)}
.op-share{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:6px 0 10px}
.op-share .btn svg{width:15px;height:15px}
.op-offers{display:grid;gap:0;border-top:1px solid var(--gd-ink,currentColor);margin:4px 0 8px}
.op-offer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--gd-line)}
.op-offer-t{display:grid;gap:4px;min-width:0}
.op-offer-t b{font-size:16px}
.op-offer-t small{font-size:13px;line-height:1.55;color:var(--gd-muted)}
.op-price{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.op-price b{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.op-price small{font-size:12.5px;color:var(--gd-muted)}
.op-offer .btn{justify-content:center;min-width:132px}
.op-fine{margin:10px 0 0;font-size:12.5px;color:var(--gd-muted)}
.op-part{border:1px solid var(--gd-line);border-radius:var(--radius-panel);background:var(--gd-field);margin:0 0 8px}
.op-part>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;list-style:none;font-size:15px}
.op-part>summary::-webkit-details-marker{display:none}
.op-part>summary small{color:var(--gd-muted);font-size:12.5px;white-space:nowrap}
.op-part[open]>summary{border-bottom:1px solid var(--gd-line)}
.op-part .gd-sheet{padding:10px 10px 4px;margin:0}
.op-part .gd-sr{background:transparent}
.op-seal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:center;padding:16px 18px;border-radius:var(--radius-panel);background:var(--gd-pale);margin:0 0 6px}
.op-seal b{display:block;font-size:15.5px;margin:0 0 4px}
.op-seal small{font-size:13px;line-height:1.55;color:var(--gd-muted)}
.op-docs li .gd-tag{margin-left:auto;flex-shrink:0}
.op-docs svg{color:var(--gd-muted)}
.gd-opt .tiny{font-size:12.5px;color:var(--gd-muted)}
@media (max-width:640px){.op-offer{grid-template-columns:minmax(0,1fr) auto}.op-offer .btn{grid-column:1/-1}.op-dates{grid-template-columns:minmax(0,1fr)}.op-seal{grid-template-columns:minmax(0,1fr)}}
.op-deal{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--gd-ink)}
.op-deal b{color:var(--ow-accent-ink,#8a6a1f);font-weight:700}
.op-invite{display:grid;gap:12px;padding:16px 18px;border-radius:var(--radius-panel);background:var(--gd-pale);margin:6px 0 14px}
.op-invite b{display:block;font-size:15px;margin:0 0 4px}
.op-invite small{font-size:13px;line-height:1.55;color:var(--gd-muted)}
.op-invite .g-link{display:flex;gap:8px;flex-wrap:wrap}
.op-invite .g-link input{flex:1;min-width:200px;padding:9px 12px;border:1px solid var(--gd-field-line);border-radius:10px;background:var(--gd-field);font-size:13px}

/* Clear next actions and a shared desktop questionnaire directory. */
.ap-selected-link.btn.primary{color:#fff;padding:10px 16px;min-height:44px;text-decoration:none}
@media(min-width:1100px){body.gd-focus:has(.gd-question),.gd:has(.gd-question){--gd-frame-w:1184px}.gd:has(.gd-question){--gd-menu-w:248px;--gd-flow-gap:clamp(32px,4vw,64px)}.gd-question{display:grid;grid-template-columns:var(--gd-menu-w) minmax(0,1fr);gap:var(--gd-flow-gap);align-items:start}.gd:has(.gd-question) .gd-report{margin-left:calc(var(--gd-menu-w) + var(--gd-flow-gap))}}

.fm-layout{display:flex;flex-direction:column}.fm-main{min-width:0}.fm-jump{order:0}.fm-main{order:1}
@media(min-width:1100px){.fm-one{max-width:1184px}.fm-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:48px;align-items:start}.fm-jump{position:sticky;top:88px;margin:0;padding-right:20px;border-right:1px solid var(--gd-line);max-height:calc(100dvh - 112px);overflow:auto}.fm-jump>summary{display:none}.fm-jump .fm-nav{margin:0}}

/* Wide screens use the available workspace while retaining a readable menu. */
@media (min-width:1100px){
  body.gd-focus:has(.gd-flow),body.gd-focus:has(.gd-question),.gd:has(.gd-flow),.gd:has(.gd-question){--gd-frame-w:2200px;--gd-gutter:clamp(24px,3vw,72px)}
  .gd:has(.gd-flow),.gd:has(.gd-question){--gd-menu-w:clamp(220px,17vw,300px);--gd-flow-gap:clamp(32px,3vw,64px)}
  .fm-one{max-width:2200px}
  .fm-layout{grid-template-columns:clamp(220px,17vw,300px) minmax(0,1fr);gap:clamp(32px,3vw,64px)}
}

/* A selected item owns its action; the label and action remain separate controls. */
.ap-option-row{display:flex;align-items:center;gap:12px;min-width:0;border-radius:6px;padding:2px 4px}
.ap-option-row.is-selected{background:var(--ap-surface)}
.ap-option-row .ap-option{flex:1;min-width:0;cursor:pointer}
.ap-open{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:44px;padding:7px 12px;border:1px solid var(--ap-line);border-radius:6px;background:var(--ap-surface);color:var(--ap-mark);font-size:13px;font-weight:650;cursor:pointer}
.ap-open svg{width:15px;height:15px}.ap-open:hover{border-color:var(--ap-mark);background:var(--gd-pale,rgba(21,112,230,.1))}.ap-open:focus-visible{outline:2px solid #1570e6;outline-offset:2px}
.ap-selected{padding:12px 2px 0;border:0;color:var(--muted)}.ap-selected>b{padding:0;font-weight:500}
@media(max-width:650px){.ap-option-row{gap:8px}.ap-option{min-height:44px}.ap-open{min-height:44px;padding-inline:10px}}

/* OPT free check (opt-case.js): the questions so far beside the question on a desktop, each with its answer;
   the question keeps a readable width and its choices sit two to a row. */
.op-qs{list-style:none;margin:0;padding:6px 0 10px;display:grid;gap:2px;counter-reset:opq}
.op-qs li{counter-increment:opq;position:relative;padding-left:30px}
.op-qs li::before{content:counter(opq);position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;border:1.5px solid var(--gd-field-line);color:var(--gd-muted)}
.op-qs li.is-done::before{content:"";background:var(--gd-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--gd-brand)}
.op-qs li.is-now::before{border-color:var(--gd-brand);color:var(--gd-ink);box-shadow:0 0 0 4px var(--gd-pale)}
.op-qs li.op-q-result{counter-increment:none}
.op-qs li.op-q-result::before{content:"";border-style:dashed}
.op-qs button,.op-qs .op-q{display:grid;gap:2px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left}
.op-qs button{cursor:pointer}
.op-qs button:hover{background:var(--gd-pale)}
.op-qs button:focus-visible{outline:2px solid var(--gd-brand);outline-offset:-2px}
.op-qs span{font-size:14px;line-height:1.45}
.op-qs li.is-now span{font-weight:700}
.op-qs li:not(.is-now):not(.is-done) span{color:var(--gd-muted)}
.op-qs small{font-size:12.5px;line-height:1.4;color:var(--gd-muted)}
/* The start: a desktop gets the title and actions on the left, the empty result on the right */
.op-preview{display:none}
@media (min-width:1100px){
  body.gd-focus:has(.op-start),body.gd-focus:has(.op-check),.gd:has(.op-start),.gd:has(.op-check){--gd-frame-w:1184px}
  .op-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);grid-template-areas:"h p" "c p" "d p";column-gap:64px;align-content:start;padding-top:clamp(24px,8vh,96px)}
  .op-start>h1{grid-area:h;align-self:end;font-size:clamp(2.6rem,4vw,3.6rem)}
  .op-start>.gd-cta{grid-area:c;align-self:start}
  .op-start>.gd-cta .btn{min-height:52px;padding:0 26px;font-size:16px}
  .op-start>.gd-demo{grid-area:d}
  .op-preview{display:block;grid-area:p;padding:22px 24px;border:1px dashed var(--gd-field-line);border-radius:var(--radius-panel,16px)}
  .op-preview dl{margin:0;display:grid}
  .op-preview dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--gd-line)}
  .op-preview dl>div:first-child{border-top:0}
  .op-preview dt{color:var(--gd-muted);font-size:14px}
  .op-preview dd{margin:0;font-weight:700;color:var(--gd-muted)}
  .gd:has(.op-check){--gd-menu-w:260px;--gd-flow-gap:56px}
  .op-check.gd-pickone .gd-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-check .gd-choice{min-height:72px}
}

/* Desktop questionnaire shell (2026-11-04): the directory becomes a full-height left menu with "Save and exit" and the
   progress at its top; the question sits in a readable column on the right with its actions in a bar that stays in view.
   Phones and tablets keep the top bar and the collapsed directory. guided.js sideHead() adds .gd-shell and .gd-side-head. */
.gd-side-head{display:none}
@media (min-width:1100px){
  body.gd-focus:has(.gd-shell) .content{padding:0}
  .gd.gd-shell{--gd-side:clamp(272px,21vw,320px);--gd-form:720px;--gd-side-bg:rgba(20,18,14,.028);
    display:grid;grid-template-columns:var(--gd-side) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:0;max-width:none;min-height:100dvh}
  html[data-theme=night] .gd.gd-shell{--gd-side-bg:rgba(255,255,255,.03)}
  .gd-shell .gd-body,.gd-shell .gd-body>section.gd-screen{display:contents}
  .gd-shell .gd-top{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:8px;max-width:none;width:100%;margin:0;padding:16px clamp(28px,3.5vw,56px) 0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:static;box-sizing:border-box}
  .gd-shell .gd-top>.gd-exit,.gd-shell .gd-top>.gd-meter{display:none}

  /* The menu */
  .gd-shell .gd-contents{grid-column:1;grid-row:1/-1;position:sticky;top:0;align-self:start;height:100dvh;max-height:none;margin:0;padding:18px 18px 40px 22px;box-sizing:border-box;
    overflow-y:auto;scrollbar-width:thin;border:0;border-right:1px solid var(--gd-line);background:var(--gd-side-bg);z-index:6}
  /* Hidden through data-desktop (set by guided.js after it moves focus), not by the media query alone, so a focused
     "Contents" toggle hands focus to the first part instead of dropping it when the window widens. */
  .gd-shell .gd-contents[data-desktop]>summary{display:none}
  .gd-shell .gd-side-head{display:grid;gap:18px;margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--gd-line)}
  .gd-shell .gd-side-head .gd-exit{justify-self:start;margin-left:-6px}
  .gd-shell .gd-meter-side{text-align:left;gap:8px}
  .gd-shell .gd-meter-side .gd-meter-t{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:2px}
  .gd-shell .gd-meter-side .gd-meter-t b{font-size:15px}
  .gd-shell .gd-meter-side .gd-barline{height:4px}
  .gd-shell .gd-part-nav{padding:0;counter-reset:gdpart}
  .gd-shell .gd-part{border:0;counter-increment:gdpart}
  .gd-shell .gd-part>summary{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:44px;padding:8px 8px 8px 0;border-radius:var(--radius-control);font-size:14px}
  .gd-shell .gd-part>summary::before{content:counter(gdpart);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;box-sizing:border-box;border:1.5px solid var(--gd-field-line);font-size:12px;font-weight:700;color:var(--gd-muted);font-variant-numeric:tabular-nums}
  .gd-shell .gd-part>summary small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .gd-shell .gd-part>summary:hover{background:var(--gd-line)}
  .gd-shell .gd-part:not(:has([aria-current])) >summary{color:var(--gd-muted);font-weight:500}
  .gd-shell .gd-part:has([aria-current])>summary::before{background:var(--gd-brand);border-color:var(--gd-brand);color:#fff}
  /* Every step of the part done (each carries a check) */
  .gd-shell .gd-part:not(:has(li button:not(:has(svg))))>summary::before{content:"";border-color:var(--gd-ok);background:var(--gd-ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7a4d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}
  .gd-shell .gd-part ol{margin:2px 0 10px 11px;padding:0 0 0 0;border-left:1.5px solid var(--gd-line)}
  .gd-shell .gd-part button{min-height:38px;padding:8px 10px 8px 20px;margin-left:-1.5px;border-left:2px solid transparent;border-radius:0 var(--radius-control) var(--radius-control) 0;font-size:13.5px}
  .gd-shell .gd-part button[aria-current=step]{border-left-color:var(--gd-brand);background:var(--gd-pale);color:var(--gd-ink)}
  .gd-shell .op-qs{padding-top:0}

  /* The question */
  .gd-shell .gd-step-main{grid-column:2;grid-row:2;width:100%;max-width:var(--gd-form);margin:0 auto;padding:clamp(20px,5vh,56px) clamp(28px,3.5vw,56px) 0;box-sizing:content-box;min-width:0}
  .gd-shell .gd-step-main h1{font-size:clamp(2rem,2.4vw,2.6rem);line-height:1.22;margin-bottom:6px}
  .gd-shell .gd-h1row{margin-bottom:22px}
  .gd-shell .gd-kicker{font-size:13px;font-variant-numeric:tabular-nums}
  .gd-shell .gd-report{grid-column:2;grid-row:3;margin:28px 0 36px}
  .gd-shell .gd-fields{gap:24px}
  .gd-shell .gd-field>label,.gd-shell .gd-field>.field-head>label,.gd-shell .gd-field legend{font-size:14.5px}
  .gd-shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.gd-shell select{min-height:48px}

  /* Choices: control radius; a long list goes two to a row */
  .gd-shell .gd-choice{border-radius:var(--radius-control);min-height:54px;padding:12px 16px;border-width:1px}
  .gd-shell .gd-choice.on{box-shadow:inset 0 0 0 1px var(--gd-brand)}
  .gd-shell .gd-choices:has(>.gd-choice:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-shell .op-check .gd-choice{min-height:60px}

  /* The actions stay in view at the foot of the column */
  .gd-shell .gd-nav{position:sticky;bottom:0;z-index:5;margin:36px 0 0;padding:14px 0 16px;border-top:1px solid var(--gd-line);
    background:var(--gd-navbg,rgba(241,237,230,.86));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
    box-shadow:0 0 0 100vmax var(--gd-navbg,rgba(241,237,230,.86));clip-path:inset(-1px -100vmax 0 calc((100% - 100vw + var(--gd-side)) / 2))}
  html[data-theme=night] .gd-shell .gd-nav{--gd-navbg:rgba(32,30,28,.86)}
  .gd-shell .gd-next{min-height:46px;padding:0 24px}
}

/* The release notice starts where the menu's content does, so the page keeps one left edge. */
@media (min-width:1100px){
  html[data-edition] body.gd-focus:not(.ac-focus):has(.gd-shell) .demo-banner{padding-left:22px}
}

/* Phones and tablets, questionnaire and flow steps (2026-11-06): the directory row names the current part, choices are
   tighter, and Back / Continue sit in one bar at the foot of the screen. The bar lets go while a field is focused, so it
   never covers the field above the keyboard. */
.gd-contents-l{display:grid;gap:1px;min-width:0}
.gd-contents-l small{font-size:12.5px;font-weight:500;color:var(--gd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1099.98px){
  .gd-question .gd-contents,.gd-flow .gd-contents{margin:0 0 18px}
  .gd-question .gd-contents>summary,.gd-flow .gd-contents>summary{min-height:52px;padding:8px 0}
  .gd-question .gd-kicker,.gd-flow .gd-kicker{font-variant-numeric:tabular-nums;margin-bottom:6px}
  .gd-question .gd-choices{gap:8px}
  .gd-question .gd-choice{min-height:52px;padding:12px 14px;border-radius:var(--radius-control);border-width:1px}
  .gd-question .gd-choice.on{box-shadow:inset 0 0 0 1px var(--gd-brand)}
  .gd-question .gd-nav,.gd-flow .gd-nav{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:10px;margin:28px 0 0;
    padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gd-line);
    background:var(--gd-navbg,rgba(241,237,230,.9));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
    box-shadow:0 0 0 100vmax var(--gd-navbg,rgba(241,237,230,.9));clip-path:inset(-1px -100vmax 0 -100vmax)}
  html[data-theme=night] .gd-question .gd-nav,html[data-theme=night] .gd-flow .gd-nav{--gd-navbg:rgba(32,30,28,.9)}
  .gd-question .gd-nav-r,.gd-flow .gd-nav-r{display:flex;flex:1;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0}
  .gd-question .gd-nav>.gd-back,.gd-flow .gd-nav>.gd-back{flex:none;min-height:46px;padding:8px 10px 8px 4px}
  .gd-question .gd-nav-r>.gd-skip,.gd-flow .gd-nav-r>.gd-skip{flex:none;min-height:46px;padding:8px;font-size:14px}
  .gd-question .gd-nav .gd-next,.gd-flow .gd-nav .gd-next{flex:0 1 auto;width:auto;min-width:min(200px,100%);min-height:46px;padding:0 20px;margin:0}
  .gd-question:has(input:focus,textarea:focus,select:focus) .gd-nav{position:static;box-shadow:none;clip-path:none}
  .gd-question .gd-nav>span:empty{display:none}
}
@media (max-width:640px){
  .gd-question .gd-nav .gd-next,.gd-flow .gd-nav .gd-next{flex:1 1 auto;min-width:0}
  .gd-question .gd-nav>.gd-back,.gd-flow .gd-nav>.gd-back{font-size:14.5px}
  .gd-question .gd-report,.gd .gd-report{margin-top:20px}
}
/* A date: typed as MM/DD/YYYY or picked; the native picker sits under the field, opened by the calendar button. */
.gd-date .gd-date-pick{position:absolute;inset:auto 0 0 auto;width:100%;height:100%;opacity:0;pointer-events:none;z-index:0}
.gd .gd-date input[type=text]{position:relative;z-index:1;padding-right:52px;font-variant-numeric:tabular-nums}
.gd-cal{position:absolute;z-index:2;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--radius-control);background:none;color:var(--gd-muted);cursor:pointer}
.gd-cal svg{width:20px;height:20px}
.gd-cal:hover,.gd-cal:focus-visible{color:var(--gd-brand);background:var(--gd-pale)}
.gd-switch{margin:18px 0 0;padding:18px 20px;border-radius:var(--radius-panel);border:1.5px solid var(--gd-field-line);background:var(--gd-field)}
.gd-switch h2{font-size:17px;margin:0 0 6px;outline:none}
.gd-switch p{font-size:14.5px;line-height:1.65;margin:0 0 14px;color:var(--gd-ink)}
.gd-switch-a{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
