:root{--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-xxxl:64px;--paper:#fffdf8;--tomato:#e4573f;--butter:#f4c95d;--ink:#24332e;--control-border:#6f8579;--disabled-surface:#e9eeea;--control-height:54px;--target-size:48px;--field-gap:8px;--form-gap:24px;--radius-control:15px;--radius-panel:24px;--radius-large:28px;--focus-width:3px;--focus-offset:3px;--font-body:"Nunito Sans", Arial, sans-serif;--type-display:clamp(3rem, 4.8vw, 3.5rem);--type-title:clamp(2rem, 3.6vw, 2.5rem);--type-heading:clamp(1.375rem, 2.5vw, 1.5rem);--bg:#f6f0e6;--bg-accent:#dde9df;--bg-gradient-end:#fffdf8;--surface:#fffdf8;--surface-soft:#eef3eb;--text:#24332e;--muted:#5c6b65;--line:#cad7ce;--brand:#176b57;--brand-strong:#0e493d;--secondary:#e4573f;--secondary-text:#b73d2c;--danger:#b42318;--danger-surface:#fef3f2;--danger-border:#b42318;--danger-text:#b42318;--success-surface:#dde9df;--success-border:#176b57;--success-text:#0e493d;--focus:#075fce;--hero-start:#dde9df;--hero-end:#f4c95d;--hero-border:#cad7ce;--hero-kicker-bg:#fff7dc;--hero-kicker-border:#f4c95d;--radial-one:#dde9df;--radial-two:#fff7dc;--radius:24px}
@font-face { font-family:"Nunito Sans"; src:url('/_pilot/assets/nunito-regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:"Nunito Sans"; src:url('/_pilot/assets/nunito-bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:"Nunito Sans"; src:url('/_pilot/assets/nunito-extra-bold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:"Nunito Sans"; src:url('/_pilot/assets/nunito-black.woff2') format('woff2'); font-weight:900; font-display:swap; }
:root { --cream:var(--bg); --green:var(--brand); --deep:var(--brand-strong); --yellow:var(--butter); }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-body); font-size:1rem; line-height:1.5; }
a { color:var(--green); }
:focus-visible { outline:var(--focus-width) solid var(--focus); outline-offset:var(--focus-offset); }
a,button,input { -webkit-tap-highlight-color:transparent; }
.skip { position:fixed; top:0; transform:translateY(-100%); left:1rem; background:var(--paper); padding:12px; z-index:5; }
.skip:focus { top:1rem; transform:translateY(0); }
.shell { max-width:1250px; padding:0 64px; margin:auto; min-height:100svh; display:flex; flex-direction:column; }
header { min-height:128px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
header>a { padding:12px; margin-left:-12px; display:inline-flex; min-height:var(--target-size); align-items:center; }
.wordmark { width:220px; height:auto; }
.phase { font-size:.875rem; color:var(--muted); display:flex; gap:8px; align-items:center; }
.phase>span { font-size:.625rem; color:var(--green); }
main { flex:1; }
.hero { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:32px; padding:64px 0 80px; min-height:570px; }
.eyebrow { font-size:.875rem; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:var(--deep); margin:0 0 24px; }
h1 { margin:0; color:var(--deep); font-size:var(--type-display); line-height:1.05; letter-spacing:-.015em; font-weight:900; }
h1>span { color:var(--green); }
.intro { font-size:1.125rem; line-height:1.5; max-width:58ch; color:var(--muted); margin:24px 0 0; }
.status { font-size:1rem; color:var(--muted); margin:24px 0 0; max-width:58ch; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-height:var(--target-size); border:0; border-radius:var(--radius-control); padding:12px 24px; background:var(--green); color:white; text-decoration:none; font:800 1rem/1.5 var(--font-body); margin-top:32px; cursor:pointer; }
.button:hover { background:var(--deep); }
.button>span { font-size:1.3125rem; }
.art { position:relative; min-height:420px; display:grid; place-items:center; isolation:isolate; }
.orbit { position:absolute; inset:12px 0; background:var(--bg-accent); border-radius:48% 52% 53% 47%/46% 56% 44% 54%; z-index:-1; }
.orbit:after { content:''; position:absolute; bottom:5%; left:0; width:32%; aspect-ratio:1; border-radius:50%; background:var(--butter); opacity:.65; }
.dish { width:66.66%; height:auto; }
.art-note { position:absolute; bottom:24px; right:0; padding:8px 16px; border-radius:var(--radius-control); background:var(--paper); font-weight:800; font-size:1rem; color:var(--deep); }
footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:24px 0 32px; color:var(--muted); font-size:.875rem; border-top:1px solid var(--line); }
.access { width:min(640px,100%); margin:32px auto 64px; }
.back { display:inline-flex; align-items:center; min-height:var(--target-size); margin-bottom:16px; text-decoration:underline; font-weight:800; font-size:.875rem; }
.access-card { padding:32px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-panel); margin-top:16px; }
.access-card h1 { font-size:var(--type-title); line-height:1.1; }
.access-card .eyebrow { margin-bottom:16px; }
form { margin-top:24px; }
label { display:block; font-size:.9375rem; font-weight:800; margin-bottom:8px; }
input[type=password] { width:100%; min-height:var(--control-height); border:1px solid var(--control-border); border-radius:var(--radius-control); padding:14px 16px; font:inherit; background:white; color:var(--ink); }
input[aria-invalid="true"] { border-color:var(--danger); }
form .button { width:100%; margin-top:24px; }
.helper { font-size:.875rem; color:var(--muted); margin:24px 0 0; }
.error,.message { padding:16px; margin:24px 0 0; border-radius:var(--radius-control); font-size:1rem; }
.error { color:var(--danger); background:var(--danger-surface); border:1px solid var(--danger); }
.message { background:var(--success-surface); color:var(--deep); }
@media(max-width:800px) {
  .shell { padding:0 24px; }
  header { min-height:104px; }
  .wordmark { width:184px; }
  .hero { grid-template-columns:1fr; gap:24px; padding:48px 0 64px; }
  .copy { max-width:640px; }
  .art { min-height:300px; max-width:370px; width:100%; justify-self:center; margin-top:32px; }
  .orbit { inset:0; }
  .art-note { bottom:8px; }
  .access { margin-top:16px; }
  .access-card { padding:24px; }
}
@media(max-width:420px) {
  .shell { padding:0 16px; }
  header { align-items:flex-start; flex-direction:column; justify-content:center; gap:8px; padding:24px 0; }
  .hero { padding-top:32px; }
  .art { min-height:250px; max-width:300px; }
  .access-card { padding:16px; }
  .button { width:100%; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }

/* The public access screens need the same reflow and focus support as the site. */
html { scroll-padding-block:1rem; }
img, svg { max-width:100%; }
h1, p, a, button, label, .error, .message { overflow-wrap:anywhere; }
button, input, [tabindex] { scroll-margin-block:1rem; }
.shell > *, .hero > *, .access-card { min-width:0; }
.skip { max-width:calc(100% - 2rem); }
.button { max-width:100%; text-align:center; }
.button > span { flex-shrink:0; }
.error:focus { outline:var(--focus-width) solid var(--focus); outline-offset:var(--focus-offset); }
input[type=password] { font-size:1rem; }
@media(forced-colors:active) {
  :focus-visible { outline-color:Highlight; }
  .button { border:1px solid ButtonText; }
  .access-card { border-color:CanvasText; }
  input[aria-invalid="true"] { border-width:2px; }
}
