
.site-shell {
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding-top:96px;
}
.site-shell .top-actions { position:absolute; z-index:3; right:4vw; top:28px; display:flex; align-items:center; gap:10px; }
.site-shell .language-toggle,.site-shell .admin-link { padding:9px 15px; text-decoration:none; cursor:pointer; font-size:13px; font-weight:600; }
.site-shell .hero { max-width:760px; margin:44px auto 36px; text-align:center; padding:0 24px; position:relative; }
.site-shell .eyebrow { letter-spacing:.2em; font-weight:700; font-size:12px; }
.site-shell .hero h1 { margin:12px 0 16px; }
.site-shell .hero>p:last-child { font-size:17px; margin:auto; max-width:570px; line-height:1.65; }
.site-shell .survey-card { width:min(880px,calc(100% - 40px)); margin:36px auto 44px; padding:48px clamp(24px,5vw,64px) 40px; position:relative; z-index:1; border-radius:4px; }
.site-shell .question { padding:0 0 32px; margin:0; text-align:center; }
.site-shell .question:last-of-type { padding-bottom:0; }
.site-shell .question legend { width:100%; padding:0; margin-bottom:16px; font-weight:700; text-align:center; }
.site-shell .question legend span { display:none; }
.site-shell .choice-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:14px; }
.site-shell .pill { min-width:128px; padding:10px 22px 10px; cursor:pointer; transition:.18s ease; font-weight:600; font-size:14.5px; text-align:center; }
.site-shell .pill:hover { transform:translateY(-2px); }
.site-shell .pill input { position:absolute; opacity:0; pointer-events:none; }
.site-shell textarea { display:block; width:100%; max-width:720px; margin:14px auto 0; resize:vertical; padding:14px 16px; outline:none; min-height:96px; border-radius:4px; font-family:inherit; font-size:15px; }
.site-shell .field-error,.site-shell .form-error { font-size:13px; margin:12px 0 0; }
.site-shell .form-error { text-align:center; }
.site-shell .gold-button { padding:14px 27px 13px; min-width:210px; font-weight:700; cursor:pointer; }
.site-shell .gold-button:hover { transform:translateY(-1px); }
.site-shell .gold-button:disabled { opacity:.55; cursor:wait; }
.site-shell .submit-button { display:flex; align-items:center; justify-content:center; gap:0; margin:28px auto 0; min-width:140px; padding:12px 36px 11px; font-size:15px; }
.site-shell .submit-button span { font-size:21px; line-height:0; }
.site-shell .submit-button span { display:none; }
.site-shell .privacy { display:none; }
.site-shell footer { position:relative; z-index:1; text-align:center; padding:0 24px 34px; }
.site-shell .footer-rule { display:none; }
.site-shell .danzantes-logo { display:block; width:min(150px,45vw); height:auto; margin:0 auto 12px; }
.site-shell .awards { display:block; width:min(160px,48vw); height:auto; margin:0 auto; }
.site-shell .rating-container { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:18px; }
.site-shell .stars-row { display:flex; gap:10px; justify-content:center; }
.site-shell .star-btn { cursor:pointer; font-size:38px; line-height:1; transition:transform .15s ease, color .15s ease; padding:4px 6px; }
.site-shell .star-btn:hover,.site-shell .star-btn.hovered,.site-shell .star-btn.active { transform:scale(1.18); }
.site-shell .star-btn:active { transform:scale(0.95); }
.site-shell .star-label { font-size:14px; font-weight:600; min-height:22px; }
.site-shell .debug-console { position:fixed; bottom:0; left:0; right:0; z-index:9999; font-size:12px; }
.site-shell .debug-header { display:flex; justify-content:space-between; align-items:center; padding:8px 16px; cursor:pointer; }
.site-shell .debug-badge { font-weight:bold; padding:2px 8px; font-size:11px; }
.site-shell .debug-body { padding:12px 16px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.site-shell .debug-btn { padding:6px 12px; font-weight:bold; cursor:pointer; }

@media (max-width:760px) {
  .site-shell {
    padding-top:74px;
  }
  .site-shell .top-actions { top:18px; right:14px; }
  .site-shell .hero { margin-top:24px; }
  .site-shell .survey-card { width:calc(100% - 20px); padding:28px 18px 30px; margin-bottom:28px; }
  .site-shell .pill { width:100%; min-width:0; }
  .site-shell .choice-grid { gap:14px; }
  .site-shell .question { padding:18px 0 22px; }
}
.site-shell { color:var(--brand-text); background:var(--brand-bg); font-family:var(--brand-font); }
.site-shell .brand-logo-top {text-align:center;margin:8px auto 30px;padding:0 24px;}
.site-shell .brand-logo {width:min(400px,75vw);height:auto;}
.site-shell :is(button,a,input,textarea):focus-visible, .site-shell .pill:has(input:focus-visible) {outline:3px solid var(--brand-primary);outline-offset:5px;}
.site-shell textarea[aria-invalid="true"] {border-width:2px;}
.site-shell .debug-header {width:100%;color:inherit;border:0;text-align:left;}
.site-shell .survey-heading {margin:0 auto 28px;text-align:center;max-width:760px;padding:0 24px;}
.site-shell .survey-heading h1 {font-family:var(--brand-heading-font);font-size:clamp(26px,4vw,40px);}
@media (prefers-reduced-motion:reduce) {.site-shell * {transition:none;scroll-behavior:auto;}}
