/* Opt-in visual layer. No changes to the default page or application logic. */
@font-face {
  font-family: "Portnoy Basis";
  src: url("./assets/portnoy/BasisGrotesquePro-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Portnoy Basis";
  src: url("./assets/portnoy/BasisGrotesquePro-Medium.ttf") format("truetype");
  font-weight: 500 600;
  font-display: swap;
}
@font-face {
  font-family: "Portnoy Basis";
  src: url("./assets/portnoy/BasisGrotesquePro-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Portnoy Basis";
  src: url("./assets/portnoy/BasisGrotesquePro-Black.ttf") format("truetype");
  font-weight: 800 900;
  font-display: swap;
}
@font-face {
  font-family: "Portnoy Soyuz";
  src: url("./assets/portnoy/SoyuzGrotesk-Bold.otf") format("opentype");
  font-weight: 700;
  font-display: swap;
}
body[data-design="portnoy"] {
  --font: "Portnoy Basis", Golos, Arial, sans-serif;
  --ink: #28283a;
  --paper: #fafafa;
  --white: #fff;
  --cream: #fafafa;
  --muted: #6e6e7a;
  --line: #e1e7e8;
  --blue-pale: #eff4f4;
  --blue-dark: #226c70;
  --lime: #2ab0b4;
  --work-accent: #226c70;
  --ticket: #28283a;
  --step: #a1e3df;
}
[data-design="portnoy"] .hero-copy h1 {
  font-family: "Portnoy Soyuz", Dela, sans-serif;
  font-weight: 700;
  font-size: clamp(40px, 4.15vw, 67px);
  line-height: 1.03;
  letter-spacing: -.025em;
  text-transform: none;
}
[data-design="portnoy"] .hero-eyebrow {
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: 13px;
}
[data-design="portnoy"] .hero-eyebrow > span { font-size: 21px; font-weight: 700; }
[data-design="portnoy"] .hero-button span { background: #2ab0b4; }
[data-design="portnoy"] .hero-action-right .hero-button span { background: #eff4f4; }
[data-design="portnoy"] .hero-action-right .hero-button:hover { background: #d6f0ef; border-color: #d6f0ef; }
[data-design="portnoy"] .section-heading h1 {
  font-family: "Portnoy Soyuz", sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
  font-size:clamp(36px,4vw,56px);
}
[data-design="portnoy"] .eyebrow { color: #226c70; }
[data-design="portnoy"] .preview-card { border-top: 3px solid #2ab0b4; }
[data-design="portnoy"] .assignment-layout .preview-card { border:0; }
[data-design="portnoy"] .assignment-layout .preview-label { color:var(--cream); }
[data-design="portnoy"] .assignment-layout .preview-card::before { background:var(--cream); }
[data-design="portnoy"] .preview-card::before { color: #226c70; }
[data-design="portnoy"] .preview-label { color:#a1e3df; }
[data-design="portnoy"] .preview-card::before { background:#a1e3df; }
[data-design="portnoy"] .section-index { font-family:"Portnoy Soyuz",sans-serif; color:#226c70; }
[data-design="portnoy"] .section-heading { border-bottom:4px solid #2ab0b4; }
[data-design="portnoy"] .form-section { border-top:2px solid #c8e8e6; border-radius:0 0 8px 8px; }
[data-design="portnoy"] .form-section legend span { border-radius:3px; }
[data-design="portnoy"] .form-section legend { font-weight:700; }
[data-design="portnoy"] .registry-caption h2 { font-family:"Portnoy Soyuz",sans-serif; font-size:30px; font-weight:700; }
[data-design="portnoy"] .registry-caption { border-bottom:4px solid #2ab0b4; }
[data-design="portnoy"] .archive-note { font-family:"Portnoy Soyuz",sans-serif; font-size:34px; }
[data-design="portnoy"] .archive-note>span:last-child { font-family:var(--font); }
[data-design="portnoy"] [data-view="assign"] .section-heading h1 { font-size:38px; }
[data-design="portnoy"] [data-view="assign"] .section-heading { border-bottom-width:2px; }
[data-design="portnoy"] #preview-number { font-family: "Portnoy Basis", sans-serif; font-weight: 800; }
[data-design="portnoy"] th { background: #eff4f4; border-bottom-color: #28283a; }
[data-design="portnoy"] .primary:hover:not(:disabled) { background: #226c70; border-color: #226c70; }
body[data-design="portnoy"][data-page="home"] button:focus-visible,
body[data-design="portnoy"][data-page="home"] a:focus-visible { outline-color: #fafafa; }
@media (max-width: 1100px) {
  [data-design="portnoy"] .hero-copy h1 { font-size: clamp(36px, 4.3vw, 47px); }
}
@media (max-width: 760px) {
  [data-design="portnoy"] .hero-copy h1 { font-size: clamp(32px, 8.2vw, 49px); line-height: 1.02; }
  [data-design="portnoy"] .hero-eyebrow { display: none; }
  [data-design="portnoy"] .section-heading h1 { font-size:38px; }
  [data-design="portnoy"] .archive-note { font-size:25px; }
  [data-design="portnoy"] [data-view="assign"] .section-heading h1 { font-size:32px; }
}
