
  :root{
    --slate:#46586E;
    --slate-dark:#3A4A5C;
    --slate-light:#7C93A8;
    --warm:#FCFBF9;
    --panel:#F2F0EC;
    --line:#E0DCD5;
    --ink:#33383D;
    --muted:#7A7F86;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;background:#EDEBE7;color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:17px;line-height:1.8;
  }
  .shell{max-width:720px;margin:0 auto;background:var(--warm);}
  /* left/right only -- must not reset section padding-top */
  .pad{padding-left:52px;padding-right:52px;}
  @media(max-width:620px){ .pad{padding-left:26px;padding-right:26px;} body{font-size:16px;} }

  /* Header */
  header{background:var(--slate);color:#fff;text-align:center;padding:56px 52px 60px;}
  @media(max-width:620px){ header{padding:38px 26px 44px;} }
  header img{width:390px;max-width:82%;height:auto;display:block;margin:0 auto 46px;}
  .invited{
    font-size:18px;letter-spacing:5px;text-transform:uppercase;font-weight:700;
    color:#C6D3DF;margin:0 0 36px;line-height:1.5;
  }
  @media(max-width:620px){ .invited{font-size:14px;letter-spacing:3.2px;margin-bottom:28px;} }
  h1,.org{
    font-family:Georgia,'Times New Roman',serif;font-weight:400;
    font-size:33px;line-height:1.4;margin:0;color:#fff;
  }
  .rule{width:52px;height:1px;background:#8698AC;border:0;margin:20px auto;}
  @media(max-width:620px){ h1,.org{font-size:25px;} }
  .presented{font-size:15px;color:#C6D3DF;margin:34px 0 0;line-height:1.7;}

  /* Details */
  .details{background:var(--panel);border-bottom:1px solid var(--line);text-align:center;padding:34px 40px;}
  .details .d1{font-size:18px;font-weight:700;color:var(--slate);margin-bottom:8px;}
  .details .d2{font-size:16px;color:#5A6068;line-height:1.75;}

  /* Sections */
  section{padding-top:66px;}
  @media(max-width:620px){ section{padding-top:48px;} }
  h2{
    font-size:12px;letter-spacing:2.6px;text-transform:uppercase;font-weight:700;
    color:var(--slate-light);margin:0 0 30px;
  }
  p{margin:0 0 22px;}
  .lead{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.55;color:var(--slate);margin-bottom:28px;}

  .notice{
    background:#F5F2EC;border-left:4px solid var(--slate-light);
    padding:26px 30px;margin:16px 0 0;
  }
  .notice strong{color:var(--slate);}
  .notice p:last-child{margin-bottom:0;}

  .scholar{border-left:2px solid #C9D3DC;padding-left:20px;margin-bottom:38px;}
  .scholar:last-child{margin-bottom:0;}
  .scholar .nm{font-weight:700;color:var(--ink);line-height:1.5;}
  .scholar .af{font-size:14px;color:#8A8F96;margin-bottom:10px;line-height:1.6;}
  .scholar .tt{font-family:Georgia,'Times New Roman',serif;color:var(--slate);line-height:1.65;}
  .scholar .tba{color:#9AA0A7;font-style:italic;}

  ul.expect{list-style:none;margin:0;background:var(--panel);padding:32px 34px;}
  ul.expect li{position:relative;padding-left:22px;margin-bottom:16px;line-height:1.75;}
  ul.expect li:last-child{margin-bottom:0;}
  ul.expect li:before{content:"\00B7";position:absolute;left:4px;color:var(--slate-light);font-weight:700;}

  /* Collections */
  .collections{background:var(--panel);padding:36px 34px;text-align:center;}
  .collections img{display:block;margin:0 auto 22px;width:80px;height:80px;}
  .collections .ct{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.55;
                   color:var(--slate);margin:0 0 14px;}
  .collections .cd{font-size:16px;line-height:1.75;color:#4A4F55;margin:0 0 22px;}
  .collections .clink{display:inline-block;padding:14px 30px;background:var(--slate);color:#fff;
                      text-decoration:none;font-weight:700;border-radius:3px;font-size:16px;}
  .collections .clink:hover{background:var(--slate-dark);}

  /* Directions */
  .directions{background:var(--panel);padding:32px 34px;}
  @media(max-width:620px){ .directions{padding:24px 22px;} }
  .route{margin-bottom:24px;}
  .route:last-child{margin-bottom:0;}
  .route .rt{font-weight:700;color:var(--slate);margin-bottom:4px;}
  .route p{margin:0;line-height:1.75;}
  .directions .where{
    font-weight:700;color:var(--slate);border-bottom:1px solid var(--line);
    padding-bottom:18px;margin-bottom:24px;line-height:1.7;
  }
  .directions .heads{font-size:15px;color:#5A6068;margin:24px 0 0;line-height:1.75;}

  /* Form */
  .formwrap{background:var(--panel);padding:38px 38px;margin-top:8px;}
  @media(max-width:620px){ .formwrap{padding:26px 22px;} }
  label{display:block;font-weight:700;font-size:15px;margin-bottom:6px;color:var(--ink);}
  .req{color:#A6473E;}
  .hint{font-weight:400;font-size:14px;color:var(--muted);}
  input[type=text],input[type=email],input[type=number],select,textarea{
    width:100%;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--ink);
    background:#fff;border:1px solid #CFCBC4;border-radius:3px;margin-bottom:20px;
  }
  input:focus,select:focus,textarea:focus{outline:2px solid var(--slate-light);outline-offset:1px;border-color:var(--slate);}
  textarea{min-height:90px;resize:vertical;}
  fieldset{border:0;padding:0;margin:0 0 20px;}
  legend{font-weight:700;font-size:15px;margin-bottom:8px;padding:0;}
  .radio{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;font-size:16px;}
  .radio input{margin-top:5px;flex:0 0 auto;}

  .terms{background:#fff;border:1px solid var(--line);padding:22px 24px;margin-bottom:22px;}
  .terms h3{font-size:15px;margin:0 0 8px;color:var(--slate);}
  .terms h3.jp{margin-top:16px;}
  .terms p{font-size:14.5px;line-height:1.6;color:#4A4F55;margin-bottom:14px;}
  .terms p:last-child{margin-bottom:0;}
  .terms hr{border:0;border-top:1px solid var(--line);margin:20px 0;}

  .agree{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);padding:16px 18px;margin-bottom:22px;}
  .agree input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;}
  .agree label{margin:0;font-weight:400;font-size:15px;line-height:1.5;}

  button{
    display:block;width:100%;padding:17px 24px;font-size:17px;font-weight:700;font-family:inherit;
    color:#fff;background:var(--slate);border:0;border-radius:3px;cursor:pointer;letter-spacing:.4px;
  }
  button:hover{background:var(--slate-dark);}
  .hp{position:absolute;left:-9999px;}

  /* Footer */
  footer{background:var(--slate);color:#fff;text-align:center;padding:34px 40px 32px;margin-top:44px;}
  footer .ft{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;color:#B9C6D3;margin-bottom:14px;}
  footer a{color:#fff;}
  footer .sm{font-size:13px;color:#B9C6D3;margin-top:4px;}
  footer .fine{font-size:11.5px;color:#9DAABA;margin-top:20px;line-height:1.7;}

  /* ---- shared call-to-action ---- */
  .cta{text-align:center;padding-top:52px;}
  .cta a.btnlink{
    display:inline-block;padding:18px 42px;background:var(--slate);color:#fff;
    text-decoration:none;font-weight:700;font-size:17px;border-radius:3px;letter-spacing:.4px;
  }
  .cta a.btnlink:hover{background:var(--slate-dark);}
  .cta .note{font-size:14px;color:var(--muted);margin:22px 0 0;line-height:1.7;}
  @media(max-width:620px){ .cta a.btnlink{display:block;} }

  /* ---- cross-page navigation ---- */
  .backbar{
    text-align:center;padding:22px 26px;background:#F7F4EF;
    border-bottom:1px solid var(--line);font-size:15px;line-height:1.7;
  }
  .backbar a{color:var(--slate);font-weight:700;}
  .tail{text-align:center;padding:44px 26px 0;font-size:15px;}
  .tail a{color:var(--slate);font-weight:700;}

  /* ---- footer ---- */
  footer{background:var(--slate);color:#fff;text-align:center;padding:42px 52px 40px;margin-top:66px;}
  @media(max-width:620px){ footer{padding:34px 26px 32px;margin-top:48px;} }
  footer .ft{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:700;color:#B9C6D3;margin-bottom:20px;}
  footer a{color:#fff;}
  footer .sm{font-size:13px;color:#B9C6D3;margin-top:8px;line-height:1.8;}
  footer .fine{font-size:11.5px;color:#9DAABA;margin-top:24px;line-height:1.9;}

  /* ---- funders ---- */
  .funders{background:var(--panel);padding:34px 34px;text-align:center;}
  .funders .fintro{font-size:16px;color:#4A4F55;margin:0 0 28px;line-height:1.75;}
  .flogos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 54px;}
  .flogos img{display:block;height:auto;}
  @media(max-width:620px){ .flogos{gap:28px;} .funders{padding:28px 22px;} }

  /* ---- special thanks ---- */
  .thanks{background:var(--panel);padding:32px 34px;text-align:center;}
  .thanks p{margin:0;font-size:16px;line-height:1.8;color:#4A4F55;}
  .thanks strong{color:var(--slate);}
  @media(max-width:620px){ .thanks{padding:26px 22px;} }

  .scholar .joint{font-size:14px;color:#8A8F96;margin-top:8px;line-height:1.6;font-style:italic;}

  .scholar .nm a{color:var(--slate);text-decoration:underline;text-underline-offset:2px;}
  .scholar .nm a:hover{color:var(--slate-dark);}
  .scholarnote{font-size:15px;color:var(--muted);margin:-16px 0 30px;}

  /* ---- program call-to-action ---- */
  .programcta{background:var(--panel);padding:34px 34px;text-align:center;}
  .programcta .pt{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.55;
                  color:var(--slate);margin:0 0 14px;}
  .programcta .pd{font-size:16px;line-height:1.75;color:#4A4F55;margin:0 0 24px;}
  .programcta .clink{display:inline-block;padding:14px 28px;background:var(--slate);color:#fff;
                     text-decoration:none;font-weight:700;border-radius:3px;font-size:16px;
                     margin:0 6px 10px;}
  .programcta .clink:hover{background:var(--slate-dark);}
  .programcta .clink.alt{background:transparent;color:var(--slate);
                         border:1px solid var(--slate);}
  .programcta .clink.alt:hover{background:var(--slate);color:#fff;}
  .programcta .ps{font-size:14px;color:var(--muted);margin:14px 0 0;line-height:1.7;}
  @media(max-width:620px){ .programcta .clink{display:block;margin:0 0 12px;} }

  /* ---- housed-in colophon ---- */
  .housed{text-align:center;padding:52px 26px 0;}
  .housed img{width:250px;max-width:64%;height:auto;display:block;margin:0 auto 20px;}
  .housed p{font-size:15px;line-height:1.75;color:var(--muted);margin:0;}
  @media(max-width:620px){ .housed{padding-top:40px;} .housed p{font-size:14px;} }
  @media print{ .housed{display:none !important;} }

  /* venue notice, called out in red */
  .notice.red{border-left-color:#B3362A;}
  .notice.red p{color:var(--ink);}
  .notice.red strong{color:var(--slate);}
  /* only the lead-in phrase is red; names are never set in red */
  .notice.red p > strong:first-child{color:#B3362A;}
