:root {
  --red:#c60012;
  --accent:#18a74d;
  --accent-dark:#128a3e;
  --accent-soft:#cdebd6;
  --ink:#111;
  --text:#333;
  --muted:#62686d;
  --line:#d9dde1;
  --surface:#f4f5f6;
  --white:#fff;
  --space:8px;
  color-scheme:light;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;
  color:var(--ink);
  background:var(--white);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:112px;
}
body {
  margin:0;
}
a {
  color:inherit;
  text-underline-offset:5px;
}
button,input,textarea,select {
  font:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
figure,p {
  margin:0;
}
p {
  font-size:1rem;
  line-height:1.95;
  color:var(--text);
}
p+p {
  margin-top:20px;
}
h1,h2,h3,h4 {
  margin:0;
  font-weight:700;
  line-height:1.5;
  letter-spacing:-.035em;
}
h2 {
  font-size:2.5rem;
  line-height:1.5;
}
h3 {
  font-size:1.5rem;
}
ul,ol {
  padding-left:1.3em;
}
::selection {
  background:var(--accent-soft);
}
:focus-visible {
  outline:3px solid #206caa;
  outline-offset:5px;
}
[hidden] {
  display:none!important;
}
.container {
  width:calc(100% - 112px);
  max-width:1280px;
  margin-inline:auto;
}
.small {
  font-size:.875rem;
  line-height:1.85;
  color:var(--muted);
}
.mobile-only {
  display:none;
}
.section-label {
  font-size:.875rem;
  font-weight:700;
  letter-spacing:.1em;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:32px;
}
.section-label:before {
  content:"";
  width:32px;
  height:3px;
  background:var(--accent);
}
.button {
  min-height:56px;
  padding:16px 24px;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  background:var(--accent);
  color:#fff;
  border:1px solid var(--accent);
  border-radius:2px;
  text-decoration:none;
  font-weight:700;
  line-height:1.5;
  transition:background .15s;
}
.button:hover {
  background:var(--accent-dark);
  border-color:var(--accent-dark);
}
.button span {
  font-size:1.25rem;
}
.button[href="#apply"] {
  background:var(--ink);
  border-color:var(--ink);
}
.button[href="#apply"]:hover {
  background:#333;
  border-color:#333;
}
.button.compact {
  min-height:48px;
  font-size:.875rem;
  padding:12px 20px;
  gap:24px;
}
.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  z-index:100;
  background:#fff;
  padding:16px;
}
.skip-link:focus {
  top:10px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--line);
}
.header-inner {
  min-height:96px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
}
.wordmark {
  display:flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
  margin-left:-4px;
}
.wordmark img {
  display:block;
  height:66px;
  width:auto;
}
.site-header nav {
  display:flex;
  gap:28px;
  align-items:center;
}
.site-header nav>a:not(.button) {
  text-decoration:none;
  font-size:.875rem;
}
.site-header nav>a:hover {
  color:var(--accent);
}
.site-header nav>.button:hover {
  color:#fff;
}
.hero {
  padding-top:48px;
  padding-bottom:80px;
}
.hero-kicker {
  display:flex;
  gap:28px;
  align-items:center;
  border-bottom:1px solid var(--ink);
  padding-bottom:18px;
  font-size:.875rem;
  font-weight:700;
}
.hero-kicker span:first-child {
  color:var(--accent);
}
.hero-layout {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
  margin-top:48px;
}
.hero-copy {
  grid-column:span 8;
  padding-right:16px;
}
.hero h1 {
  font-size:clamp(2.5rem,4.1vw,3.7rem);
  line-height:1.48;
  letter-spacing:-.055em;
  margin-bottom:32px;
}
.hero h1 span {
  display:block;
}
.hero h1 span:nth-child(2) {
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:4px;
  text-underline-offset:12px;
}
.hero-copy p {
  max-width:730px;
}
.hero-lead {
  font-size:1.0625rem;
}
.hero .definition {
  font-size:.875rem;
  color:var(--muted);
  margin-top:24px;
}
.hero-photo {
  grid-column:span 4;
  align-self:stretch;
  border-bottom:3px solid var(--accent);
  display:flex;
  flex-direction:column;
}
.hero-photo img {
  width:100%;
  height:100%;
  min-height:320px;
  max-height:500px;
  object-fit:cover;
  object-position:54% 50%;
  filter:grayscale(1);
}
.hero-photo figcaption {
  padding:20px 0;
  font-size:.875rem;
  line-height:1.8;
  letter-spacing:.02em;
}
.evidence {
  padding-top:56px;
  padding-bottom:72px;
  border-top:1px solid var(--line);
}
.evidence-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:96px;
}
.evidence-layout h2 {
  margin-bottom:24px;
  font-size:2rem;
}
.participant-count {
  border-block:1px solid var(--line);
  padding:16px 0;
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  font-size:.875rem;
}
.participant-count strong {
  font-family:Arial,sans-serif;
  font-size:2rem;
  font-weight:700;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.participant-count strong span {
  font-size:1rem;
  margin-left:3px;
}
.evidence-data {
  border-left:1px solid var(--line);
  padding-left:64px;
}
.data-context {
  font-size:.875rem;
  font-weight:700;
}
.evidence-data .big-number {
  font-family:Arial,sans-serif;
  font-size:9rem;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.07em;
  color:var(--accent);
  margin-top:8px;
}
.big-number span {
  font-size:3rem;
  margin-left:8px;
  letter-spacing:-.02em;
}
.evidence-data .data-conclusion {
  font-size:1.25rem;
  font-weight:700;
  line-height:1.8;
  margin-top:20px;
}
.evidence-data .small {
  max-width:400px;
  margin-top:16px;
}
.evidence-close {
  font-size:1.375rem;
  font-weight:700;
  border-bottom:1px solid var(--ink);
  padding:32px 0;
  margin-top:24px;
}
.site-footer {
  border-top:1px solid var(--line);
  padding:48px 0;
}
.site-footer .container {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:space-between;
  align-items:center;
}
.site-footer p,.site-footer a {
  font-size:.875rem;
}
.site-footer small {
  width:100%;
  font-size:.75rem;
  color:var(--muted);
}
@media(max-width:1100px) {
  .container {
    width:calc(100% - 64px);
  }
  .site-header nav {
    gap:20px;
  }
  .site-header nav>a:not(.button) {
    display:none;
  }
  .hero-copy {
    grid-column:span 8;
    padding-right:0;
  }
  .hero-photo {
    grid-column:span 4;
  }
  .hero h1 {
    font-size:clamp(2.3rem,4.1vw,3rem);
  }
  .evidence-layout {
    gap:40px;
  }
  .evidence-data {
    padding-left:40px;
  }
  .evidence-data .big-number {
    font-size:7.5rem;
  }
}
@media(max-width:760px) {
  html {
    scroll-padding-top:100px;
  }
  .container {
    width:calc(100% - 40px);
  }
  .header-inner {
    min-height:78px;
    gap:8px;
  }
  .wordmark {
    margin-left:-3px;
  }
  .wordmark img {
    height:52px;
  }
  .site-header .button.compact {
    font-size:.8rem;
    padding:10px 12px;
    gap:8px;
    min-height:44px;
  }
  .site-header .button span {
    display:none;
  }
  .hero {
    padding-top:28px;
    padding-bottom:48px;
  }
  .hero-kicker {
    display:block;
    font-size:.8125rem;
    line-height:1.85;
    padding-bottom:16px;
  }
  .hero-kicker span {
    display:block;
  }
  .hero-kicker span+span {
    margin-top:4px;
  }
  .hero-layout {
    display:block;
    margin-top:32px;
  }
  .hero h1 {
    font-size:clamp(1.7rem,6.5vw,3rem);
    line-height:1.6;
    letter-spacing:-.065em;
    margin-bottom:28px;
  }
  .hero h1 span:nth-child(2) {
    text-underline-offset:9px;
    text-decoration-thickness:3px;
  }
  .hero-lead {
    font-size:1rem;
  }
  .hero-photo {
    margin-top:32px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:center;
    border:0;
  }
  .hero-photo img {
    min-height:0;
    height:144px;
    object-position:50% 68%;
  }
  .hero-photo figcaption {
    font-size:.75rem;
    padding:0;
    border-top:2px solid var(--accent);
    padding-top:12px;
  }
  .evidence {
    padding-block:40px;
  }
  .section-label {
    margin-bottom:24px;
    font-size:.8125rem;
  }
  .evidence-layout {
    display:block;
  }
  .evidence-layout h2 {
    font-size:1.875rem;
    line-height:1.5;
  }
  .evidence-layout h2 br {
    display:none;
  }
  .evidence-data {
    border-left:0;
    border-top:1px solid var(--line);
    padding:32px 0 0;
    margin-top:32px;
  }
  .evidence-data .big-number {
    font-size:7rem;
  }
  .evidence-data .data-conclusion {
    font-size:1.0625rem;
  }
  .evidence-close {
    font-size:1.125rem;
    line-height:1.85;
    padding-block:24px;
  }
  .mobile-only {
    display:block;
  }
  .participant-count {
    gap:8px;
  }
  h2 {
    font-size:1.875rem;
  }
  h3 {
    font-size:1.3rem;
  }
  .site-footer {
    padding-bottom:100px;
  }
}
.section {
  padding-block:128px;
}
.band {
  background:var(--surface);
}
.editorial-grid {
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:64px;
}
.section-intro p {
  margin-top:24px;
  max-width:430px;
}
.section-intro .button {
  margin-top:32px;
  min-width:256px;
}
.section-intro .fee {
  margin-top:12px;
}
.overview {
  padding-block:88px;
}
.overview h2 {
  font-size:2.375rem;
}
.spec-list {
  margin:0;
}
.spec-list>div {
  display:grid;
  grid-template-columns:136px 1fr;
  gap:16px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.spec-list>div:first-child {
  padding-top:0;
}
.spec-list dt {
  font-size:.875rem;
  font-weight:700;
  padding-top:3px;
}
.spec-list dd {
  margin:0;
  line-height:1.85;
}
.inline-number {
  font-family:Arial,sans-serif;
  font-size:2rem;
  line-height:1.2;
}
.inline-number span,.inline-number small {
  font-size:1rem;
  margin:0 4px;
}
.spec-divider {
  margin-inline:12px;
  color:var(--line);
}
.text-link {
  font-size:.9375rem;
  line-height:1.8;
  display:inline-block;
  margin-top:24px;
  font-weight:700;
}
.text-link span {
  margin-left:16px;
}
.questions-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:96px;
  align-items:end;
  margin-bottom:48px;
}
.questions-heading h2 {
  font-size:2.375rem;
}
.ten {
  font-family:Arial,sans-serif;
  font-size:5rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.06em;
  margin-right:8px;
}
.question-list {
  padding:0;
  list-style:none;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:64px;
}
.question-list li {
  display:flex;
  gap:20px;
  align-items:flex-start;
  border-top:1px solid var(--line);
  padding:28px 0;
  break-inside:avoid;
}
.question-no {
  font-family:Arial,sans-serif;
  font-size:1rem;
  color:var(--accent);
  line-height:2;
  font-weight:700;
  flex:0 0 28px;
}
.question-list p {
  font-size:1.0625rem;
  font-weight:600;
  line-height:1.85;
  color:var(--ink);
}
.question-bridge {
  margin-top:24px;
  margin-left:auto;
  max-width:760px;
  border-left:3px solid var(--accent);
  padding-left:32px;
}
.question-bridge strong {
  font-weight:700;
  color:var(--ink);
}
.deliverables h2 {
  margin-bottom:64px;
}
.deliverable {
  display:grid;
  grid-template-columns:4fr 8fr;
  gap:64px;
  padding-block:64px;
  border-top:1px solid var(--line);
}
.deliverable:first-of-type {
  padding-top:0;
  border-top:0;
}
.item-index {
  display:block;
  font-family:Arial,sans-serif;
  color:var(--accent);
  font-size:1rem;
  font-weight:700;
  line-height:1;
  margin-bottom:24px;
}
.deliverable h3 {
  font-size:1.625rem;
  margin-bottom:24px;
}
.deliverable-copy p {
  font-size:1rem;
}
.axis-list {
  margin-top:32px;
}
.axis-list>div {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:16px 0;
  border-top:1px solid var(--line);
  font-size:.875rem;
  line-height:1.8;
}
.axis-list dt {
  font-weight:700;
}
.axis-list dd {
  margin:0;
  color:var(--muted);
}
.personal-screens {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}
.personal-screens .screen:nth-child(2) {
  margin-top:120px;
}
.screen {
  min-width:0;
}
.screen a {
  position:relative;
  display:block;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
  cursor:zoom-in;
  overflow:hidden;
}
.screen a img {
  width:100%;
  height:auto;
}
.screen a:hover {
  border-color:var(--ink);
}
.zoom-tag {
  position:absolute;
  bottom:0;
  right:0;
  display:block;
  background:var(--ink);
  color:#fff;
  font-size:.75rem;
  font-weight:600;
  padding:8px 12px;
}
.screen figcaption,.report-example figcaption {
  font-size:.8125rem;
  line-height:1.8;
  color:var(--muted);
  margin-top:16px;
}
.screen figcaption strong {
  color:var(--text);
}
.report-paper {
  background:#fff;
  border:1px solid var(--line);
  padding:40px;
  max-width:650px;
  margin-left:auto;
}
.report-topline {
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:3px solid var(--accent);
  padding-bottom:16px;
  font-size:.8125rem;
  letter-spacing:.08em;
}
.report-paper h4 {
  font-size:2rem;
  margin-top:28px;
}
.report-subtitle {
  margin-top:8px;
  font-size:.9375rem;
}
.report-scope {
  padding:16px 0;
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  line-height:1.8;
  font-size:.8125rem;
  border-block:1px solid var(--line);
  margin-top:24px;
}
.report-contents {
  list-style:none;
  padding:0;
  margin:0;
}
.report-contents li {
  display:flex;
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.report-contents li>span {
  font-family:Arial,sans-serif;
  color:var(--muted);
  font-size:.8125rem;
}
.report-contents strong {
  font-size:1rem;
}
.report-contents p {
  font-size:.8125rem;
  margin-top:4px;
  color:var(--muted);
}
.report-note {
  margin-top:24px;
}
.report-example figcaption {
  max-width:650px;
  margin-left:auto;
}
.consultation {
  border-top:1px solid var(--ink);
  padding-top:48px;
  display:grid;
  grid-template-columns:7fr 5fr;
  gap:64px;
}
.consultation h3 {
  font-size:1.625rem;
}
.consultation p {
  margin-top:24px;
  max-width:680px;
}
.consultation-time {
  padding-left:48px;
  border-left:1px solid var(--line);
}
.consultation-time p {
  font-size:.875rem;
  margin-top:0;
}
.consultation-time strong {
  font-family:Arial,sans-serif;
  font-size:3.625rem;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.05em;
  white-space:nowrap;
}
.consultation-time strong .range-separator {
  display:inline-block;
  margin-inline:.2em;
  font-size:.72em;
  font-weight:400;
  letter-spacing:0;
  transform:translateY(-.24em);
}
.consultation-time strong .duration-unit {
  font-size:1.25rem;
  margin-left:8px;
}
.section-cta {
  border-top:1px solid var(--line);
  margin-top:64px;
  padding-top:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.section-cta p {
  font-size:1.125rem;
  font-weight:700;
}
.section-cta .button {
  min-width:290px;
}
.diagnosis-description {
  margin-top:24px;
}
.diagnosis-screens {
  margin-top:64px;
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:48px;
  align-items:start;
}
.diagnosis-screens .screen:first-child {
  margin-top:48px;
}
.boundary-note {
  border-left:3px solid var(--accent);
  background:var(--surface);
  padding:28px 32px;
  margin-top:48px;
  line-height:1.8;
}
.boundary-note p {
  margin-top:12px;
  max-width:850px;
}
.flow-list {
  list-style:none;
  padding:0;
  margin:0;
}
.flow-list li {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:24px;
  border-top:1px solid var(--line);
  padding:32px 0;
}
.flow-list li:first-child {
  padding-top:0;
  border-top:0;
}
.flow-number {
  font-family:Arial,sans-serif;
  font-size:1.5rem;
  line-height:1.5;
  color:var(--accent);
  font-weight:700;
}
.flow-list h3 {
  font-size:1.25rem;
  line-height:1.7;
}
.flow-list p {
  margin-top:16px;
}
.flow-list .small {
  margin-top:12px;
}
.supplement-copy h3 {
  font-size:1.375rem;
}
.supplement-copy p {
  margin-top:24px;
}
.purpose-note {
  border-top:1px solid var(--line);
  padding-top:32px;
  margin-top:32px;
}
.organizer {
  border-top:1px solid var(--ink);
  padding-top:48px;
  margin-top:80px;
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:64px;
}
.organizer h3 {
  font-size:1.25rem;
}
.organizer strong,.site-footer p {
  word-break:keep-all;
}
.application-grid {
  display:grid;
  grid-template-columns:4fr 8fr;
  gap:80px;
  align-items:start;
}
.application-intro {
  position:sticky;
  top:136px;
}
.application-intro p {
  margin-top:24px;
}
.application-intro .section-label {
  letter-spacing:0;
  font-size:.8rem;
  gap:12px;
}
.application-intro .section-label:before {
  width:24px;
  flex-shrink:0;
}
.application-intro h2 {
  font-size:3rem;
}
.application-fee {
  font-weight:700;
  border-top:1px solid var(--line);
  padding-top:24px;
}
.application-path {
  list-style:none;
  padding:0;
  margin:32px 0 0;
  counter-reset:step;
}
.application-path li {
  display:flex;
  gap:14px;
  align-items:center;
  font-size:.875rem;
  line-height:1.8;
  padding:10px 0;
}
.application-path span {
  font-family:Arial,sans-serif;
  font-size:.875rem;
  border:1px solid var(--line);
  background:#fff;
  width:28px;
  height:28px;
  text-align:center;
  flex-shrink:0;
}
.application form,.form-done {
  background:#fff;
  border-top:3px solid var(--ink);
  padding:40px;
}
.form-done h3 {
  font-size:1.25rem;
  line-height:1.6;
}
.form-done p {
  margin-top:16px;
  line-height:1.9;
}
.form-done .button {
  margin-top:24px;
}
.form-done:focus {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.hp {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.test-notice {
  padding:12px 16px;
  background:#fff8e1;
  border-left:3px solid #c9a227;
  font-size:.8125rem;
  line-height:1.8;
  margin-bottom:24px;
}
.preview-notice {
  padding:20px 24px;
  background:var(--surface);
  border-left:3px solid var(--muted);
}
.preview-notice strong {
  font-size:.9375rem;
}
.preview-notice p {
  font-size:.8125rem;
  margin-top:8px;
  line-height:1.9;
}
.required-note {
  font-size:.8125rem;
  color:var(--muted);
  margin-block:24px 32px;
}
.field {
  padding:0;
  border:0;
  margin:0 0 32px;
  min-width:0;
}
.field label:not(.choice),.field legend {
  font-size:.9375rem;
  line-height:1.8;
  font-weight:700;
  display:block;
  margin-bottom:10px;
}
.required {
  color:var(--accent);
  font-weight:700;
  font-size:.75rem;
  margin-left:12px;
  white-space:nowrap;
}
.field input:not([type=checkbox]):not([type=radio]),.field textarea {
  width:100%;
  min-height:52px;
  border:1px solid #a0a5aa;
  border-radius:2px;
  padding:12px 14px;
  color:var(--ink);
  background:#fff;
  font-size:1rem;
  line-height:1.6;
  appearance:none;
}
.field textarea {
  resize:vertical;
  min-height:110px;
}
.field input:not([type=checkbox]):not([type=radio]):focus,.field textarea:focus {
  border-color:var(--ink);
  outline:2px solid #206caa;
  outline-offset:3px;
}
.field input[aria-invalid=true],.field textarea[aria-invalid=true] {
  border-color:var(--red)!important;
}
.field-help {
  font-size:.8125rem;
  line-height:1.85;
  color:var(--muted);
  margin-top:8px;
}
.two-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.two-fields>div {
  min-width:0;
}
.field .two-fields label {
  font-size:.8125rem;
  font-weight:400;
  margin-bottom:6px;
}
.count-options {
  display:flex;
  gap:16px 32px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.choice {
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:.9375rem;
  line-height:1.85;
  cursor:pointer;
  font-weight:400;
}
.choice input {
  width:20px;
  height:20px;
  accent-color:var(--accent);
  margin:4px 0 0;
  flex-shrink:0;
  cursor:pointer;
}
.count-options .choice {
  min-height:44px;
  align-items:center;
}
.count-options .choice input {
  margin-top:0;
}
.field .number-input {
  display:flex!important;
  align-items:center;
  gap:12px;
  font-weight:400!important;
}
.field .number-input input {
  width:144px!important;
}
.legend-note {
  font-size:.8125rem;
  color:var(--muted);
  font-weight:400;
  margin-left:12px;
}
.attendee-options {
  display:grid;
  gap:0;
}
.attendee-options .choice {
  min-height:48px;
  padding:8px 0;
}
.attendee-options .undecided-choice {
  border-top:1px solid var(--line);
  padding-top:16px;
  margin-top:8px;
}
#other-role-wrap {
  padding:8px 0 16px 32px;
}
#other-role-wrap label {
  font-size:.8125rem;
}
.selection-guidance {
  font-size:.8125rem;
  line-height:1.85;
  border-left:3px solid var(--accent);
  background:var(--surface);
  padding:16px;
  margin-top:12px;
}
.field-error {
  font-size:.8125rem;
  color:#a10010;
  line-height:1.8;
  margin-top:6px;
}
.field-error:empty {
  display:none;
}
.error-summary {
  padding:24px;
  background:#fff4f4;
  border:1px solid var(--red);
  margin-bottom:32px;
  font-size:.875rem;
  line-height:1.8;
}
.error-summary strong {
  color:#a10010;
}
.error-summary ul {
  margin:12px 0 0;
}
.error-summary li {
  margin-top:8px;
}
.error-summary a {
  color:#a10010;
}
.consents {
  padding:24px 0 0;
  border:0;
  border-top:1px solid var(--line);
  margin:40px 0 32px;
  min-width:0;
}
.consents legend {
  padding:0 12px 0 0;
  font-size:.9375rem;
  font-weight:700;
}
.consents>div+div {
  margin-top:24px;
}
.consent-choice {
  font-size:.875rem;
}
.consent-choice a {
  font-weight:700;
}
.submit-button {
  width:100%;
  gap:16px;
  text-align:left;
  font-size:1rem;
  line-height:1.8;
}
.submit-button:disabled {
  cursor:not-allowed;
  background:#70757a;
  border-color:#70757a;
}
.submit-note {
  font-size:.8125rem;
  line-height:1.8;
  margin-top:16px;
  color:var(--muted);
}
.after-submit {
  border-top:1px solid var(--line);
  margin-top:32px;
  padding-top:20px;
  font-size:.875rem;
  line-height:1.85;
}
.after-submit summary {
  font-size:.875rem;
  font-weight:700;
  cursor:pointer;
  min-height:40px;
}
.after-submit p {
  font-size:.8125rem;
  margin-top:16px;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
dialog {
  border:0;
  padding:0;
  color:var(--ink);
  background:var(--white);
  max-height:90dvh;
}
dialog::backdrop {
  background:rgba(0,0,0,.75);
}
.dialog-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 24px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.dialog-toolbar p {
  font-size:.875rem;
  font-weight:700;
  line-height:1.7;
}
.dialog-close {
  border:1px solid var(--line);
  background:white;
  padding:10px 14px;
  font-size:.875rem;
  min-height:44px;
  flex-shrink:0;
}
.dialog-close:hover {
  border-color:var(--ink);
}
.image-dialog {
  width:min(1200px,94vw);
}
.image-dialog[open] {
  display:flex;
  flex-direction:column;
}
.image-dialog-scroll {
  overflow:auto;
  background:var(--surface);
}
.image-dialog-scroll img {
  width:100%;
  min-width:900px;
  max-width:none;
  height:auto;
}
.image-dialog-help {
  font-size:.75rem;
  padding:8px 24px;
  border-top:1px solid var(--line);
}
.preview-dialog {
  width:min(650px,calc(100vw - 32px));
}
.preview-dialog-body {
  padding:32px;
}
.preview-dialog h2 {
  font-size:1.625rem;
  margin-bottom:24px;
}
.preview-result {
  background:var(--surface);
  padding:20px;
  font-size:.9375rem;
  border-left:3px solid var(--accent);
}
.preview-dialog-body>p+p {
  margin-top:20px;
}
.preview-dialog-body .return-button {
  margin-top:28px;
}
body.dialog-open {
  overflow:hidden;
}
@media(max-width:1100px) {
  .section {
    padding-block:96px;
  }
  .editorial-grid {
    grid-template-columns:4fr 6fr;
    gap:40px;
  }
  .overview h2,.diagnosis h2 {
    font-size:clamp(1.75rem,3.6vw,2rem);
  }
  .spec-list>div {
    grid-template-columns:104px 1fr;
    gap:16px;
  }
  .questions-heading {
    gap:48px;
  }
  .questions-heading h2 {
    font-size:2rem;
  }
  .question-list {
    column-gap:40px;
  }
  .deliverable {
    grid-template-columns:4fr 6fr;
    gap:40px;
  }
  .personal-screens {
    display:block;
  }
  .personal-screens .screen:nth-child(2) {
    margin:32px 0 0 15%;
    max-width:85%;
  }
  .report-paper {
    padding:28px;
  }
  .consultation {
    gap:40px;
  }
  .consultation-time {
    padding-left:32px;
  }
  .consultation-time strong {
    font-size:3rem;
  }
  .application-grid {
    grid-template-columns:1fr 1.6fr;
    gap:40px;
  }
  .application form {
    padding:28px;
  }
  .application-intro .section-label {
    align-items:flex-start;
  }
  .application-intro .section-label:before {
    margin-top:8px;
  }
  .organizer {
    grid-template-columns:4fr 6fr;
    gap:40px;
  }
}
@media(max-width:760px) {
  .diagnosis h2 {
    font-size:1.875rem;
  }
  .section {
    padding-block:72px;
  }
  .editorial-grid,.application-grid,.organizer {
    display:block;
  }
  .overview {
    padding-block:56px;
  }
  .overview h2 {
    font-size:1.875rem;
  }
  .overview-detail {
    margin-top:40px;
  }
  .spec-list>div {
    grid-template-columns:100px 1fr;
    gap:12px;
    padding-block:20px;
  }
  .spec-list dt {
    font-size:.8125rem;
  }
  .spec-list dd {
    font-size:.9375rem;
  }
  .spec-list dd .small {
    font-size:.8125rem;
  }
  .inline-number {
    font-size:1.75rem;
  }
  .spec-divider {
    margin-inline:4px;
  }
  .section-intro .button {
    width:100%;
    max-width:360px;
  }
  .questions-heading {
    display:block;
    margin-bottom:32px;
  }
  .questions-heading h2 {
    font-size:1.875rem;
  }
  .ten {
    font-size:4.5rem;
  }
  .questions-heading>p {
    margin-top:24px;
  }
  .question-list {
    display:block;
  }
  .question-list li {
    padding:24px 0;
    gap:16px;
  }
  .question-list p {
    font-size:1rem;
    line-height:1.9;
  }
  .question-no {
    flex-basis:24px;
  }
  .question-bridge {
    margin-top:24px;
    padding-left:20px;
  }
  .deliverables h2 {
    margin-bottom:40px;
    font-size:1.75rem;
  }
  .deliverable {
    display:block;
    padding-block:40px;
  }
  .deliverable h3 {
    font-size:1.5rem;
  }
  .deliverable-copy {
    margin-bottom:32px;
  }
  .axis-list {
    margin-top:24px;
  }
  .personal-screens {
    display:block;
  }
  .personal-screens .screen:nth-child(2) {
    margin:32px 0 0;
    max-width:100%;
  }
  .item-index {
    margin-bottom:16px;
  }
  .report-paper {
    padding:24px;
  }
  .report-paper h4 {
    font-size:1.75rem;
  }
  .report-contents li {
    gap:16px;
  }
  .report-scope {
    gap:8px;
  }
  .report-scope span {
    width:100%;
  }
  .consultation {
    display:block;
    padding-top:40px;
  }
  .consultation h3 {
    font-size:1.375rem;
  }
  .consultation-time {
    border:0;
    border-top:1px solid var(--line);
    margin-top:28px;
    padding:24px 0 0;
  }
  .consultation-time strong {
    font-size:3.25rem;
  }
  .consultation-time p {
    margin-top:8px;
  }
  .section-cta {
    display:block;
    margin-top:40px;
    padding-top:24px;
  }
  .section-cta p {
    font-size:1rem;
  }
  .section-cta .button {
    width:100%;
    min-width:0;
    margin-top:24px;
  }
  .diagnosis .spec-list {
    margin-top:32px;
  }
  .diagnosis-screens {
    display:block;
    margin-top:40px;
  }
  .diagnosis-screens .screen:first-child {
    margin-top:0;
  }
  .diagnosis-screens .screen+.screen {
    margin-top:32px;
  }
  .boundary-note {
    padding:24px 20px;
    margin-top:32px;
  }
  .boundary-note strong {
    font-size:1rem;
  }
  .boundary-note p {
    font-size:.9375rem;
  }
  .flow-list {
    margin-top:40px;
  }
  .flow-list li {
    grid-template-columns:32px 1fr;
    gap:16px;
    padding-block:28px;
  }
  .flow-list h3 {
    font-size:1.125rem;
  }
  .flow-number {
    font-size:1.25rem;
  }
  .supplement-copy {
    margin-top:32px;
  }
  .supplement-copy h3 {
    font-size:1.25rem;
  }
  .organizer {
    padding-top:32px;
    margin-top:48px;
  }
  .organizer>div {
    margin-top:24px;
  }
  .application-intro {
    position:static;
  }
  .application-intro h2 {
    font-size:2.5rem;
  }
  .application-intro .section-label {
    font-size:.75rem;
  }
  .application-path {
    margin-top:24px;
  }
  .application form {
    margin-top:40px;
    padding:24px 20px;
  }
  .application .container {
    width:calc(100% - 32px);
  }
  .application-intro {
    padding-inline:4px;
  }
  .preview-notice {
    padding:16px;
  }
  .preview-notice strong {
    font-size:.875rem;
  }
  .field {
    margin-bottom:28px;
  }
  .required {
    margin-left:8px;
  }
  .field label:not(.choice),.field legend {
    font-size:.875rem;
  }
  .count-options {
    gap:0 24px;
    display:block;
  }
  .field input:not([type=checkbox]):not([type=radio]),.field textarea {
    font-size:1rem;
  }
  .legend-note {
    display:block;
    margin-left:0;
  }
  .consents {
    margin-top:32px;
  }
  .consents legend {
    font-size:.875rem;
  }
  .submit-button {
    padding:16px;
    font-size:.9375rem;
    gap:12px;
  }
  .submit-button span {
    display:none;
  }
  .dialog-toolbar {
    padding:12px 16px;
    gap:12px;
  }
  .dialog-toolbar p {
    font-size:.8125rem;
  }
  .dialog-close {
    padding:8px 10px;
    font-size:.8125rem;
  }
  .preview-dialog-body {
    padding:24px;
  }
  .preview-dialog h2 {
    font-size:1.375rem;
  }
  .preview-result {
    padding:16px;
  }
  .image-dialog-help {
    padding:8px 16px;
  }
  .site-footer .container {
    display:block;
  }
  .site-footer a {
    display:inline-block;
    margin-top:16px;
  }
  .site-footer small {
    display:block;
    margin-top:24px;
  }
  .text-link {
    font-size:.875rem;
  }
}
@media(max-width:360px) {
  .container {
    width:calc(100% - 32px);
  }
  .wordmark {
    margin-left:-2px;
  }
  .wordmark img {
    height:40px;
  }
  .site-header .button.compact {
    font-size:.75rem;
    padding:10px;
    white-space:nowrap;
  }
  .application form {
    padding:20px 16px;
  }
  .spec-list>div {
    grid-template-columns:88px 1fr;
    gap:8px;
  }
  .hero h1 {
    font-size:1.625rem;
  }
  .spec-divider {
    margin-inline:0;
  }
  .inline-number span,.inline-number small {
    margin-inline:2px;
  }
}
@media print {
  .site-header {
    position:static;
  }
  .site-header nav,.button,.zoom-tag,dialog,.skip-link {
    display:none!important;
  }
  .section {
    padding-block:40px;
  }
  .hero-photo img {
    max-height:320px;
  }
  .application-intro {
    position:static;
  }
  a {
    text-decoration:none;
  }
  .screen,.deliverable,.flow-list li {
    break-inside:avoid;
  }
  .application form {
    border:1px solid var(--line);
  }
  .container {
    width:100%;
  }
  .site-footer {
    padding-bottom:24px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
    animation:none!important;
  }
}
