/* Public audience pages share the homepage invitation palette. */
.section-audience {
  --audience-ink: #183e34;
  --audience-muted: #5e6b61;
  --audience-paper: #faf8f2;
  --audience-line: #dddeda;
  background: var(--audience-paper);
}
.section-audience .page-hero { background: #eef1e9; border-bottom: 1px solid #d9e0d4; }
.section-audience .hero-inner { display: block; width: min(100%, 1160px); max-width: 1160px; padding: 58px 24px 54px; }
.section-audience .hero-copy { max-width: 850px; }
.section-audience .hero-copy .eyebrow { color: #706039; font-size: 11px; letter-spacing: 1.7px; }
.section-audience .hero-copy h1 { max-width: 790px; color: var(--audience-ink); font: 500 clamp(38px, 5vw, 66px)/1.06 Georgia, serif; letter-spacing: -2px; text-wrap: balance; margin: 20px 0 22px; }
.section-audience .hero-copy > p { display: block; -webkit-line-clamp: unset; max-width: 665px; color: #54685c; font: 400 17px/1.7 system-ui, sans-serif; margin: 0; }
.section-audience .page-main { width: min(100%, 1160px); max-width: 1160px; padding: 0 24px 70px; }
.audience-page { color: #183e34; font: 400 15px/1.6 system-ui, sans-serif; }
.audience-page * { box-sizing: border-box; }
.audience-page :is(h2, h3, p, ol, ul) { margin-top: 0; }
.audience-page h2 { font: 500 clamp(27px, 3vw, 39px)/1.18 Georgia, serif; letter-spacing: -.7px; text-wrap: balance; }
.audience-page h3 { font: 500 23px/1.3 Georgia, serif; letter-spacing: -.25px; }
.audience-page a { color: inherit; text-decoration: none; }
.audience-tabs { display: flex; align-items: center; gap: 30px; padding: 0; border-bottom: 1px solid var(--audience-line); }
.audience-tabs a { position: relative; display: flex; align-items: center; min-height: 60px; font-size: 13px; color: #626e63; white-space: nowrap; }
.audience-tabs a[aria-current="page"] { color: #234a39; font-weight: 650; }
.audience-tabs a[aria-current="page"]::after { content: ''; position: absolute; bottom: -1px; inset-inline: 0; height: 3px; background: #a88549; }
.audience-tabs a:hover { color: #173e2d; }
.audience-top-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 25px; padding-top: 28px; }
.audience-top-actions > span { color: #657064; font-size: 12px; }
.audience-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.audience-actions a { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 48px; padding: 13px 18px; border-radius: 5px; font-size: 13px; font-weight: 600; line-height: 1.4; }
.audience-actions a > span { font-size: 18px; font-weight: 400; }
.audience-actions .audience-primary { background: #194937; border: 1px solid #194937; color: #fffdf7; }
.audience-actions .audience-primary:hover { background: #103524; border-color: #103524; }
.audience-actions .audience-secondary { background: transparent; border: 1px solid #c9d1c5; color: #36503e; }
.audience-actions .audience-secondary:hover { background: #edf0e7; border-color: #91a289; }
.audience-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 80px; padding: 70px 0; }
.audience-page .audience-kicker { margin: 0 0 16px; color: #827044; font: 650 10px/1.6 system-ui, sans-serif; letter-spacing: 1.45px; }
.audience-intro h2 { margin-bottom: 20px; }
.audience-lead { margin-bottom: 22px; color: #5e6b61; font-size: 15px; line-height: 1.8; }
.audience-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 20px; font-size: 13px; font-weight: 650; }
.audience-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.audience-showcase { position: relative; overflow: hidden; background: #183e34; color: #faf8f2; border: 1px solid #284a3c; border-radius: 10px; padding: 35px; box-shadow: 12px 12px 0 #e7e7d9; }
.audience-showcase .audience-kicker { position: relative; color: #d5be86; padding-right: 36px; }
.audience-showcase h3 { position: relative; margin: 28px 0 12px; color: #fffdf5; font-size: 31px; }
.audience-showcase > p:not(.audience-kicker) { position: relative; max-width: 345px; color: #c5d2c6; font-size: 13px; line-height: 1.7; }
.audience-showcase-mark { position: absolute; top: -62px; right: 6px; color: #dae8c7; opacity: .1; font: 230px Georgia, serif; pointer-events: none; }
.audience-showcase ul { position: relative; list-style: none; padding: 8px 0 0; margin-bottom: 25px; }
.audience-showcase li { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid #ffffff20; color: #e0e7db; font-size: 13px; line-height: 1.6; }
.audience-showcase li > span { color: #d6bc80; font-size: 19px; }
.audience-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.audience-tags span { border: 1px solid #ffffff26; border-radius: 30px; padding: 5px 10px; color: #cdd7c6; font-size: 10px; letter-spacing: .2px; }
.audience-law-students .audience-showcase { background: #485740; border-color: #5a684c; box-shadow: 12px 12px 0 #e9e1cb; }
.audience-colleges .audience-showcase { background: #244945; border-color: #355a54; }
.audience-benefits { padding: 45px 0 55px; border-block: 1px solid var(--audience-line); scroll-margin-top: 100px; }
.audience-section-heading { max-width: 680px; margin-bottom: 30px; }
.audience-section-heading h2 { margin-bottom: 0; }
.audience-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.audience-feature-grid article { padding: 5px 27px 0; border-left: 1px solid var(--audience-line); }
.audience-feature-grid article:first-child { padding-left: 0; border-left: 0; }
.audience-feature-grid article:last-child { padding-right: 0; }
.audience-number { display: block; color: #a48a56; font: 400 37px/1.1 Georgia, serif; margin: 0 0 26px; }
.audience-feature-grid .audience-kicker { margin-bottom: 10px; font-size: 9px; }
.audience-feature-grid h3 { margin-bottom: 13px; }
.audience-feature-grid article > p:last-child { color: #5e6b61; font-size: 13px; line-height: 1.85; margin-bottom: 0; }
.audience-start { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; padding: 65px 0; }
.audience-start h2 { margin-bottom: 20px; }
.audience-start ol { list-style: none; padding: 0; margin-bottom: 0; }
.audience-start li { display: flex; gap: 22px; padding: 21px 0; border-bottom: 1px solid var(--audience-line); }
.audience-start li:first-child { padding-top: 0; }
.audience-start li > span { color: #7c683b; padding-top: 3px; font: 400 20px/1.4 Georgia, serif; }
.audience-start li h3 { margin-bottom: 8px; font: 600 16px/1.4 system-ui, sans-serif; letter-spacing: -.2px; }
.audience-start li p { color: #5e6b61; font-size: 13px; line-height: 1.75; margin-bottom: 0; }
.audience-explore { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 65px; align-items: center; padding: 42px; border: 1px solid #dce2d2; border-radius: 9px; background: #edf0e7; }
.audience-explore h2 { margin: 0; font-size: 31px; }
.audience-explore-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid #d2dacb; }
.audience-explore-links a:first-child { padding-top: 0; }
.audience-explore-links a:last-child { border: 0; padding-bottom: 0; }
.audience-explore-links a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.audience-explore-links a > span:last-child { color: #738366; font-size: 23px; }
.audience-explore-links strong { display: block; font-size: 15px; font-weight: 600; }
.audience-explore-links small { display: block; margin-top: 4px; color: #606f59; font-size: 12px; line-height: 1.6; }
.audience-faq { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; padding: 70px 0; }
.audience-faq h2 { font-size: 33px; margin-bottom: 0; }
.audience-faq details { border-bottom: 1px solid var(--audience-line); }
.audience-faq summary { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; min-height: 64px; padding: 20px 0; list-style: none; font-size: 14px; font-weight: 600; cursor: pointer; }
.audience-faq summary::-webkit-details-marker { display: none; }
.audience-faq summary > span { color: #8a7e59; font-size: 21px; line-height: 1; font-weight: 400; }
.audience-faq details[open] summary > span { transform: rotate(45deg); }
.audience-faq details p { color: #5e6b61; font-size: 13px; line-height: 1.85; padding-right: 30px; margin-bottom: 23px; }
.audience-closing { text-align: center; padding: 50px 35px; background: #f0eee3; border-block: 1px solid #e0ddca; }
.audience-closing h2 { max-width: 650px; margin: 0 auto 18px; }
.audience-closing > p:not(.audience-kicker) { max-width: 590px; margin: 0 auto 24px; color: #64705f; font-size: 14px; line-height: 1.8; }
.audience-closing .audience-actions { justify-content: center; }
.audience-page :is(a, summary):focus-visible { outline: 3px solid #ad8a47; outline-offset: 5px; }
@media (max-width: 900px) {
  .audience-intro, .audience-start, .audience-faq { gap: 40px; }
  .audience-intro { padding-block: 55px; }
  .audience-showcase { padding: 27px; }
  .audience-feature-grid article { padding-inline: 20px; }
  .audience-explore { gap: 35px; padding: 30px; }
}
@media (max-width: 820px) {
  .section-audience .hero-inner { max-width: 760px; padding: 36px 22px 32px; }
  .section-audience .hero-copy .eyebrow { font-size: 11px; line-height: 1.6; letter-spacing: 1.4px; }
  .section-audience .hero-copy h1 { margin: 16px 0 20px; font-size: clamp(36px, 8.8vw, 48px); line-height: 1.12; letter-spacing: -1.15px; }
  .section-audience .hero-copy > p { font-size: 16px; line-height: 1.7; }
  .section-audience .page-main { max-width: 760px; margin-top: 0; padding: 20px 22px 40px; }
  .audience-page { font-size: 16px; }
  .audience-page h2 { font-size: clamp(28px, 6.8vw, 35px); line-height: 1.2; letter-spacing: -.6px; }
  .audience-page .audience-kicker { font-size: 11px; line-height: 1.6; letter-spacing: 1.2px; }
  .audience-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 4px; padding: 5px; background: #e9ede3; border: 1px solid #d7dece; border-radius: 12px; }
  .audience-tabs a { justify-content: center; min-height: 48px; padding: 10px 7px; border-radius: 8px; font-size: 13px; line-height: 1.35; text-align: center; white-space: normal; }
  .audience-tabs a[aria-current="page"] { background: #234a39; color: #fffdf7; box-shadow: 0 2px 5px #183e3414; }
  .audience-tabs a[aria-current="page"]::after { display: none; }
  .audience-tabs a:focus-visible { outline-offset: 1px; }
  .audience-top-actions { padding-top: 20px; gap: 13px; }
  .audience-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 10px; }
  .audience-actions a { min-height: 52px; padding: 14px 16px; border-radius: 9px; font-size: 14px; gap: 12px; }
  .audience-actions a > span { flex: 0 0 auto; }
  .audience-top-actions > span { font-size: 12px; line-height: 1.6; }
  .audience-intro, .audience-start, .audience-explore, .audience-faq { grid-template-columns: 1fr; gap: 28px; }
  .audience-intro { padding: 42px 0 48px; }
  .audience-intro h2 { margin-bottom: 18px; }
  .audience-lead { font-size: 16px; line-height: 1.75; margin-bottom: 14px; }
  .audience-text-link { min-height: 48px; font-size: 14px; }
  .audience-showcase { margin-right: 6px; padding: 26px; border-radius: 14px; box-shadow: 6px 6px 0 #e7e7d9; }
  .audience-law-students .audience-showcase { box-shadow: 6px 6px 0 #e9e1cb; }
  .audience-showcase h3 { font-size: 30px; line-height: 1.22; margin-top: 22px; }
  .audience-showcase > p:not(.audience-kicker) { max-width: none; font-size: 14px; line-height: 1.75; }
  .audience-showcase li { align-items: flex-start; gap: 12px; padding-block: 14px; font-size: 14px; line-height: 1.6; }
  .audience-showcase li > span { flex: 0 0 18px; }
  .audience-tags span { padding: 6px 11px; font-size: 11px; }
  .audience-benefits { padding: 38px 0; }
  .audience-section-heading { margin-bottom: 25px; }
  .audience-feature-grid { grid-template-columns: 1fr; gap: 14px; }
  .audience-feature-grid article,
  .audience-feature-grid article:first-child,
  .audience-feature-grid article:last-child { padding: 23px; border: 1px solid #dce2d5; border-radius: 13px; background: #fffef9; box-shadow: 0 3px 12px #183e3404; }
  .audience-number { float: right; margin: 0 0 12px 18px; font-size: 31px; line-height: 1.2; }
  .audience-feature-grid .audience-kicker { min-height: 24px; padding-top: 2px; margin-bottom: 12px; font-size: 10px; }
  .audience-feature-grid h3 { max-width: 560px; margin-bottom: 12px; font-size: 24px; line-height: 1.27; }
  .audience-feature-grid article > p:last-child { font-size: 14px; line-height: 1.8; }
  .audience-start { padding: 42px 0; gap: 24px; }
  .audience-start h2 { margin-bottom: 12px; }
  .audience-start li { gap: 15px; padding: 22px 0; }
  .audience-start li > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; padding: 0; border-radius: 50%; background: #e9eddf; color: #6e5b32; font-size: 17px; }
  .audience-start li h3 { margin-bottom: 8px; font-size: 16px; line-height: 1.45; }
  .audience-start li p { font-size: 14px; line-height: 1.75; }
  .audience-explore { padding: 26px; gap: 24px; border-radius: 14px; }
  .audience-explore h2 { font-size: 29px; }
  .audience-explore-links a { min-height: 78px; padding: 18px 0; gap: 14px; }
  .audience-explore-links a:first-child { padding-top: 8px; }
  .audience-explore-links a:last-child { padding-bottom: 8px; }
  .audience-explore-links strong { font-size: 15px; line-height: 1.5; }
  .audience-explore-links small { font-size: 13px; line-height: 1.65; }
  .audience-explore-links a > span:last-child { flex: 0 0 auto; }
  .audience-faq { padding: 42px 0; gap: 24px; }
  .audience-faq h2 { font-size: 30px; }
  .audience-faq details { margin-bottom: 10px; border: 1px solid #dce2d5; border-radius: 11px; background: #fffef9; }
  .audience-faq details:last-child { margin-bottom: 0; }
  .audience-faq details[open] { border-color: #b7c6af; }
  .audience-faq summary { min-height: 66px; padding: 18px; gap: 14px; border-radius: 10px; font-size: 14px; line-height: 1.6; }
  .audience-faq summary > span { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: #edf0e5; color: #516341; font-size: 21px; }
  .audience-faq details p { padding: 0 18px 20px; margin: 0; font-size: 14px; line-height: 1.8; }
  .audience-closing { padding: 30px 24px; border: 1px solid #e0ddca; border-radius: 14px; }
  .audience-closing h2 { font-size: 30px; }
  .audience-closing > p:not(.audience-kicker) { font-size: 14px; line-height: 1.8; }
}
@media (max-width: 560px) {
  .audience-actions { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .section-audience .hero-inner { padding-inline: 18px; }
  .section-audience .page-main { padding-inline: 18px; }
  .audience-tabs { gap: 2px; padding: 4px; }
  .audience-tabs a { padding-inline: 4px; }
  .audience-showcase, .audience-explore, .audience-closing { padding: 22px 18px; }
  .audience-feature-grid article,
  .audience-feature-grid article:first-child,
  .audience-feature-grid article:last-child { padding: 21px 18px; }
}

/* A distinct colour story for each audience, continuing the photographic hero. */
.audience-page {
  --audience-accent: #116b64;
  --audience-deep: #152d40;
  --audience-bright: #8ad9cb;
  --audience-soft: #e5f1ef;
  --audience-warm: #eaf1f7;
  color: #152d40;
}
.audience-colleges { --audience-deep: #164d49; --audience-bright: #f0c76a; --audience-soft: #fbf1d6; --audience-warm: #e6f1ed; }
.audience-law-students { --audience-accent: #984633; --audience-deep: #433c63; --audience-bright: #f4c4b5; --audience-soft: #eee9f8; --audience-warm: #fbe8df; }
.audience-page :is(h2, h3) { color: #152d40; }
.audience-page .audience-kicker { color: var(--audience-accent); }
.audience-page :is(.audience-lead, .audience-top-actions > span, .audience-feature-grid article > p:last-child, .audience-start li p, .audience-faq details p) { color: #526473; }
.audience-tabs { border-color: #d5dfe3; }
.audience-tabs a { color: #516573; }
.audience-tabs a[aria-current="page"] { color: var(--audience-accent); }
.audience-tabs a[aria-current="page"]::after { height: 4px; background: var(--audience-accent); border-radius: 4px 4px 0 0; }
.audience-actions a { border-radius: 10px; }
.audience-actions .audience-primary { background: var(--audience-accent); border-color: var(--audience-accent); color: #fff; box-shadow: 0 5px 14px #152d4012; }
.audience-actions .audience-primary:hover { background: var(--audience-deep); border-color: var(--audience-deep); }
.audience-actions .audience-secondary { background: #fff; border-color: #c4d4db; color: #244458; }
.audience-actions .audience-secondary:hover { background: var(--audience-warm); border-color: var(--audience-accent); }
.audience-page .audience-text-link { color: var(--audience-accent); }
.audience-showcase,
.audience-law-students .audience-showcase,
.audience-colleges .audience-showcase { background: radial-gradient(ellipse at top right, #ffffff10, transparent 70%), var(--audience-deep); border: 0; border-radius: 22px; box-shadow: 10px 10px 0 var(--audience-soft); }
.audience-showcase .audience-kicker { color: var(--audience-bright); }
.audience-showcase h3 { color: #fffdf8; }
.audience-showcase > p:not(.audience-kicker) { color: #d6e4e8; }
.audience-showcase li { color: #e5edf1; border-color: #ffffff2c; }
.audience-showcase li > span { color: var(--audience-bright); }
.audience-showcase-mark { color: var(--audience-bright); opacity: .16; }
.audience-tags span { border-color: #ffffff38; background: #ffffff09; color: #e6eff1; }
.audience-benefits { border-color: #d8e1e5; }
.audience-feature-grid { gap: 18px; }
.audience-feature-grid article,
.audience-feature-grid article:first-child,
.audience-feature-grid article:last-child { padding: 28px 24px; border: 1px solid #152d4010; border-top: 4px solid var(--audience-accent); border-radius: 17px; background: var(--audience-soft); box-shadow: 0 6px 18px #152d4005; }
.audience-feature-grid article:nth-child(2) { background: #edf0f9; border-top-color: #706697; }
.audience-feature-grid article:nth-child(3) { background: #fff3d8; border-top-color: #b27b22; }
.audience-colleges .audience-feature-grid article:nth-child(3) { background: #e5f1ed; border-top-color: #116b64; }
.audience-law-students .audience-feature-grid article:nth-child(2) { background: #e8f2f8; border-top-color: #477286; }
.audience-law-students .audience-feature-grid article:nth-child(3) { background: #fbe8df; border-top-color: #c06046; }
.audience-feature-grid .audience-kicker { font-size: 10px; letter-spacing: 1.1px; }
.audience-feature-grid article > p:last-child { font-size: 14px; line-height: 1.8; }
.audience-number { color: var(--audience-accent); font-size: 34px; }
.audience-start li { border-color: #d8e1e5; }
.audience-start li > span { display: grid; place-items: center; flex: 0 0 38px; height: 38px; padding: 0; border-radius: 50%; background: var(--audience-soft); color: var(--audience-accent); font-size: 18px; }
.audience-explore { border: 1px solid #152d4010; border-radius: 21px; background: var(--audience-warm); }
.audience-explore-links a { border-color: #152d4020; }
.audience-explore-links small { color: #526473; }
.audience-explore-links a > span:last-child { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--audience-accent); font-size: 20px; }
.audience-faq details { border-color: #d6e0e4; }
.audience-faq details[open] { border-color: var(--audience-accent); }
.audience-faq summary > span { color: var(--audience-accent); }
.audience-closing { position: relative; isolation: isolate; overflow: hidden; padding-block: 55px; border: 0; border-radius: 23px; background: var(--audience-deep); color: #fff; }
.audience-closing::before { content: ''; position: absolute; z-index: -1; width: 240px; height: 240px; top: -110px; right: -110px; border: 42px solid #ffffff0b; border-radius: 50%; pointer-events: none; }
.audience-closing .audience-kicker { color: var(--audience-bright); }
.audience-closing h2 { color: #fffdf8; }
.audience-closing > p:not(.audience-kicker) { color: #d6e4e8; }
.audience-closing .audience-primary { background: #f0c76a; border-color: #f0c76a; color: #152d40; box-shadow: none; }
.audience-closing .audience-primary:hover { background: #f7d991; border-color: #f7d991; }
.audience-closing .audience-secondary { background: #ffffff0a; border-color: #ffffff70; color: #fff; }
.audience-closing .audience-secondary:hover { background: #ffffff18; border-color: #fff; }
.audience-closing :is(a, summary):focus-visible { outline-color: #fff; }
@media (max-width: 900px) and (min-width: 821px) {
  .audience-feature-grid { gap: 13px; }
  .audience-feature-grid article,
  .audience-feature-grid article:first-child,
  .audience-feature-grid article:last-child { padding: 23px 18px; }
}
@media (max-width: 820px) {
  .audience-tabs { background: #eaf0f3; border-color: #d2dee4; }
  .audience-tabs a[aria-current="page"] { background: var(--audience-deep); color: #fff; }
  .audience-showcase,
  .audience-law-students .audience-showcase,
  .audience-colleges .audience-showcase { border-radius: 17px; box-shadow: 6px 6px 0 var(--audience-soft); }
  .audience-feature-grid { gap: 16px; }
  .audience-feature-grid article,
  .audience-feature-grid article:first-child,
  .audience-feature-grid article:last-child { padding: 25px 23px; }
  .audience-number { font-size: 31px; }
  .audience-start li > span { flex-basis: 34px; height: 34px; font-size: 17px; }
  .audience-faq summary > span { background: var(--audience-soft); }
  .audience-closing { padding: 35px 24px; border-radius: 18px; }
}
@media (max-width: 360px) {
  .audience-feature-grid article,
  .audience-feature-grid article:first-child,
  .audience-feature-grid article:last-child { padding: 23px 18px; }
  .audience-closing { padding-inline: 18px; }
}

/* Show the product behind the invitation. */
.public-audiences,
.public-campus { padding: 54px max(20px, calc((100% - 1120px) / 2)); }
.public-audiences { background: #eef3ed; border-block: 1px solid #dbe4da; }
.public-profile-invitation,
.public-campus-invitation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 80px; align-items: center; }
.public-profile-copy,
.public-campus-copy { min-width: 0; }
.public-invitation-kicker { display: block; margin-bottom: 18px; color: #586d5b; font: 600 10px/1.5 system-ui, sans-serif; letter-spacing: 1.5px; }
.public-profile-copy h2,
.public-campus-copy h2 { margin: 0; color: #163c2e; font: 500 36px/1.15 Georgia, serif; letter-spacing: -1px; }
.public-profile-copy h2 em,
.public-campus-copy h2 em { color: #578066; font-weight: 400; }
.public-invitation-lead { max-width: 440px; margin: 18px 0 0; color: #53675a; font: 400 15px/1.75 system-ui, sans-serif; }
.public-audience-switch { display: inline-flex; gap: 4px; margin: 25px 0 20px; padding: 4px; border: 1px solid #cedacf; background: #e3ece1; border-radius: 9px; }
.public-audience-switch button { min-height: 44px; padding: 10px 17px; border: 0; border-radius: 6px; background: transparent; color: #4a6351; font: 600 13px/1.4 system-ui, sans-serif; cursor: pointer; }
.public-audience-switch button[aria-selected="true"] { color: #1b4933; background: #fffef9; box-shadow: 0 2px 5px #27472e12; }
.public-audience-switch button:hover { color: #103822; }
.public-profile-pitch { min-height: 192px; }
.public-profile-pitch[hidden],
.public-profile-example[hidden] { display: none !important; }
.public-profile-pitch > p { max-width: 435px; margin: 0 0 18px; color: #344d3c; font: 400 14px/1.7 system-ui, sans-serif; }
.public-profile-topics { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-bottom: 25px; color: #5c735f; font: 500 12px/1.5 system-ui, sans-serif; }
.public-profile-topics span { display: inline-flex; align-items: center; gap: 7px; }
.public-profile-topics span:before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #99af8b; }
.public-invitation-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 46px; padding: 12px 18px; border: 1px solid #164b35; border-radius: 7px; background: #164b35; color: #fffdf8; font: 600 13px/1.5 system-ui, sans-serif; text-decoration: none; box-shadow: 0 4px 10px #17402b13; }
.public-invitation-cta:hover { background: #0e3725; border-color: #0e3725; }
.public-invitation-cta > span { font-size: 18px; line-height: 1; font-weight: 400; }
.public-invitation-note { margin: 14px 0 0; color: #586d5b; font: 400 12px/1.6 system-ui, sans-serif; }
.public-profile-stage { position: relative; padding: 25px 25px 0 0; min-width: 0; }
.public-profile-stage:before { content: ''; position: absolute; inset: 0 0 55px 30px; border: 1px solid #cbd9c7; border-radius: 18px; background: linear-gradient(140deg, #e0e8d8, #eaf0e4); }
.public-profile-example { position: relative; z-index: 1; margin: 0; }
.public-preview-sheet { overflow: hidden; background: #fffefa; border: 1px solid #d5dfd0; border-radius: 13px; box-shadow: 0 16px 38px #23412c13; }
.public-preview-cover { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; height: 88px; padding: 18px 23px; color: #e5eddd; background: radial-gradient(ellipse at 85% 10%, #69856755, transparent 65%), #214c39; }
.public-preview-cover > span:first-child { white-space: nowrap; font: 600 18px/1 Georgia, serif; letter-spacing: -.5px; }
.public-preview-cover em { font-weight: 400; font-style: normal; }
.public-preview-cover > span:last-child { margin-top: 2px; font: 400 8px/1.4 system-ui, sans-serif; letter-spacing: 1px; }
.public-preview-identity { display: flex; gap: 17px; align-items: flex-start; padding: 0 23px 21px; }
.public-preview-avatar { display: block; flex: 0 0 65px; height: 65px; margin-top: -20px; overflow: hidden; border: 4px solid #fffefa; border-radius: 50%; background: #d6dec9; }
.public-preview-avatar svg { display: block; width: 100%; height: 100%; fill: #80977c; }
.public-preview-identity > div { padding-top: 13px; min-width: 0; }
.public-preview-identity strong { display: block; font: 600 21px/1.3 system-ui, sans-serif; letter-spacing: -.5px; color: #214631; }
.public-preview-identity p { margin: 4px 0; color: #486251; font: 500 12px/1.5 system-ui, sans-serif; }
.public-preview-identity small { color: #7b897b; font: 400 11px/1.4 system-ui, sans-serif; }
.public-preview-about { margin: 0 23px; padding-top: 18px; border-top: 1px solid #e2e7dc; }
.public-preview-about > span { color: #89957f; font: 600 8px/1.5 system-ui, sans-serif; letter-spacing: 1px; }
.public-preview-about p { margin: 8px 0 20px; color: #53654e; font: 400 13px/1.7 Georgia, serif; }
.public-preview-entry { display: flex; align-items: center; gap: 13px; margin: 0 23px 21px; }
.public-preview-entry-icon { display: grid; flex: 0 0 40px; place-items: center; height: 40px; background: #edf2e8; border-radius: 7px; color: #557250; }
.public-preview-entry-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.public-preview-entry small { display: block; color: #83947b; font: 600 8px/1.4 system-ui, sans-serif; letter-spacing: .7px; }
.public-preview-entry strong { display: block; margin: 3px 0; color: #36553b; font: 600 13px/1.4 system-ui, sans-serif; }
.public-preview-entry div > span { color: #7b8875; font: 400 11px/1.4 system-ui, sans-serif; }
.public-preview-fields { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 23px 22px; }
.public-preview-fields > span { padding: 5px 8px; border-radius: 4px; background: #f0f3eb; color: #607557; font: 500 10px/1.4 system-ui, sans-serif; }
.public-preview-signoff { display: flex; align-items: center; gap: 8px; padding: 12px 23px; border-top: 1px solid #e1e8db; background: #fafbf5; color: #718269; font: 400 10px/1.5 system-ui, sans-serif; }
.public-preview-dot { width: 5px; height: 5px; border-radius: 50%; background: #819e6e; }
.public-profile-example figcaption,
.public-campus-example figcaption { margin-top: 13px; color: #586d5b; text-align: center; font: 400 10px/1.5 system-ui, sans-serif; }
.public-student-example .public-preview-cover { background: radial-gradient(ellipse at 85% 10%, #a39c7855, transparent 65%), #4d6250; }
.public-student-example .public-preview-avatar { background: #e5dac4; }
.public-student-example .public-preview-avatar svg { fill: #a99c7c; }
.public-campus { background: #fffdf7; }
.public-campus-invitation { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.public-campus-copy .public-invitation-kicker { color: #86692f; }
.public-campus-copy h2 { font-size: 33px; }
.public-campus-copy h2 em { color: #8f824f; }
.public-campus-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 25px 0; padding-top: 22px; border-top: 1px solid #e8e3d4; }
.public-campus-details strong { color: #36503a; font: 600 13px/1.5 system-ui, sans-serif; }
.public-campus-details p { margin: 7px 0 0; color: #65745e; font: 400 12px/1.65 system-ui, sans-serif; }
.public-campus-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.public-campus-explore { display: inline-flex; align-items: center; gap: 13px; min-height: 44px; color: #406448; font: 500 12px/1.5 system-ui, sans-serif; text-decoration: none; }
.public-campus-explore:hover { text-decoration: underline; }
.public-campus-example { margin: 0; min-width: 0; padding: 0 12px 0 0; }
.public-campus-sheet { overflow: hidden; border: 1px solid #e2dfce; border-radius: 13px; box-shadow: 0 14px 32px #5e674211; background: #fffef9; }
.public-campus-art { height: 180px; overflow: hidden; border-bottom: 1px solid #e2e5d4; background: #edf0df; }
.public-campus-art > svg { width: 100%; height: 100%; display: block; }
.public-campus-example-body { position: relative; padding: 28px 25px 0; }
.public-campus-crest { display: grid; place-items: center; position: absolute; top: -28px; right: 24px; width: 56px; height: 56px; border-radius: 9px; border: 4px solid #fffef9; background: #31583e; color: #eddfb7; }
.public-campus-crest svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.public-campus-example-body > strong { display: block; color: #355038; font: 600 22px/1.3 Georgia, serif; }
.public-campus-example-body > p { margin: 7px 0 20px; color: #7b8b70; font: 400 11px/1.5 system-ui, sans-serif; }
.public-campus-example-topics { display: flex; flex-wrap: wrap; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid #e5e7d9; color: #617553; font: 500 10px/1.5 system-ui, sans-serif; }
.public-campus-example-update { padding: 17px 0 22px; }
.public-campus-example-update > span { font: 600 8px/1.5 system-ui, sans-serif; letter-spacing: .8px; color: #9b9876; }
.public-campus-example-update p { margin: 7px 0 0; color: #758367; font: 400 12px/1.6 Georgia, serif; }
.logged-out .public-home .auth-mobile-menu > nav > a[href="/signup"] { color: #fff; background: #123f33; }
@media (max-width: 1020px) {
  .public-profile-invitation,
  .public-campus-invitation { gap: 38px; }
  .public-profile-copy h2 { font-size: 32px; }
  .public-campus-copy h2 { font-size: 29px; }
  .public-campus-details { gap: 16px; }
  .public-profile-stage { padding-right: 12px; }
}
@media (max-width: 760px) {
  .public-audiences,
  .public-campus { padding: 32px 18px; }
  .public-profile-invitation,
  .public-campus-invitation { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .public-profile-copy h2,
  .public-campus-copy h2 { font-size: 29px; letter-spacing: -.6px; }
  .public-invitation-kicker { margin-bottom: 13px; font-size: 9px; }
  .public-invitation-lead { font-size: 14px; margin-top: 13px; }
  .public-audience-switch { margin-top: 20px; }
  .public-audience-switch button { padding-inline: 15px; }
  .public-profile-pitch { min-height: 174px; }
  .public-profile-topics { margin-bottom: 21px; gap: 7px 15px; }
  .public-profile-stage { max-width: 440px; width: 100%; padding: 16px 12px 0 0; justify-self: center; }
  .public-preview-cover { padding: 17px; }
  .public-preview-cover > span:last-child { font-size: 7px; letter-spacing: .7px; }
  .public-preview-identity { padding-inline: 17px; gap: 12px; }
  .public-preview-identity strong { font-size: 19px; }
  .public-preview-identity p { font-size: 11px; }
  .public-preview-about { margin-inline: 17px; }
  .public-preview-entry { margin-inline: 17px; }
  .public-preview-fields { margin-inline: 17px; }
  .public-preview-signoff { padding-inline: 17px; }
  .public-campus-copy { grid-row: 1; }
  .public-campus-example { padding: 0; max-width: 440px; width: 100%; justify-self: center; }
  .public-campus-art { height: 150px; }
  .public-campus-example-body { padding-inline: 20px; }
}
@media (max-width: 360px) {
  .public-profile-copy h2,
  .public-campus-copy h2 { font-size: 27px; }
  .public-preview-cover { gap: 8px; }
  .public-preview-identity { gap: 10px; }
  .public-preview-avatar { flex-basis: 54px; height: 54px; }
  .public-preview-fields > span { padding-inline: 6px; font-size: 9px; }
  .public-preview-cover > span:first-child { font-size: 16px; }
  .public-invitation-cta { gap: 18px; padding-inline: 15px; }
}
