/* Approved polish: typography, light-theme contrast, and dark-theme branding. */
:root {
  --page:#f0f1e9; --canvas:#f8f8f2; --surface:#fff;
  --text:#24382e; --muted:#526558; --accent:#487347;
  --line:#dce3d4; --wash:#edf1e4;
  --warning:#fff4da; --warning-text:#746130; --danger:#a34d3c;
  --logo-wordmark-filter:none;
  --logo-crest-letter-filter:none;
}

/* Light lettering in Dark mode preserves the colored crest and source artwork. */
:root[data-appearance="dark"] {
  --logo-surface:#3b473e;
  --logo-stroke:#526055;
  --logo-wordmark-display:block;
}
@media (prefers-color-scheme:dark) {
  :root:not([data-appearance="light"]):not([data-appearance="dark"]) {
    --logo-surface:#3b473e;
    --logo-stroke:#526055;
    --logo-wordmark-display:block;
  }
}
.school-logo,.app-logo {
  opacity:1;
}
.logo-lockup {
  display:grid;
  min-width:0;
  background:var(--logo-surface,transparent);
  border-radius:8px;
  box-shadow:inset 0 0 0 1px var(--logo-stroke,transparent);
}
.logo-lockup > img { grid-area:1 / 1; }
.logo-lockup > .school-logo:not(.logo-wordmark-overlay):not(.logo-crest-lettering-overlay) {
  clip-path:polygon(0 0,38% 0,38% 55%,100% 55%,100% 100%,0 100%);
}
.logo-filter-definitions { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.appbar > .logo-lockup { height:64px; align-items:center; }
.appbar .app-logo { width:auto; max-width:100%; justify-self:start; }
.logo-lockup > .logo-wordmark-overlay {
  display:var(--logo-wordmark-display,none);
  clip-path:inset(55% 0 0 38%);
  filter:var(--logo-wordmark-filter);
  pointer-events:none;
}
/* Center the school name beside the desktop crest after removing the tagline. */
.brand .logo-lockup > .school-logo:not(.logo-wordmark-overlay):not(.logo-crest-lettering-overlay) {
  clip-path:inset(0 62% 0 0);
}
.brand .logo-lockup > .logo-wordmark-overlay {
  display:block;
  transform:translateY(-20.6%);
}
.logo-lockup > .logo-crest-lettering-overlay {
  display:var(--logo-wordmark-display,none);
  clip-path:polygon(2% 39%,35% 39%,35% 49%,2% 49%,2% 51%,35% 51%,35% 57.5%,2% 57.5%);
  filter:var(--logo-crest-letter-filter);
  pointer-events:none;
}
/* Crop the unchanged artwork into independent crest and wordmark regions. */
.appbar > .app-logo-lockup { display:flex; gap:0; }
.app-logo-lockup .logo-crest {
  position:relative;
  overflow:hidden;
  flex-shrink:0;
  width:min(38%,62.91px);
  height:64px;
}
.app-logo-lockup .logo-crest > .app-logo {
  position:absolute;
  top:50%;
  left:0;
  width:calc(100% / .38);
  max-width:none;
  height:auto;
  transform:translateY(-50%);
}
.logo-crest > .logo-crest-lettering-overlay {
  display:var(--logo-wordmark-display,none);
  clip-path:polygon(2% 39%,35% 39%,35% 49%,2% 49%,2% 51%,35% 51%,35% 57.5%,2% 57.5%);
  filter:var(--logo-crest-letter-filter);
  pointer-events:none;
}
.app-logo-lockup .logo-wordmark {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  flex:1;
  min-width:0;
}
.logo-wordmark > span {
  position:relative;
  overflow:hidden;
  width:100%;
  flex-shrink:0;
}
.logo-institution { aspect-ratio:1217 / 198; }
.logo-wordmark .logo-wordmark-image {
  position:absolute;
  left:calc(-100% * 800 / 1217);
  width:calc(100% * 2017 / 1217);
  max-width:none;
  height:auto;
  filter:var(--logo-wordmark-filter);
}
.logo-institution > .logo-wordmark-image { top:calc(-100% * 452 / 198); }
:root[data-appearance="dark"] {
  --logo-wordmark-filter:brightness(0) invert(.92) url(#logo-letter-outline);
  --logo-crest-letter-filter:brightness(0) invert(.92) url(#logo-crest-letter-outline);
}
@media (prefers-color-scheme:dark) {
  :root:not([data-appearance="light"]):not([data-appearance="dark"]) {
    --logo-wordmark-filter:brightness(0) invert(.92) url(#logo-letter-outline);
    --logo-crest-letter-filter:brightness(0) invert(.92) url(#logo-crest-letter-outline);
  }
}

.screen { font-size:15px; }
.screen .feature-body,.screen .email-body { font-size:15px; line-height:1.65; }
.screen .hero .copy { font-size:14px; line-height:1.65; }
.screen .topic,.screen .source-card p,.screen .faq p,
.screen .info-card .address { font-size:14px; line-height:1.6; }
.screen .program-card strong,.screen .quick-grid strong,
.screen .feature-card strong,.screen .resource-link strong,
.screen .home-layout .home-tool-copy strong,
.screen .request-type-card > strong { font-size:15px; line-height:1.4; }
.screen .section-head h3,.screen .objectives h3,
.screen .source-card h3,.screen .draft-card h3 { font-size:16px; }
.screen .list-card p,.screen .program-card small,
.screen .resource-link small,.screen .home-layout .quick-grid small,
.screen .home-layout .home-tool-copy small,.screen .draft-card p,
.screen .account-home-copy > span { font-size:13px; line-height:1.55; }
.screen .feature-card > span:not([aria-hidden]):not(.home-tool-icon):not(.home-tool-chevron):not(.official-photo-avatar):not(.request-type-icon):not(.request-type-chevron) {
  font-size:13px;
  line-height:1.55;
}
.screen .subcopy,.screen .screen-footnote,.screen .privacy-copy,
.screen .sample-note,.screen .filter-line,.screen .greeting,
.screen .feedback-priority-note { font-size:13px; line-height:1.55; }
.screen .field > span { font-size:13px; }
.screen .field small { font-size:12px; line-height:1.5; }
.screen .page-kicker,.screen .hero .kicker,.screen .badge,
.screen .build-copy-status { font-size:12px; }
.screen .feature-kicker { font-size:12px!important; }
.screen .field input,.screen .field textarea,.screen .field select,
.screen .search input,.screen .catalog-controls select { font-size:16px; }
.screen .primary,.screen .secondary,.screen .pill-button { font-size:14px; }
.screen .text-button,.screen .back-row button,
.screen .draft-actions button,.screen .source-card a,
.screen .faq summary,.screen .faq a { font-size:13px; }
.screen .form-error,.screen .success,.screen .loading-error,
.screen .account-message,.screen .delivery-note,
.screen .delivery-note strong { font-size:14px; line-height:1.55; }
.screen .catalog-controls { font-size:13px; }
.screen .search svg,.screen .list-title svg,.screen .resource-link > svg {
  color:var(--muted);
}
.tabbar button { font-size:12px; line-height:1.25; white-space:normal; }
.tabbar button > span:first-child {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  line-height:0;
}
.tabbar button > span:first-child svg { display:block; }
.build-version { font-size:12px; }

.account-profile-identity { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.account-profile-identity > .official-photo-avatar {
  position:relative;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:50%;
  overflow:hidden;
  background:var(--wash,#edf1e4);
  color:var(--accent,#487347);
  border:1px solid var(--line,#dce3d4);
}
.account-profile-identity > .official-photo-avatar svg { width:32px; height:32px; }
.account-profile-copy { min-width:0; flex:1; }
.screen .account-profile-copy h3 { overflow-wrap:anywhere; }
.screen .account-profile-copy p { margin:4px 0 0; }

#directions-dialog p,#announcement-reminder-dialog p,
.personalize-menu-dialog p { font-size:14px; line-height:1.6; }
#directions-dialog .field > span,#announcement-reminder-dialog .field > span,
.personalize-menu-dialog .field > span { font-size:13px; }
#directions-dialog .field input,#directions-dialog .field select,
#announcement-reminder-dialog .field input,
.personalize-menu-dialog .field input { font-size:16px; }
#directions-dialog .primary,#directions-dialog .secondary,
#announcement-reminder-dialog .primary,#announcement-reminder-dialog .secondary,
.personalize-menu-dialog .primary,.personalize-menu-dialog .secondary { font-size:14px; }
