.goose-is-open{overflow:hidden}
.goose-shell[hidden]{display:none}
.goose-fallback{display:grid;align-content:center;min-height:100vh;padding:clamp(32px,8vw,120px);background:var(--ha-ink);color:var(--ha-paper)}
.goose-fallback h1{max-width:11ch;margin:0;font-size:clamp(48px,8vw,96px);line-height:.96;letter-spacing:-.055em}
.goose-fallback p{max-width:48ch;color:var(--ha-soft-on-dark);font-size:17px;line-height:1.6}
.goose-dialog{width:min(1080px,calc(100vw - 32px));max-width:none;height:min(760px,calc(100dvh - 32px));max-height:none;margin:auto;padding:0;border:0;background:transparent;color:var(--ha-ink);overflow:hidden;box-shadow:0 30px 100px rgba(var(--ha-ink-rgb),.42)}
.goose-dialog::backdrop{background:rgba(var(--ha-ink-rgb),.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.goose-frame{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.8fr);width:100%;height:100%;background:var(--ha-paper)}
.goose-side{display:flex;flex-direction:column;gap:24px;padding:clamp(28px,4vw,52px);background:var(--ha-ink);color:var(--ha-paper)}
.goose-character{width:112px;height:112px}
.goose-character img{display:block;width:100%;height:100%;object-fit:cover}
.goose-side p{margin:0;color:var(--ha-soft-on-dark);font-size:15px;line-height:1.55}
.goose-side .goose-name{margin-bottom:4px;color:var(--ha-paper);font-family:var(--ha-font-display);font-size:clamp(32px,4vw,52px);font-weight:600;line-height:1;letter-spacing:-.045em}
.goose-side .goose-side-note{margin-top:auto;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ha-paper) 18%,transparent)}
.goose-work{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:var(--ha-paper)}
.goose-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:12px clamp(20px,3vw,38px);border-bottom:1px solid var(--ha-hairline)}
.goose-topbar button{font:inherit}
.goose-back,.goose-close{border:0;background:transparent;color:var(--ha-ink);font-size:14px;font-weight:600;cursor:pointer}
.goose-back{grid-column:1;justify-self:start;padding:10px 0}
.goose-progress{grid-column:2}
.goose-close{grid-column:3;justify-self:end;display:flex;align-items:center;gap:10px;padding:8px 0}
.goose-close b{position:relative;width:20px;height:20px}
.goose-close b::before,.goose-close b::after{content:"";position:absolute;top:9px;left:1px;width:18px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.goose-close b::after{transform:rotate(-45deg)}
.goose-progress{color:var(--ha-ink-soft);font-size:12px;font-weight:600;letter-spacing:.04em}
.goose-form{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden}
.goose-screen{grid-row:1;grid-column:1;display:flex;flex-direction:column;align-items:flex-start;width:min(680px,100%);min-height:0;height:100%;margin:0 auto;padding:clamp(38px,6vh,70px) clamp(24px,5vw,64px) 28px;overflow:auto}
.goose-scroll-cue{grid-row:1;grid-column:1;align-self:end;justify-self:center;z-index:3;display:flex;align-items:center;gap:7px;margin-bottom:10px;padding:7px 11px;background:var(--ha-ink);color:var(--ha-paper);clip-path:polygon(0 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);font-size:12px;font-weight:700;line-height:1;pointer-events:none;box-shadow:0 4px 16px rgba(var(--ha-ink-rgb),.18)}
.goose-scroll-cue[hidden]{display:none}
.goose-scroll-cue b{font-size:15px;animation:goose-scroll-nudge 1.15s ease-in-out 2}
.goose-footer{grid-row:2;grid-column:1;display:flex;align-items:center;gap:12px;width:min(680px,100%);margin:0 auto;padding:0 clamp(24px,5vw,64px) clamp(24px,4vh,38px);background:var(--ha-paper)}
.goose-footer:empty{display:none}
.goose-footer .goose-actions{margin-top:12px}
.goose-screen h2{max-width:12ch;margin:0;font-family:var(--ha-font-display);font-size:clamp(38px,5vw,64px);font-weight:600;line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.goose-intro{width:100%;max-width:54ch;margin:24px 0 0;color:var(--ha-ink-soft);font-size:17px;line-height:1.6}
.goose-actions{display:flex;align-items:center;gap:12px;margin-top:32px}
.goose-primary,.goose-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 22px;border:1px solid var(--ha-ink);font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}
.goose-primary{background:var(--ha-bloom);border-color:var(--ha-bloom);color:var(--ha-ink);clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}
.goose-primary:hover{background:var(--ha-hero-action-hover);border-color:var(--ha-hero-action-hover)}
.goose-primary:disabled{opacity:.58;cursor:wait}
.goose-portal{width:100%;min-height:64px;margin-top:24px;font-size:18px}
.goose-portal+.goose-choices{margin-top:22px}
.goose-secondary{margin-top:18px;background:transparent;color:var(--ha-ink)}
.goose-choices{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:30px;border-top:1px solid var(--ha-ink)}
.goose-choice{display:grid;gap:5px;min-height:76px;padding:16px 42px 16px 0;border:0;border-bottom:1px solid var(--ha-hairline);background:transparent;color:var(--ha-ink);text-align:left;cursor:pointer;position:relative}
.goose-choice:nth-child(odd){padding-right:28px;border-right:1px solid var(--ha-hairline)}
.goose-choice:nth-child(even){padding-left:28px}
.goose-choice::after{content:"";position:absolute;top:20px;right:12px;width:14px;height:14px;border:1.5px solid var(--ha-ink-faint);border-radius:50%}
.goose-choice:nth-child(even)::after{right:12px}
.goose-choice.is-selected::after{border-color:var(--ha-bloom-deep);background:var(--ha-bloom);box-shadow:inset 0 0 0 3px var(--ha-paper)}
.goose-choice strong{font-size:16px;font-weight:700;line-height:1.3}
.goose-choice span{color:var(--ha-ink-soft);font-size:13px;line-height:1.45}
.goose-choice:hover strong{color:var(--ha-bloom-deep)}
.goose-question-label{margin:32px 0 0;font-size:15px;font-weight:700;line-height:1.4}
.goose-question-label+.goose-choices{margin-top:14px}
.goose-field{display:grid;gap:9px;width:100%;margin-top:24px}
.goose-label{font-size:14px;font-weight:700}
.goose-field input,.goose-field textarea{width:100%;border:1px solid var(--ha-hairline);border-radius:0;background:var(--ha-card);color:var(--ha-ink);font:inherit;font-size:17px;line-height:1.5;outline:0;transition:border-color var(--ha-motion-fast) var(--ha-ease),box-shadow var(--ha-motion-fast) var(--ha-ease)}
.goose-field input{min-height:54px;padding:11px 14px}
.goose-field textarea{resize:vertical;min-height:150px;padding:14px}
.goose-field input:focus,.goose-field textarea:focus{border-color:var(--ha-bloom-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--ha-bloom) 24%,transparent)}
.goose-field small{color:var(--ha-ink-soft);font-size:12px;line-height:1.45}
.goose-field-large{margin-top:32px}
.goose-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;width:100%;margin-top:6px}
.goose-privacy{max-width:58ch;margin:22px 0 0;color:var(--ha-ink-soft);font-size:13px;line-height:1.55}
.goose-privacy a{color:inherit}
.goose-review-field textarea{min-height:190px;font-size:16px}
.goose-error{position:sticky;bottom:0;margin:0;padding:14px 24px;background:var(--ha-bloom-deep);color:var(--ha-white);font-size:14px;text-align:center}
.goose-complete-message{max-width:48ch;margin:28px 0 0;color:var(--ha-ink-soft);font-size:18px;line-height:1.6}
.goose-whatsapp,.goose-restart{margin-top:0}
.goose-back:focus-visible,.goose-close:focus-visible,.goose-choice:focus-visible,.goose-primary:focus-visible,.goose-secondary:focus-visible{outline:3px solid var(--ha-bloom);outline-offset:4px}

