/* Shared system for the information pages: About, Careers and its job pages,
   Bookstores, Terms, Privacy and CCF. Loaded after pricing.css and the
   navigation/footer files. Colour, type and motion follow the homepage
   (visual-system.css): very large chapter-style titles with a serif accent,
   numbered labels, tinted cards, navy panels and the blue closing sheet. */
.info-page{
  --ink:#112e63;--body:#344b70;--blue:#1261df;--orange:#c94b0a;--line:#cadcf1;
  --line-soft:#e3ebf6;--line-strong:#b9cfee;
  --tint:#edf4ff;--pale:#dceaff;--deep:#1c49b5;--secondary:#4e6485;--numeral:#4a6b99;
  --ease:cubic-bezier(.22,1,.36,1);
  --icon-soft:#c4ddff;--icon-pop:#ff823d;--icon-paper:#fff;
  background:#fff;color:var(--body);font-size:18px;line-height:1.65;
}
html:has(.info-page){scroll-padding-top:112px}
.info-page .page-width{width:min(1200px,calc(100% - 112px))}
.info-page h1,.info-page h2,.info-page h3{text-wrap:balance}
.info-page main a{text-decoration-thickness:.07em;text-underline-offset:.24em;text-decoration-skip-ink:auto}
.info-page main :is(h1,h2) em{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.03em}

