@font-face{font-family:"ITC Avant Garde Gothic Std";src:url("/fonts/avant-garde.c1ce0c4d05.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"ITC Avant Garde Gothic Std";src:url("/fonts/avant-garde.0c481d4a2a.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
/* ---- Brand base palette (Roost Brand Book, p.10-11) ---- */
--roost-blue:#68D2DF;              /* Hero colour. PANTONE 3105c */
--roost-beige:#A09074;             /* Secondary. PANTONE 2325c */
--roost-red:#A6192E;               /* Secondary. PANTONE 187c */
--roost-deep-teal:#005863;         /* Sampled from brand collateral; text on blue */

/* ---- Campaign / illustration roles (2017 banner set, refreshed) ---- */
--illus-ink:var(--roost-deep-teal);   /* the body of every two-tone object */
--illus-accent:var(--roost-red);      /* one element of the pair */
--illus-twin:var(--roost-beige);      /* its twin */
--campaign-field:var(--roost-blue);
--campaign-line-1:var(--roost-red);
--campaign-line-2:#FFFFFF;
--campaign-ground:rgba(0,88,99,.10);  /* soft shadow the object stands on */

/* ---- Archive: as-printed values from the 2017 Facebook banners. Reproduction only. ---- */
--legacy-2017-sky:#8DD3DB;
--legacy-2017-ink:#005476;
--legacy-2017-red:#AA1225;
--legacy-2017-taupe:#8C7D70;

/* Blue ramp (tints/shades of the hero colour) */
--blue-100:#F0FBFC;
--blue-200:#D9F3F7;
--blue-300:#A7E4EC;
--blue-400:#78D7E3;               /* as printed on social tiles */
--blue-500:#68D2DF;               /* = --roost-blue */
--blue-600:#3FB4C4;
--blue-700:#1D8996;
--blue-800:#005863;               /* = --roost-deep-teal */

/* Beige / warm neutral ramp */
--beige-100:#F7F5F1;
--beige-200:#EDE9E1;
--beige-300:#D8D0C2;
--beige-400:#BFB39C;
--beige-500:#A09074;              /* = --roost-beige */
--beige-600:#7E7159;
--beige-700:#544A39;

/* Red ramp */
--red-100:#FBEDEF;
--red-300:#E8A2AC;
--red-500:#A6192E;               /* = --roost-red */
--red-600:#8A1426;
--red-700:#6B0F1D;

/* Cool neutrals / greys */
--grey-000:#FFFFFF;
--grey-050:#FAFAFA;
--grey-100:#F2F2F2;
--grey-200:#E5E5E5;
--grey-300:#CCCCCC;
--grey-400:#A8A8A8;
--grey-500:#7A7A7A;
--grey-600:#565656;
--grey-700:#3A3A3A;
--grey-800:#242424;
--grey-900:#141414;

/* ---- Semantic aliases ---- */
--text-heading:var(--grey-800);
--text-body:var(--grey-700);
--text-muted:var(--grey-500);
--text-inverse:#FFFFFF;
--text-on-blue:var(--roost-deep-teal);
--text-accent:var(--roost-red);
--text-link:var(--blue-700);
--text-link-hover:var(--roost-deep-teal);

--surface-page:#FFFFFF;
--surface-subtle:var(--beige-100);
--surface-card:#FFFFFF;
--surface-hero:var(--roost-blue);
--surface-inverse:var(--roost-deep-teal);
--surface-accent:var(--roost-red);
--surface-warm:var(--beige-200);

--border-subtle:var(--grey-200);
--border-default:var(--grey-300);
--border-strong:var(--beige-500);
--border-focus:var(--blue-700);

--action-primary-bg:var(--roost-red);
--action-primary-bg-hover:var(--red-600);
--action-primary-bg-active:var(--red-700);
--action-primary-fg:#FFFFFF;
--action-secondary-bg:var(--roost-blue);
--action-secondary-bg-hover:var(--blue-600);
--action-secondary-bg-active:var(--blue-700);
--action-secondary-fg:var(--roost-deep-teal);
--action-quiet-fg:var(--roost-deep-teal);
--action-disabled-bg:var(--grey-200);
--action-disabled-fg:var(--grey-400);

--feedback-success:#1D8996;
--feedback-warning:#A09074;
--feedback-error:var(--roost-red);
--feedback-info:var(--blue-700);
}

:root{
--font-core:"ITC Avant Garde Gothic Std","Avant Garde","Century Gothic",Helvetica,Arial,sans-serif;
--font-fallback:Helvetica,Arial,sans-serif; /* brand book: Helvetica then Arial */
--font-weight-book:400;
--font-weight-demi:600;

--text-2xs:12px;
--text-xs:14px;
--text-sm:16px;
--text-md:18px;
--text-lg:21px;
--text-xl:26px;
--text-2xl:32px;
--text-3xl:42px;
--text-4xl:56px;
--text-5xl:72px;
--text-6xl:96px;

--leading-tight:1.05;
--leading-snug:1.15;
--leading-heading:1.2;
--leading-body:1.55;
--leading-loose:1.7;

--tracking-display:-0.02em;
--tracking-heading:-0.01em;
--tracking-body:0;
--tracking-caps:0.12em;

/* semantic roles */
--type-display:var(--font-weight-demi) var(--text-5xl)/var(--leading-tight) var(--font-core);
--type-h1:var(--font-weight-demi) var(--text-4xl)/var(--leading-snug) var(--font-core);
--type-h2:var(--font-weight-demi) var(--text-3xl)/var(--leading-heading) var(--font-core);
--type-h3:var(--font-weight-demi) var(--text-2xl)/var(--leading-heading) var(--font-core);
--type-h4:var(--font-weight-demi) var(--text-xl)/var(--leading-heading) var(--font-core);
--type-lead:var(--font-weight-book) var(--text-lg)/var(--leading-body) var(--font-core);
--type-body:var(--font-weight-book) var(--text-sm)/var(--leading-body) var(--font-core);
--type-small:var(--font-weight-book) var(--text-xs)/var(--leading-body) var(--font-core);
--type-caption:var(--font-weight-book) var(--text-2xs)/var(--leading-body) var(--font-core);
--type-eyebrow:var(--font-weight-demi) var(--text-2xs)/1.2 var(--font-core);
}

:root{
--space-0:0;
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:40px;
--space-8:56px;
--space-9:72px;
--space-10:96px;
--space-11:128px;

--gutter-page:24px;
--gutter-page-lg:48px;
--container-sm:640px;
--container-md:960px;
--container-lg:1200px;
--container-xl:1440px;

--section-y:var(--space-10);
--section-y-tight:var(--space-8);
--card-pad:var(--space-6);
--field-height:48px;
--control-height-sm:36px;
--control-height-lg:56px;
--tap-min:44px;

/* Logo clear space = x-height of the wordmark (brand book p.8) */
--logo-clearspace:1em;
}

:root{
--radius-none:0;
--radius-xs:4px;
--radius-sm:8px;
--radius-md:16px;
--radius-lg:24px;
--radius-xl:32px;
--radius-pill:999px;
--radius-circle:50%;
--radius-card:var(--radius-md);
--radius-tile:var(--radius-lg);
--radius-control:var(--radius-pill);
--radius-field:var(--radius-sm);
}

:root{
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(20,20,20,.06);
--shadow-sm:0 2px 8px rgba(20,20,20,.07);
--shadow-md:0 8px 24px rgba(20,20,20,.09);
--shadow-lg:0 20px 48px rgba(20,20,20,.12);
--shadow-focus:0 0 0 3px rgba(104,210,223,.55);
--shadow-inset-field:inset 0 1px 2px rgba(20,20,20,.05);
--shadow-card:var(--shadow-sm);
--shadow-card-hover:var(--shadow-md);
/* Protection gradient for text over photography */
--scrim-bottom:linear-gradient(to top,rgba(0,88,99,.72) 0%,rgba(0,88,99,0) 65%); /* @kind other */
--scrim-full:linear-gradient(to top,rgba(0,88,99,.6),rgba(0,88,99,.25)); /* @kind other */
--blur-panel:saturate(140%) blur(14px); /* @kind other */
}

:root{
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-in:cubic-bezier(.4,0,1,1); /* @kind other */
--duration-instant:80ms; /* @kind other */
--duration-fast:150ms; /* @kind other */
--duration-base:240ms; /* @kind other */
--duration-slow:420ms; /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard); /* @kind other */
--transition-surface:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out); /* @kind other */
--press-scale:0.98; /* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{margin:0;color:var(--text-heading);letter-spacing:var(--tracking-heading)}
h1{font:var(--type-h1)}h2{font:var(--type-h2)}h3{font:var(--type-h3)}h4{font:var(--type-h4)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline}
img{max-width:100%;display:block}
::selection{background:var(--blue-300);color:var(--roost-deep-teal)}

/* Roost component styles. Classes are consumed by the React primitives in components/. */