@keyframes goose-scroll-nudge{50%{transform:translateY(3px)}}

@media(max-width:760px){
  .goose-dialog{width:100vw;height:100dvh;max-height:none}
  .goose-frame{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .goose-side{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:7px 18px;background:var(--ha-ink)}
  .goose-character{width:44px;height:44px}
  .goose-side .goose-name{font-size:20px}
  .goose-side p{font-size:11px;line-height:1.3}
  .goose-side .goose-side-note{display:none}
  .goose-topbar{min-height:48px;padding:5px 18px}
  .goose-close span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .goose-screen{padding:22px 20px 18px}
  .goose-screen h2{font-size:clamp(34px,9vw,44px);max-width:13ch}
  .goose-intro{margin-top:14px;font-size:15px}
  .goose-portal{min-height:58px;margin-top:18px;font-size:17px}
  .goose-portal+.goose-choices{margin-top:16px}
  .goose-choices{grid-template-columns:1fr;margin-top:18px}
  .goose-choice,.goose-choice:nth-child(odd),.goose-choice:nth-child(even){min-height:54px;padding:11px 40px 11px 0;border-right:0}
  .goose-choice::after,.goose-choice:nth-child(even)::after{top:16px;right:8px}
  .goose-question-label{margin-top:22px}
  .goose-field{margin-top:18px}
  .goose-field-large{margin-top:22px}
  .goose-field textarea{min-height:120px}
  .goose-footer{flex-wrap:wrap;padding:12px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--ha-hairline)}
  .goose-footer .goose-actions{margin-top:0}
  .goose-footer>.goose-whatsapp{flex:1 1 100%;width:100%}
  .goose-footer>.goose-restart,.goose-footer>.goose-secondary{flex:1 1 calc(50% - 6px);width:auto;margin:0;padding-right:10px;padding-left:10px;font-size:14px}
  .goose-field-grid{grid-template-columns:1fr;gap:0}
  .goose-actions,.goose-actions .goose-primary{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .goose-field input,.goose-field textarea{transition:none}
  .goose-scroll-cue b{animation:none}
}