/* Navigation: the homepage's floating bar, kept in view while scrolling. */
.info-page .site-header{position:fixed;inset:0 0 auto;z-index:100;background:transparent}
.info-page .site-header .header-inner{box-shadow:0 4px 12px rgba(16,38,90,.10)}
.info-page .site-header .top-cta{font-weight:700}
.info-page .site-header .top-cta:hover{background:#a94105}
@media(min-width:1101px){
  .info-page .site-header{padding:16px 60px}
  .info-page .site-header .header-inner{width:min(1280px,100%)}
}

/* Lede: the first screen in the homepage's chapter-title manner. A very large
   two-line title with the second line set in, and the page's opening content
   directly beneath it — no illustration. */
/* The skip link must sit above the fixed navigation (z-index 100) when it takes focus. */
.info-page .skip-link{position:fixed;z-index:200;top:12px;left:20px;border-radius:12px;box-shadow:0 14px 30px -14px rgba(17,46,99,.55);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.info-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--tint)}
.info-eyebrow{margin:0 0 24px;color:var(--blue);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.04em}
.info-lede{padding:150px 0 96px}
.info-lede.is-title-only{padding-bottom:84px}
/* A deep blue first screen: white type, rounded lower corners (the subject pages' manner). */
.info-lede.is-deep{border-radius:0 0 48px 48px;background:var(--deep)}
.info-lede.is-deep .info-eyebrow{color:#bcd4ff}
.info-lede.is-deep h1{color:#fff}
.info-page main .info-lede.is-deep h1 em{color:#a9c8ff}
.info-lede.is-deep .info-back{border-color:#ffffff66;color:#fff}
.info-lede.is-deep .info-back:hover{background:#ffffff1a;border-color:#fff}
.info-lede.is-deep .info-back:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:760px){.info-lede.is-deep{border-radius:0 0 30px 30px}}
.info-lede:has(+.info-ending){padding-bottom:152px}
.info-lede h1{color:var(--ink);font:700 clamp(44px,5.8vw,86px)/1.02 Inter,Arial,sans-serif;letter-spacing:-.05em}
.info-lede.is-long h1{font-size:clamp(38px,4.9vw,74px);line-height:1.04}
.info-title-line{display:block}
.info-lede .info-title-line.is-in{padding-left:16%}
.info-lede-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;margin:52px 0 0 16%}
.info-lede-body p{font-size:17px;line-height:1.65}
.info-lede-body .info-statement{font-size:clamp(20px,1.9vw,26px);line-height:1.36}
.info-lede-foot{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:44px 0 0 16%;padding-top:28px;border-top:1px solid var(--line-strong)}
.info-lede-foot p{color:var(--ink);font-size:clamp(20px,1.9vw,26px);font-weight:600;line-height:1.3;letter-spacing:-.02em}
.info-lede-foot strong{font-weight:inherit}
.info-lede-foot a{color:var(--blue)}

/* Lede, plain variant (Bookstores): white, with a short note beside the title. */
.info-lede.is-plain{padding:192px 0 112px;background:#fff}
.info-lede.is-plain .info-eyebrow{margin-bottom:28px}
.info-lede.is-plain+.info-section{padding-top:80px}
.info-lede-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:72px}
.info-lede-note{max-width:210px;padding-bottom:6px;font-size:15px;line-height:1.6}
.info-lede-note svg{display:block;width:30px;height:30px;margin:0 0 14px -6px;color:var(--blue);--icon-soft:#dceaff}
.info-lede-note strong{color:var(--ink);font-weight:650}


/* Lede, job pages: a Back pill above the title. */
.info-lede.is-job{padding-top:136px;padding-bottom:84px}
.info-lede.is-job .info-lede-foot p{max-width:34em;font-weight:500}
.info-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:32px;padding:8px 18px 8px 14px;border:1px solid #102a5659;border-radius:999px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s}
.info-back span{transition:translate .24s var(--ease)}
@media(hover:hover){.info-back:hover{background:#102a560a;border-color:var(--ink)}.info-back:hover span{translate:-3px 0}}

/* Sections */
.info-section{position:relative;padding-block:104px}
.info-section.is-tint{background:var(--tint)}
.info-section:not(.is-tint,.info-giving)+.info-section:not(.is-tint,.info-giving){padding-top:0}
.info-heading{margin-bottom:52px}
.info-rule{display:block;width:56px;height:3px;margin-bottom:28px;border-radius:2px;background:var(--blue)}
.info-heading h2{color:var(--ink);font-size:clamp(34px,3.6vw,48px);font-weight:700;line-height:1.16;letter-spacing:-.035em}
.info-heading h2>span{display:block;color:var(--blue)}
.info-heading.is-row{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.info-heading.is-row>:last-child:not(:first-child){flex:0 1 auto;max-width:32ch;margin:0 0 8px;font-size:16px;line-height:1.6;text-align:right}
.info-count{color:var(--secondary);font-size:14px;line-height:1.6}
.info-subhead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.info-subhead h2{color:var(--ink);font-size:clamp(22px,2vw,27px);font-weight:700;line-height:1.25;letter-spacing:-.025em}
.info-subhead p{color:var(--secondary);font-size:14px}
.info-subhead .info-hours{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:999px;background:#fff;font-size:15px}
.info-hours svg{flex:none;width:22px;height:22px;color:var(--ink);--icon-soft:#dceaff}
.info-subhead strong{margin-left:8px;color:var(--ink);font-weight:650}

/* Running text */
.info-prose{max-width:68ch;font-size:17px;overflow-wrap:anywhere}
.info-prose>*+*{margin-top:18px}
.info-prose h3{margin-top:32px;color:var(--ink);font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.01em}
.info-prose strong,.info-prose b{color:var(--ink);font-weight:600}
.info-prose ul,.info-prose ol{padding-left:22px}
.info-prose li{margin-block:8px}
.info-prose li::marker{color:var(--numeral)}
.info-prose a{color:var(--blue)}
.info-prose+.info-cards,.info-cards+.info-prose{margin-top:52px}
.info-statement{max-width:26em;color:var(--ink);font-size:clamp(20px,1.9vw,26px);font-weight:500;line-height:1.36;letter-spacing:-.02em}

/* Two columns */
.info-columns{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);align-items:start;gap:80px}
.info-columns.is-centred{align-items:center}
.info-columns .info-heading{margin-bottom:0}
.info-columns>.info-stack>.info-heading{margin-bottom:32px}

/* Numbered label, as used for the homepage learning steps */
.info-step{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.info-step span{color:var(--numeral);font-size:44px;font-weight:500;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}

/* Icons (assets/info-icons.svg) on a rounded tile */
.info-icon{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:18px;background:var(--tile,#d3e6ff);color:var(--ink);--icon-soft:#fff}
.info-icon svg{width:40px;height:40px}
.info-icon.is-round{border-radius:50%}
.info-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-size:15px;font-weight:500;line-height:1;transition:translate .24s var(--ease),background .2s}

/* Tone cards: pale blue, brand blue and warm, like the family stories. */
.info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.info-card{display:flex;flex-direction:column;min-width:0;padding:32px;border-radius:16px;background:var(--tint);color:var(--body);box-shadow:0 20px 40px -30px rgba(17,46,99,.35)}
.info-card .info-icon{margin-bottom:24px;--tile:#fff;--icon-soft:#c4ddff}
.info-card>p{font-size:18px;line-height:1.55}
.info-cards.is-tones>.info-card:nth-child(3n+2){background:var(--blue);color:#fff}
.info-cards.is-tones>.info-card:nth-child(3n){background:#fff0e3}
.info-cards.is-tones>.info-card:nth-child(3n) .info-icon{--icon-soft:#ffe0c6}
.info-section.is-tint .info-cards.is-tones>.info-card:nth-child(3n+1){background:#fff}
.info-section.is-tint .info-cards.is-tones>.info-card:nth-child(3n+1) .info-icon{--tile:#d3e6ff;--icon-soft:#fff}
@media(min-width:761px){
  .info-cards.is-tilted{padding-block:14px 26px}
  .info-cards.is-tilted>:nth-child(3n+1){rotate:-2deg;translate:0 12px}
  .info-cards.is-tilted>:nth-child(3n){rotate:2deg;translate:0 12px}
}

/* Navy panels, as in the homepage feedback gallery. The panel under the
   pointer takes the wider share. */
.info-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;transition:grid-template-columns .5s var(--ease)}
.info-panel{display:flex;flex-direction:column;min-height:340px;padding:36px;border-radius:16px;background:#15365f;color:#fff}
.info-panel+.info-panel{background:var(--deep)}
.info-panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:auto;padding-bottom:48px}
.info-panel .info-icon{--tile:#ffffff1f;--icon-soft:#ffffff33;color:#fff}
.info-panel h2{color:#fff;font-size:clamp(27px,2.6vw,36px);font-weight:700;line-height:1.2;letter-spacing:-.03em}
.info-panel p{margin-top:16px;font-size:18px;line-height:1.6}
@media(hover:hover) and (min-width:901px){.info-panels:has(.info-panel:nth-child(2):hover){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}


/* Rows: a ruled list in the manner of the homepage FAQ, used for openings. */
.info-rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.info-row{position:relative;display:grid;grid-template-columns:44px 64px minmax(0,.85fr) minmax(0,1.15fr) auto;align-items:center;gap:28px;padding:30px 20px;border-bottom:1px solid var(--line);transition:background .24s var(--ease)}
.info-row-number{color:var(--numeral);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.info-rows>:nth-child(3n+2) .info-icon{--tile:#e4dcff}
.info-rows>:nth-child(3n) .info-icon{--tile:#ffe0c6}
.info-row h3{color:var(--ink);font-size:clamp(21px,2vw,27px);font-weight:650;line-height:1.2;letter-spacing:-.025em;transition:color .2s}
.info-row p{font-size:16px;line-height:1.6}
.info-row-link{display:inline-flex;align-items:center;gap:14px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap}
.info-row-link::after{content:"";position:absolute;inset:0}
.info-row-link .info-arrow{width:44px;height:44px;font-size:18px}
.info-row-link:focus-visible{outline:0}
.info-row:has(.info-row-link:focus-visible){outline:3px solid var(--blue);outline-offset:-3px}
@media(hover:hover){
  .info-row:hover{background:var(--tint)}
  .info-row:hover h3{color:var(--blue)}
  .info-row:hover .info-arrow{translate:3px -3px;background:var(--ink)}
}

/* Outlet cards (Bookstores) */
.info-stores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.info-store{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid var(--line-soft);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .24s var(--ease),translate .24s var(--ease)}
.info-store-number{color:var(--numeral);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.info-store h3{margin:14px 0 28px;color:var(--ink);font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.02em}
.info-store-facts{display:grid;gap:14px;margin:0 0 24px;padding:0;list-style:none;font-size:16px;line-height:1.6}
.info-store-facts li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px}
.info-store-facts svg{width:22px;height:22px;margin-top:2px;color:var(--numeral);--icon-pop:#4a6b99;--icon-soft:#edf4ff}
.info-store-contact{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line-soft);color:var(--blue);font-size:15px;font-weight:600;line-height:1.5;text-decoration:none}
.info-store-contact svg{flex:none;width:22px;height:22px;--icon-soft:#dceaff;--icon-pop:#1261df}
.info-store-contact:hover{text-decoration:underline}
@media(hover:hover){.info-store:hover{border-color:#b9cfee;box-shadow:0 20px 38px -26px rgba(17,46,99,.45);translate:0 -3px}}

/* Long documents with a contents list */
.info-doc{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:start;gap:96px;padding-block:96px 104px}
.info-toc{position:sticky;top:112px;max-height:calc(100svh - 136px);overflow:auto}
.info-toc-label{margin-bottom:16px;color:var(--secondary);font-size:14px}
.info-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.info-toc li{counter-increment:toc}
.info-toc a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:11px 14px;border-radius:8px;color:var(--ink);font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s,color .2s}
.info-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--numeral);font-weight:500;font-variant-numeric:tabular-nums}
.info-toc a:hover{background:#f5f9ff}
.info-toc a[aria-current]{background:#edf4ff;color:var(--blue)}
.info-toc a[aria-current]::before{color:var(--blue)}
.info-doc-body{min-width:0;counter-reset:doc}
.info-doc-section{counter-increment:doc;scroll-margin-top:112px}
.info-doc-section+.info-doc-section{margin-top:56px;padding-top:56px;border-top:1px solid var(--line)}
.info-doc-section>h2{margin-bottom:20px;color:var(--ink);font-size:clamp(26px,2.5vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.03em}
.info-doc-section>h2::before{content:counter(doc,decimal-leading-zero);display:block;margin-bottom:12px;color:var(--numeral);font-size:44px;font-weight:500;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.info-doc .info-prose{font-size:17px;line-height:1.75}

/* Job detail pages: a side card that stays in view, numbered tick lists. */
.info-job{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:88px}
.info-job-aside{position:sticky;top:112px}
.info-job-card{padding:28px;border-radius:16px;background:var(--tint)}
.info-job-card .info-icon{margin-bottom:22px;--tile:#fff;--icon-soft:#c4ddff}
.info-job-card-label{color:var(--blue);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.04em}
.info-job-card-title{margin:6px 0 24px;color:var(--ink);font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.02em}
.info-job-card .info-cta{width:100%}
.info-job-body{min-width:0}
.info-job-block+.info-job-block{margin-top:56px;padding-top:56px;border-top:1px solid var(--line)}
.info-job-block h2{margin-bottom:24px;color:var(--ink);font-size:clamp(26px,2.5vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.03em}
.info-ticks{margin:0;padding:0;list-style:none}
.info-ticks li{position:relative;padding:15px 0 15px 42px;border-bottom:1px solid var(--line-soft);font-size:17px;line-height:1.55}
.info-ticks li:first-child{border-top:1px solid var(--line-soft)}
.info-ticks li::before{content:"";position:absolute;left:0;top:15px;width:26px;height:26px;border-radius:50%;background:#edf4ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231261df' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/15px no-repeat}
.info-job-block.is-perks .info-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.info-job-block.is-perks .info-ticks li{padding:64px 24px 24px;border:0;border-radius:16px;background:var(--tint);color:var(--ink);font-weight:500;line-height:1.45}
.info-job-block.is-perks .info-ticks li::before{left:24px;top:24px;background-color:#fff}
.info-job-block.is-perks .info-ticks li:nth-child(4n+2),.info-job-block.is-perks .info-ticks li:nth-child(4n+3){background:#fff0e3}
.info-job-block.is-perks .info-ticks li:last-child:nth-child(odd){grid-column:1/-1}
/* End of a job page: the closing sentence only. The Apply button lives in the
   side card, so it is repeated here just where that card is not kept in view. */
.info-job-close{margin-top:56px;padding-top:44px;border-top:1px solid var(--line)}
.info-job-close-text{max-width:30em;color:var(--ink);font-size:clamp(20px,1.9vw,26px);font-weight:500;line-height:1.36;letter-spacing:-.02em}
.info-job-close .info-cta,.info-job-close.is-empty{display:none}

/* Dialogs: application form and confirmation */
.info-dialog{width:min(620px,calc(100% - 32px));max-height:min(92svh,900px);padding:0;border:0;border-radius:24px;background:#fff;color:#344b70;box-shadow:0 40px 90px -30px rgba(5,25,68,.65);overflow:auto;font:400 16px/1.6 Inter,Arial,sans-serif}
.info-dialog::backdrop{background:#10265acc}
@keyframes info-dialog-in{from{opacity:0;translate:0 24px;scale:.98}}
.info-dialog[open]{animation:info-dialog-in .4s cubic-bezier(.22,1,.36,1)}
.info-dialog form,.info-dialog-body{padding:40px 44px 36px}
.info-dialog .info-eyebrow{margin-bottom:10px}
.info-dialog h2{color:#112e63;font-size:clamp(24px,2.6vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.03em;text-wrap:balance}
.info-field{margin-top:22px;min-width:0}
.info-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.info-field label{display:block;margin-bottom:8px;color:#112e63;font-size:15px;font-weight:600;line-height:1.4}
.info-required{color:#c94b0a}
.info-field :is(input:not([type=file]),textarea){display:block;width:100%;min-height:52px;padding:13px 16px;border:1px solid #b9cfee;border-radius:10px;background:#fff;color:#112e63;font:400 16px/1.5 Inter,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
.info-field textarea{min-height:124px;resize:vertical}
.info-field ::placeholder{color:#5d7391;opacity:1}
.info-field :is(input:not([type=file]),textarea):hover{border-color:#7fa9e6}
.info-field :is(input:not([type=file]),textarea):focus-visible{outline:0;border-color:#1261df;box-shadow:0 0 0 3px #1261df40}
.info-hint{margin:-2px 0 10px;color:#4e6485;font-size:13px;line-height:1.5}
.info-file{position:relative;display:flex;align-items:center;gap:16px;min-height:72px;padding:14px 16px;border:1.5px dashed #b9cfee;border-radius:12px;background:#f5f9ff;transition:border-color .2s,background .2s}
.info-file:hover{border-color:#1261df;background:#edf4ff}
.info-file:focus-within{outline:3px solid #1261df;outline-offset:3px}
.info-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.info-file-button{flex:none;padding:10px 16px;border-radius:8px;background:#1261df;color:#fff;font-size:14px;font-weight:600;line-height:1.4}
.info-file-names{min-width:0;color:#4e6485;font-size:14px;line-height:1.5}
.info-file-names div{overflow:hidden;color:#112e63;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.info-alert{margin-top:22px;padding:14px 16px;border-radius:10px;background:#fff0e3;color:#963c20;font-size:15px;line-height:1.5}
.info-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}
.info-ghost{min-height:56px;padding:14px 24px;border:1px solid #102a5659;border-radius:12px;background:transparent;color:#112e63;font:600 16px/1.4 Inter,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.info-ghost:hover{background:#102a560a;border-color:#112e63}
.info-dialog button:disabled{opacity:.6;cursor:default}
.info-dialog.is-thanks{width:min(480px,calc(100% - 32px))}
.info-dialog.is-thanks .info-icon{margin-bottom:22px;--tile:#1261df;color:#fff}
.info-dialog.is-thanks p{margin-top:12px;font-size:17px}

/* Primary action, closing sheet and footer: the homepage's blue sheet with the
   footer rising over it. Pages without the sheet leave room for the footer's
   rounded top, which overlaps the last block. */
.info-cta{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:15px 28px;border-radius:12px;background:#c94b0a;color:#fff;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap;transition:background .2s,translate .16s cubic-bezier(.22,1,.36,1)}
button.info-cta{border:0;font-family:inherit;cursor:pointer}
.info-cta:hover{background:#a94105}
.info-cta:active{translate:0 1px}
:is(.info-section,.info-doc):has(+.info-ending),.info-page main>:is(.info-section,.info-doc):last-child{padding-bottom:152px}
.info-ending{position:relative;z-index:1;margin-top:-48px;padding:96px 0 144px;border-radius:48px 48px 0 0;background:var(--deep);color:#fff}
.info-ending-layout{display:flex;align-items:center;justify-content:space-between;gap:60px}
.info-ending h2{color:#fff;font-size:clamp(36px,3.8vw,56px);font-weight:700;line-height:1.13;letter-spacing:-.035em}
.info-ending h2 span{display:block}
.info-ending p{max-width:580px;margin-top:22px;font-size:18px;line-height:1.65}
.info-ending .info-cta:focus-visible{outline:3px solid #fff;outline-offset:5px}
.info-page .sst-full-footer{position:relative;z-index:2;margin-top:-48px;border-radius:48px 48px 0 0;background:#edf4ff;box-shadow:0 -24px 80px -32px rgb(5 25 68/45%)}

/* CCF: a photograph banner behind a centred title, warm bands and a pull
   quote. Yellow is an accent here, not a ground: the foundation's logo yellow
   (#fbd321) behind the photograph, #f2b600 for the quotation marks, and a pale
   wash (#fdf3cf) over the closing photograph only. */
.info-banner{display:grid;align-items:center;min-height:clamp(480px,42vw,600px);padding:136px 0 72px;background:#eceef1;text-align:center}
.info-banner-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.info-banner-partner{display:grid;justify-items:center;gap:14px;margin-bottom:32px;color:var(--blue);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.04em}
.info-banner-partner img{width:auto;height:74px}
.info-banner h1{color:var(--ink);font:700 clamp(38px,4.9vw,74px)/1.06 Inter,Arial,sans-serif;letter-spacing:-.05em}
.info-photo{position:relative;isolation:isolate;margin:0 28px 28px 0}
.info-photo::before{content:"";position:absolute;z-index:-1;inset:28px -28px -28px 28px;border-radius:24px;background:#fbd321}
.info-photo img{display:block;width:100%;height:auto;border-radius:24px}
.info-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.info-figures>div{display:flex;flex-direction:column;padding:4px 40px}
.info-figures>div:first-child{padding-left:0}
.info-figures>div+div{border-left:1px solid var(--line-strong)}
.info-figures .info-icon{order:-2;margin-bottom:28px;--tile:#fff;--icon-soft:#c4ddff}
.info-figures dd{order:-1;margin:0;color:var(--blue);font-size:clamp(46px,5vw,72px);font-weight:750;line-height:1.08;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.info-figures dt{margin-top:10px;font-size:17px;line-height:1.5}
.info-giving{isolation:isolate;overflow:hidden;background:#fdf3cf;text-align:center}
.info-giving-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.info-giving::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(#fdf3cf80,#fdf3cfdb)}
.info-giving h2{color:var(--ink);font-size:clamp(34px,3.6vw,48px);font-weight:700;line-height:1.16;letter-spacing:-.035em}
.info-pullquote{position:relative;max-width:860px;margin:44px auto 0;padding:0 72px}
.info-pullquote::before,.info-pullquote::after{position:absolute;color:#f2b600;font:400 120px/1 Georgia,serif}
.info-pullquote::before{content:"“";left:0;top:-18px}
.info-pullquote::after{content:"”";right:0;bottom:-34px}
.info-pullquote blockquote{margin:0;color:var(--ink);font:italic 400 clamp(22px,2.2vw,30px)/1.4 Georgia,'Times New Roman',serif}
.info-pullquote figcaption{margin-top:20px;color:var(--secondary);font-size:15px;font-weight:600}
.info-giving-card{max-width:820px;margin:56px auto 0;padding:40px 44px;font-size:17px;line-height:1.65;border-radius:24px;background:#fffffff2;box-shadow:0 34px 60px -44px rgba(96,72,10,.55);text-align:left}
.info-giving-card p+p{margin-top:18px}
.info-giving-card a{color:var(--blue)}
/* Motion: the title rises in on load, blocks as they are reached (info-page.js). */
@keyframes info-rise{from{opacity:0;translate:0 28px}}
@keyframes info-pop{from{opacity:0;scale:.86}}
.info-hero :is(.info-eyebrow,.info-title-line,.info-back){animation:info-rise .9s var(--ease) both}
.info-hero .info-title-line:nth-child(1){animation-delay:.08s}
.info-hero .info-title-line:nth-child(2){animation-delay:.18s}
.info-lede-body{animation:info-rise .9s var(--ease) .28s both}
.info-lede-note{animation:info-rise .9s var(--ease) .3s both}
.info-lede-foot{animation:info-rise .9s var(--ease) .38s both}
.info-motion [data-reveal]{opacity:0;translate:0 32px;transition:opacity .8s var(--ease),translate .8s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.info-motion [data-reveal].is-in{opacity:1;translate:none}
@media(min-width:761px){.info-motion .info-cards.is-tilted>[data-reveal].is-in:is(:nth-child(3n+1),:nth-child(3n)){translate:0 12px}}
.info-motion [data-reveal].is-settled{transition:none;transition-delay:0s}
.info-motion .info-row[data-reveal].is-settled{transition:background .24s var(--ease)}
.info-motion .info-store[data-reveal].is-settled{transition:border-color .2s,box-shadow .24s var(--ease),translate .24s var(--ease)}

@media(max-width:1100px){
  .info-lede{padding-top:132px}
  .info-lede.is-plain{padding:168px 0 96px}
  .info-lede .info-title-line.is-in{padding-left:8%}
  .info-lede-body,.info-lede-foot{margin-left:8%}
  .info-lede-body{gap:32px}
  .info-section{padding-block:88px}
  .info-columns{gap:48px}
  .info-figures>div{padding-inline:24px}
  .info-photo{margin:0 20px 20px 0}
  .info-photo::before{inset:20px -20px -20px 20px}
  .info-cards{gap:18px}
  .info-card{padding:24px}
  .info-card>p{font-size:16px}
  .info-row{grid-template-columns:36px 56px minmax(0,1fr) auto;gap:8px 20px;padding:26px 12px}
  .info-row .info-icon{width:56px;height:56px;grid-row:span 2;align-self:start}
  .info-row-number{grid-row:span 2;align-self:start;padding-top:18px}
  .info-row h3,.info-row p{grid-column:3}
  .info-row-link{grid-column:4;grid-row:1/span 2}
  .info-row-link>span:first-child{display:none}
  .info-stores{grid-template-columns:repeat(2,minmax(0,1fr))}
  .info-doc{grid-template-columns:230px minmax(0,1fr);gap:48px}
  .info-job{grid-template-columns:260px minmax(0,1fr);gap:48px}
  .info-ending-layout{gap:36px}
}
@media(max-width:900px){
  .info-panels{grid-template-columns:1fr}
  .info-panel{min-height:0}
  .info-job{grid-template-columns:1fr;gap:40px}
  .info-job-aside{position:static}
  .info-job-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 18px;padding:20px}
  .info-job-card .info-icon{grid-row:span 2;margin:0}
  .info-job-card-title{margin:0;font-size:19px}
  .info-job-card .info-cta{grid-column:3;grid-row:1/span 2;width:auto}
  .info-job-close{margin-top:40px;padding-top:32px}
  .info-job-close.is-empty{display:block}
  .info-job-close .info-cta{display:inline-flex;margin-top:24px}
  .info-job-close.is-empty .info-cta{margin-top:0}
}
@media(max-width:760px){
  .info-page{font-size:17px}
  html:has(.info-page){scroll-padding-top:84px}
  .info-page .site-header{position:sticky;top:0;background:#fff}
  .info-page .site-header .header-inner{box-shadow:none}
  .info-page .page-width{width:calc(100% - 40px)}
  
  .info-eyebrow{margin-bottom:18px}
  .info-lede{padding:44px 0 56px}
  .info-lede.is-title-only{padding-bottom:44px}
  .info-lede:has(+.info-ending){padding-bottom:94px}
  .info-lede.is-plain{padding:52px 0 48px}
  .info-lede.is-job{padding:36px 0 44px}
  .info-lede h1{font-size:clamp(40px,11.5vw,56px)}
  .info-lede.is-long h1{font-size:clamp(34px,9.4vw,48px)}
  .info-lede .info-title-line.is-in{padding-left:0}
  .info-lede-body{grid-template-columns:1fr;gap:20px;margin:28px 0 0}
  .info-lede-body p,.info-prose{font-size:16px}
  .info-lede-body .info-statement{font-size:20px}
  .info-lede-foot{flex-direction:column;align-items:flex-start;gap:22px;margin:28px 0 0;padding-top:22px}
  .info-lede-head{grid-template-columns:1fr;gap:24px}
  .info-lede-note{display:grid;grid-template-columns:24px 1fr;gap:12px;max-width:none;padding:0}
  .info-lede-note svg{margin:-3px 0 0 -6px}
  .info-lede.is-plain+.info-section{padding-top:44px}
  .info-banner{min-height:0;padding:56px 0 60px}
  .info-banner-partner{margin-bottom:24px}
  .info-banner-partner img{height:58px}
  .info-banner h1{font-size:clamp(34px,9.4vw,48px)}
  .info-photo{margin:0 16px 16px 0}
  .info-photo::before{inset:16px -16px -16px 16px;border-radius:18px}
  .info-photo img{border-radius:18px}
  .info-figures{grid-template-columns:1fr}
  .info-figures>div,.info-figures>div:first-child{padding:28px 0}
  .info-figures>div:first-child{padding-top:0}
  .info-figures>div:last-child{padding-bottom:0}
  .info-figures>div+div{border-left:0;border-top:1px solid var(--line-strong)}
  .info-figures .info-icon{margin-bottom:20px}
  .info-giving h2{font-size:30px}
  .info-pullquote{margin-top:32px;padding:0 8px}
  .info-pullquote::before{position:static;display:block;height:54px;font-size:96px}
  .info-pullquote::after{content:none}
  .info-giving-card{margin-top:40px;padding:26px 22px;border-radius:20px;font-size:16px}
  .info-back{margin-bottom:24px}
  .info-section{padding-block:64px}
  .info-heading{margin-bottom:32px}
  .info-rule{margin-bottom:22px}
  .info-heading h2{font-size:30px}
  .info-heading.is-row{display:block}
  .info-heading.is-row>:last-child:not(:first-child){max-width:none;margin:14px 0 0;text-align:left}
  .info-subhead{display:block;margin-bottom:20px}
  .info-subhead p{margin-top:12px}
  .info-statement{font-size:20px}
  .info-columns{grid-template-columns:1fr;gap:32px}
  .info-step span{font-size:36px}
  .info-cards{grid-template-columns:1fr;gap:16px}
  .info-card>p{font-size:17px}
  .info-panel{padding:28px}
  .info-panel-top{padding-bottom:36px}
  .info-row{grid-template-columns:48px minmax(0,1fr) 40px;gap:6px 14px;padding:22px 0}
  .info-row-number{display:none}
  .info-row .info-icon{width:48px;height:48px;border-radius:14px}
  .info-row .info-icon svg{width:30px;height:30px}
  .info-row h3{grid-column:2;font-size:19px}
  .info-row p{grid-column:2;font-size:15px}
  .info-row-link{grid-column:3}
  .info-row-link .info-arrow{width:36px;height:36px;font-size:15px}
  .info-stores{grid-template-columns:1fr;gap:16px}
  .info-store{padding:22px}
  .info-store h3{margin-bottom:20px;font-size:20px}
  .info-doc{display:block;padding-block:40px 64px}
  .info-toc{position:static;max-height:none;margin-bottom:40px;padding:16px 10px;border-radius:16px;background:var(--tint)}
  .info-toc-label{margin:0 14px 8px;font-size:13px}
  .info-toc a{padding:9px 14px;font-size:14px}
  .info-toc a:hover,.info-toc a[aria-current]{background:#fff}
  .info-doc-section{scroll-margin-top:84px}
  .info-doc-section+.info-doc-section{margin-top:40px;padding-top:40px}
  .info-doc-section>h2::before{font-size:36px}
  .info-doc .info-prose{font-size:16px}
  .info-job-card{grid-template-columns:auto minmax(0,1fr)}
  .info-job-card .info-cta{grid-column:1/-1;grid-row:auto;width:100%;margin-top:14px}
  .info-job-block+.info-job-block{margin-top:40px;padding-top:40px}
  .info-ticks li{font-size:16px}
  .info-job-block.is-perks .info-ticks{grid-template-columns:1fr;gap:12px}
  .info-job-block.is-perks .info-ticks li{padding:20px 20px 20px 60px}
  .info-job-block.is-perks .info-ticks li::before{left:20px;top:19px}
  .info-job-close .info-cta{width:100%}
  .info-dialog{border-radius:20px}
  .info-dialog form,.info-dialog-body{padding:28px 22px 24px}
  .info-field-row{grid-template-columns:1fr;gap:0}
  .info-file{flex-direction:column;align-items:flex-start;gap:10px}
  .info-dialog-actions{flex-direction:column-reverse}
  .info-dialog-actions :is(.info-cta,.info-ghost){width:100%}
  :is(.info-section,.info-doc):has(+.info-ending),.info-page main>:is(.info-section,.info-doc):last-child{padding-bottom:94px}
  .info-ending{margin-top:-30px;padding:64px 0 94px;border-radius:30px 30px 0 0}
  .info-ending-layout{flex-direction:column;align-items:flex-start;gap:30px}
  .info-ending h2{font-size:clamp(30px,8vw,40px)}
  .info-cta{min-height:52px;background:#c24b00}
  .info-ending p{margin-top:16px;font-size:16px}
  .info-page .sst-full-footer{margin-top:-30px;border-radius:30px 30px 0 0}
}
@media(max-width:360px){.info-page .page-width{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){
  .info-hero :is(.info-eyebrow,.info-title-line,.info-back),.info-lede-body,.info-lede-note,.info-lede-foot,.info-dialog[open]{animation:none}
  .info-motion [data-reveal]{opacity:1;translate:none;transition:none}
  .info-arrow,.info-cta,.info-toc a,.info-panels,.info-row,.info-row h3,.info-store,.info-back,.info-back span,.info-ghost,.info-file{transition:none}
}