/* ---------- Button ---------- */
.rst-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--font-weight-demi) var(--text-sm)/1 var(--font-core);letter-spacing:var(--tracking-body);border:1.5px solid transparent;border-radius:var(--radius-control);cursor:pointer;transition:var(--transition-control);text-decoration:none;min-height:var(--tap-min);padding:0 var(--space-6)}
.rst-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.rst-btn:active{transform:scale(var(--press-scale))}
.rst-btn[disabled],.rst-btn[aria-disabled=true]{background:var(--action-disabled-bg);color:var(--action-disabled-fg);border-color:transparent;cursor:not-allowed;transform:none}
.rst-btn--sm{min-height:var(--control-height-sm);padding:0 var(--space-4);font-size:var(--text-xs)}
.rst-btn--lg{min-height:var(--control-height-lg);padding:0 var(--space-7);font-size:var(--text-md)}
.rst-btn--primary{background:var(--action-primary-bg);color:var(--action-primary-fg)}
.rst-btn--primary:hover:not([disabled]){background:var(--action-primary-bg-hover)}
.rst-btn--primary:active:not([disabled]){background:var(--action-primary-bg-active)}
.rst-btn--secondary{background:var(--action-secondary-bg);color:var(--action-secondary-fg)}
.rst-btn--secondary:hover:not([disabled]){background:var(--action-secondary-bg-hover)}
.rst-btn--secondary:active:not([disabled]){background:var(--action-secondary-bg-active);color:#fff}
.rst-btn--outline{background:transparent;color:var(--roost-deep-teal);border-color:var(--border-strong)}
.rst-btn--outline:hover:not([disabled]){border-color:var(--roost-deep-teal);background:var(--blue-100)}
.rst-btn--ghost{background:transparent;color:var(--action-quiet-fg);border-color:transparent}
.rst-btn--ghost:hover:not([disabled]){background:var(--blue-200)}
.rst-btn--inverse{background:#fff;color:var(--roost-deep-teal)}
.rst-btn--inverse:hover:not([disabled]){background:var(--blue-100)}
.rst-btn--block{width:100%}

/* ---------- IconButton ---------- */
.rst-iconbtn{display:inline-grid;place-items:center;width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-circle);border:1.5px solid transparent;background:transparent;color:var(--roost-deep-teal);cursor:pointer;transition:var(--transition-control)}
.rst-iconbtn:hover:not([disabled]){background:var(--blue-200)}
.rst-iconbtn:active:not([disabled]){transform:scale(var(--press-scale))}
.rst-iconbtn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.rst-iconbtn--sm{width:var(--control-height-sm);height:var(--control-height-sm)}
.rst-iconbtn--solid{background:var(--action-primary-bg);color:#fff}
.rst-iconbtn--solid:hover:not([disabled]){background:var(--action-primary-bg-hover)}
.rst-iconbtn--outline{border-color:var(--border-default)}
.rst-iconbtn[disabled]{color:var(--action-disabled-fg);cursor:not-allowed}

/* ---------- Field primitives ---------- */
.rst-field{display:flex;flex-direction:column;gap:var(--space-2)}
.rst-field__label{font:var(--font-weight-demi) var(--text-xs)/1.3 var(--font-core);color:var(--text-heading)}
.rst-field__hint{font:var(--type-caption);color:var(--text-muted)}
.rst-field__error{font:var(--type-caption);color:var(--feedback-error)}
.rst-input,.rst-select{width:100%;min-height:var(--field-height);padding:0 var(--space-4);font:var(--type-body);color:var(--text-body);background:#fff;border:1.5px solid var(--border-default);border-radius:var(--radius-field);box-shadow:var(--shadow-inset-field);transition:var(--transition-control)}
.rst-input::placeholder{color:var(--grey-400)}
.rst-input:hover:not([disabled]),.rst-select:hover:not([disabled]){border-color:var(--beige-500)}
.rst-input:focus,.rst-select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}
.rst-input[disabled],.rst-select[disabled]{background:var(--grey-100);color:var(--text-muted);cursor:not-allowed}
.rst-input--invalid,.rst-select--invalid{border-color:var(--feedback-error)}
.rst-input--textarea{min-height:120px;padding:var(--space-3) var(--space-4);line-height:var(--leading-body);resize:vertical}
.rst-select{appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,var(--roost-deep-teal) 50%),linear-gradient(135deg,var(--roost-deep-teal) 50%,transparent 50%);background-position:calc(100% - 22px) 21px,calc(100% - 16px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}

/* ---------- Checkbox / Radio / Switch ---------- */
.rst-check{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font:var(--type-body);color:var(--text-body);min-height:var(--tap-min);padding:var(--space-2) 0}
.rst-check input{position:absolute;opacity:0;width:0;height:0}
.rst-check__box{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border:1.5px solid var(--border-default);border-radius:var(--radius-xs);background:#fff;display:grid;place-items:center;transition:var(--transition-control)}
.rst-check--radio .rst-check__box{border-radius:var(--radius-circle)}
.rst-check:hover .rst-check__box{border-color:var(--beige-500)}
.rst-check input:focus-visible+.rst-check__box{box-shadow:var(--shadow-focus);border-color:var(--border-focus)}
.rst-check input:checked+.rst-check__box{background:var(--roost-red);border-color:var(--roost-red)}
.rst-check__mark{width:11px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}
.rst-check input:checked+.rst-check__box .rst-check__mark{opacity:1}
.rst-check--radio .rst-check__mark{width:8px;height:8px;border:0;border-radius:var(--radius-circle);background:#fff;transform:none}
.rst-check input:disabled+.rst-check__box{background:var(--grey-100);border-color:var(--border-subtle)}
.rst-check--disabled{color:var(--text-muted);cursor:not-allowed}
.rst-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;font:var(--type-body);min-height:var(--tap-min)}
.rst-switch input{position:absolute;opacity:0;width:0;height:0}
.rst-switch__track{width:46px;height:26px;border-radius:var(--radius-pill);background:var(--grey-300);position:relative;transition:background-color var(--duration-base) var(--ease-standard)}
.rst-switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-circle);background:#fff;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}
.rst-switch input:checked+.rst-switch__track{background:var(--blue-600)}
.rst-switch input:checked+.rst-switch__track .rst-switch__thumb{transform:translateX(20px)}
.rst-switch input:focus-visible+.rst-switch__track{box-shadow:var(--shadow-focus)}
.rst-switch input:disabled+.rst-switch__track{background:var(--grey-200)}

/* ---------- Card ---------- */
.rst-card{background:var(--surface-card);border-radius:var(--radius-card);padding:var(--card-pad);box-shadow:var(--shadow-card);transition:var(--transition-surface)}
.rst-card--flat{box-shadow:none;border:1px solid var(--border-subtle)}
.rst-card--warm{background:var(--surface-subtle);box-shadow:none}
.rst-card--blue{background:var(--surface-hero);color:var(--text-on-blue);box-shadow:none}
.rst-card--blue h1,.rst-card--blue h2,.rst-card--blue h3,.rst-card--blue h4{color:var(--text-on-blue)}
.rst-card--tile{border-radius:var(--radius-tile);padding:0;overflow:hidden}
.rst-card--interactive{cursor:pointer}
.rst-card--interactive:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.rst-card--interactive:active{transform:translateY(0) scale(var(--press-scale))}

/* ---------- Badge / Tag ---------- */
.rst-badge{display:inline-flex;align-items:center;gap:var(--space-1);font:var(--font-weight-demi) var(--text-2xs)/1 var(--font-core);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:6px 10px;border-radius:var(--radius-pill)}
.rst-badge--blue{background:var(--blue-200);color:var(--roost-deep-teal)}
.rst-badge--red{background:var(--red-100);color:var(--roost-red)}
.rst-badge--beige{background:var(--beige-200);color:var(--beige-700)}
.rst-badge--solid{background:var(--roost-red);color:#fff}
.rst-badge--neutral{background:var(--grey-100);color:var(--grey-600)}
.rst-tag{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-small);color:var(--roost-deep-teal);background:#fff;border:1.5px solid var(--border-default);border-radius:var(--radius-pill);padding:6px var(--space-4);transition:var(--transition-control)}
.rst-tag--selected{background:var(--blue-500);border-color:var(--blue-500);color:var(--roost-deep-teal)}
.rst-tag--clickable{cursor:pointer}
.rst-tag--clickable:hover{border-color:var(--roost-deep-teal)}
.rst-tag__remove{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:var(--radius-circle);background:transparent;color:inherit;cursor:pointer;font:var(--font-weight-demi) 14px/1 var(--font-core)}
.rst-tag__remove:hover{background:rgba(0,88,99,.12)}

/* ---------- CampaignBanner ---------- */
.rst-campaign{container-type:inline-size;position:relative;display:block;width:100%;overflow:hidden;background:var(--campaign-field);color:#fff;border-radius:var(--radius-tile)}
.rst-campaign--banner{aspect-ratio:2.63/1}
.rst-campaign--wide{aspect-ratio:2.85/1}
.rst-campaign--square{aspect-ratio:1/1}
.rst-campaign--story{aspect-ratio:9/16}
.rst-campaign--sky-legacy{background:var(--legacy-2017-sky)}
.rst-campaign--white{background:#fff}
.rst-campaign--red{background:var(--roost-red)}
.rst-campaign__copy{position:absolute;top:9%;left:4cqw;width:54cqw;display:flex;flex-direction:column;align-items:flex-start;gap:.4cqw}
.rst-campaign__line{font:var(--font-weight-demi) 3.6cqw/1.15 var(--font-core);letter-spacing:var(--tracking-display);color:var(--campaign-line-2);text-wrap:balance}
.rst-campaign__line--accent{color:var(--campaign-line-1)}
.rst-campaign--white .rst-campaign__line{color:var(--roost-deep-teal)}
.rst-campaign--red .rst-campaign__line--accent{color:var(--roost-blue)}
.rst-campaign__cta{margin-top:2.4cqw;display:inline-block;padding:1.4cqw 3.4cqw;border-radius:999px;background:#fff;color:var(--roost-red);font:var(--font-weight-demi) 1.9cqw/1 var(--font-core)}
.rst-campaign--white .rst-campaign__cta{background:var(--roost-red);color:#fff}
.rst-campaign__art{position:absolute;right:3cqw;top:8%;bottom:32%;width:40cqw;display:flex;align-items:flex-end;justify-content:center}
.rst-campaign__art img{max-width:100%;max-height:100%;width:auto;height:auto}
.rst-campaign__art svg{max-width:100%;max-height:100%;width:auto;height:auto;filter:drop-shadow(0 1.4cqw 1.6cqw var(--campaign-ground))}
.rst-campaign__portrait{position:absolute;right:1cqw;top:0;bottom:0;width:30cqw;display:flex;align-items:center;justify-content:center}
.rst-campaign__portrait img{width:26cqw;height:26cqw;border-radius:var(--radius-circle);object-fit:cover;object-position:top center;box-shadow:0 0 0 1.4cqw #fff}
.rst-campaign:has(.rst-campaign__portrait) .rst-campaign__foot{right:32cqw}
.rst-campaign__foot{position:absolute;right:4cqw;bottom:5cqw;display:flex;align-items:flex-end;gap:3cqw}
.rst-campaign__contact{display:flex;flex-direction:column;align-items:flex-end;gap:.5cqw;font:var(--font-weight-demi) 1.9cqw/1.2 var(--font-core);color:#fff;text-align:right}
.rst-campaign--white .rst-campaign__contact{color:var(--roost-deep-teal)}
.rst-campaign__logo{height:5.6cqw;width:auto;display:block}
.rst-campaign--square .rst-campaign__copy,.rst-campaign--story .rst-campaign__copy{width:84cqw;top:8%}
.rst-campaign--square .rst-campaign__line,.rst-campaign--story .rst-campaign__line{font-size:8cqw}
.rst-campaign--square .rst-campaign__art,.rst-campaign--story .rst-campaign__art{left:8cqw;right:8cqw;width:auto;top:auto;height:34%;bottom:22%}
.rst-campaign--square .rst-campaign__foot,.rst-campaign--story .rst-campaign__foot{bottom:7cqw;flex-direction:column;align-items:flex-end;gap:2cqw}
.rst-campaign--square .rst-campaign__contact,.rst-campaign--story .rst-campaign__contact{font-size:3.1cqw}
.rst-campaign--square .rst-campaign__logo,.rst-campaign--story .rst-campaign__logo{height:9cqw}
.rst-campaign--square .rst-campaign__cta,.rst-campaign--story .rst-campaign__cta{padding:2.4cqw 5cqw;font-size:4cqw}

/* ---------- Tabs ---------- */
.rst-tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.rst-tab{position:relative;background:none;border:0;padding:var(--space-3) 0 var(--space-4);font:var(--font-weight-demi) var(--text-sm)/1 var(--font-core);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}
.rst-tab:hover{color:var(--roost-deep-teal)}
.rst-tab:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}
.rst-tab[aria-selected=true]{color:var(--roost-deep-teal)}
.rst-tab[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:var(--radius-pill);background:var(--roost-red)}

/* ---------- Dialog ---------- */
.rst-dialog__scrim{position:fixed;inset:0;background:rgba(0,88,99,.45);backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-5);z-index:60}
.rst-dialog{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:var(--space-7)}
.rst-dialog__title{font:var(--type-h3);color:var(--text-heading);margin:0 0 var(--space-3)}
.rst-dialog__body{font:var(--type-body);color:var(--text-body)}
.rst-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}

/* ---------- Toast ---------- */
.rst-toast{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--roost-deep-teal);color:#fff;border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-md);max-width:420px}
.rst-toast--success{background:var(--feedback-success)}
.rst-toast--error{background:var(--feedback-error)}
.rst-toast--neutral{background:var(--grey-800)}
.rst-toast__title{font:var(--font-weight-demi) var(--text-sm)/1.3 var(--font-core)}
.rst-toast__msg{font:var(--type-small);opacity:.9;margin-top:2px}
.rst-toast__close{margin-left:auto;background:none;border:0;color:inherit;opacity:.7;cursor:pointer;font-size:16px;line-height:1}
.rst-toast__close:hover{opacity:1}

/* ---------- Tooltip ---------- */
.rst-tooltip{position:relative;display:inline-flex}
.rst-tooltip__bubble{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 8px);background:var(--roost-deep-teal);color:#fff;font:var(--type-caption);padding:6px 10px;border-radius:var(--radius-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}
.rst-tooltip__bubble--bottom{bottom:auto;top:calc(100% + 8px)}
.rst-tooltip:hover .rst-tooltip__bubble,.rst-tooltip:focus-within .rst-tooltip__bubble{opacity:1}

/* ---------- Logo ---------- */
.rst-logo{display:inline-block}
.rst-logo img{height:100%;width:auto}


body{margin:0;background:#fff}
/* legal pages */
.lg-wrap{max-width:var(--container-lg);margin:0 auto;padding:0 var(--gutter-page)}
@media (min-width:900px){.lg-wrap{padding:0 var(--gutter-page-lg)}}
.lg-top{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--border-subtle)}
.lg-top .lg-wrap{height:76px;display:flex;align-items:center;gap:var(--space-6)}
.lg-top nav{margin-left:auto;display:flex;gap:var(--space-5);align-items:center}
.lg-top nav a{font:var(--font-weight-demi) var(--text-xs)/1 var(--font-core);color:var(--text-body)}
.lg-top nav a.rst-btn{color:#fff}
@media (max-width:760px){.lg-top nav a:not(.rst-btn){display:none}}
.lg-hero{background:var(--surface-subtle);padding:var(--space-9) 0 var(--space-8)}
.lg-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--roost-red);margin-bottom:var(--space-4)}
.lg-hero h1{font:var(--type-h1);color:var(--roost-deep-teal);letter-spacing:var(--tracking-display)}
@media (max-width:760px){.lg-hero h1{font-size:var(--text-3xl)}}
.lg-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);padding:var(--space-8) 0 var(--space-10)}
@media (min-width:980px){.lg-body{grid-template-columns:minmax(0,1fr) 320px}}
.lg-prose{max-width:760px;font:var(--type-body);color:var(--text-body)}
.lg-prose h2{font:var(--type-h4);color:var(--text-heading);margin:0 0 var(--space-4)}
.lg-prose h3{font:var(--type-h4);color:var(--roost-deep-teal);margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);scroll-margin-top:96px}
.lg-prose h4{font:var(--font-weight-demi) var(--text-md)/1.3 var(--font-core);color:var(--text-heading);margin:var(--space-6) 0 var(--space-3)}
.lg-prose ul,.lg-prose ol{padding-left:1.3em;margin:0 0 var(--space-4)}
.lg-prose li{margin:0 0 var(--space-2)}
.lg-prose a{text-decoration:underline}
.lg-prose table{border-collapse:collapse;width:100%;margin:0 0 var(--space-5)}
.lg-prose td,.lg-prose th{border:1px solid var(--border-subtle);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}
.lg-side{align-self:start;position:sticky;top:100px;display:grid;gap:var(--space-4)}
.lg-side .rst-card{font:var(--type-small)}
.lg-side h4{font:var(--type-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--roost-red);margin:0 0 var(--space-3)}
.lg-side a.lg-link{display:block;padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);color:var(--roost-deep-teal)}
.lg-side a.lg-link[aria-current]{font-weight:600}
.lg-foot{background:var(--surface-inverse);color:#fff;padding:var(--space-8) 0 var(--space-6)}
.lg-foot a{color:#fff;opacity:.85}
.lg-foot .lg-links{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-5) 0;font:var(--type-caption)}
.lg-foot small{display:block;font:var(--type-caption);opacity:.6;max-width:820px}
