@keyframes av-page-rise {
  from {
    opacity: 0;
    transform: translateY(18px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

.main-page-data, .av-contact__rich, .instruct-main-body {
  color: var(--av-text);
  font-size: 1rem;
  line-height: 1.7;
  overflow-wrap: anywhere; }
  .main-page-data h2, .av-contact__rich h2, .instruct-main-body h2, .main-page-data h3, .av-contact__rich h3, .instruct-main-body h3, .main-page-data h4, .av-contact__rich h4, .instruct-main-body h4 {
    margin: 1.6em 0 .6em;
    font-weight: 800;
    line-height: 1.3;
    color: var(--av-text);
    scroll-margin-top: 96px; }
  .main-page-data h2, .av-contact__rich h2, .instruct-main-body h2 {
    font-size: clamp(1.3rem, 2.4vw, 1.6rem); }
  .main-page-data h3, .av-contact__rich h3, .instruct-main-body h3 {
    font-size: clamp(1.1rem, 2vw, 1.3rem); }
  .main-page-data p, .av-contact__rich p, .instruct-main-body p {
    margin: 0 0 1em; }
  .main-page-data a, .av-contact__rich a, .instruct-main-body a {
    color: var(--av-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px; }
    .main-page-data a:hover, .av-contact__rich a:hover, .instruct-main-body a:hover {
      color: var(--av-primary-hover); }
    .main-page-data a:focus-visible, .av-contact__rich a:focus-visible, .instruct-main-body a:focus-visible {
      outline: 0;
      box-shadow: var(--av-ring);
      border-radius: 4px; }
  .main-page-data ul, .av-contact__rich ul, .instruct-main-body ul, .main-page-data ol, .av-contact__rich ol, .instruct-main-body ol {
    margin: 0 0 1em;
    padding-left: 1.3em; }
  .main-page-data li, .av-contact__rich li, .instruct-main-body li {
    margin-bottom: .4em; }
  .main-page-data img, .av-contact__rich img, .instruct-main-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--av-radius); }
  .main-page-data blockquote, .av-contact__rich blockquote, .instruct-main-body blockquote {
    margin: 1.4em 0;
    padding: 14px 18px;
    border-left: 4px solid var(--av-gold);
    background: var(--av-gold-soft);
    border-radius: 0 var(--av-radius-sm) var(--av-radius-sm) 0;
    color: var(--av-text); }
  .main-page-data table, .av-contact__rich table, .instruct-main-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    margin: 0 0 1.2em; }
    .main-page-data table th, .av-contact__rich table th, .instruct-main-body table th, .main-page-data table td, .av-contact__rich table td, .instruct-main-body table td {
      padding: 10px 14px;
      border: 1px solid var(--av-border);
      text-align: left; }
    .main-page-data table th, .av-contact__rich table th, .instruct-main-body table th {
      background: var(--av-surface-2);
      font-weight: 700; }
  .main-page-data iframe, .av-contact__rich iframe, .instruct-main-body iframe, .main-page-data video, .av-contact__rich video, .instruct-main-body video {
    max-width: 100%;
    border-radius: var(--av-radius); }

.main-page {
  background: var(--av-bg);
  padding-bottom: var(--av-section-y); }

.main-page-breadcrumb {
  background: var(--av-surface-2);
  border-bottom: 1px solid var(--av-border);
  padding: 12px 0; }

.main-page-wrap {
  padding-top: clamp(24px, 4vw, 48px); }

.main-page-article {
  max-width: 820px;
  margin: 0 auto;
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }

.main-page-title {
  margin: 0 0 clamp(16px, 3vw, 28px);
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: var(--av-text); }

.main-page-data {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  padding: clamp(18px, 4vw, 36px); }

.av-contact {
  padding: clamp(24px, 5vw, 56px) 0 var(--av-section-y);
  color: var(--av-text); }
  .av-contact *, .av-contact *::before, .av-contact *::after {
    box-sizing: border-box; }

.av-contact__hero {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto clamp(24px, 4vw, 40px);
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }

.av-contact__eyebrow {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 14px;
  border-radius: var(--av-pill);
  background: var(--av-gold-soft);
  color: var(--av-on-gold);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase; }

.av-contact__title {
  margin: 0;
  font-size: clamp(1.9rem, 4.5vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15; }

.av-contact__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
  margin: 0 0 clamp(24px, 4vw, 40px); }

.av-contact__card {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  padding: 22px 20px;
  transition: transform var(--av-dur) var(--av-ease), box-shadow var(--av-dur) var(--av-ease);
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }
  .av-contact__card:nth-child(2) {
    animation-delay: 60ms; }
  .av-contact__card:nth-child(3) {
    animation-delay: 120ms; }
  .av-contact__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--av-shadow); }

.av-contact__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--av-primary-soft);
  color: var(--av-primary); }

.av-contact__card-title {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 800; }

.av-contact__card-text {
  margin: 0;
  color: var(--av-text-muted);
  line-height: 1.55;
  overflow-wrap: anywhere; }
  .av-contact__card-text a {
    display: inline-block;
    min-height: 24px;
    color: var(--av-primary);
    font-weight: 800;
    font-size: 1.05rem;
    text-decoration: none; }
    .av-contact__card-text a:hover {
      color: var(--av-primary-hover);
      text-decoration: underline; }
    .av-contact__card-text a:focus-visible {
      outline: 0;
      box-shadow: var(--av-ring);
      border-radius: 4px; }

.av-contact__story {
  display: grid;
  align-items: stretch;
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  overflow: hidden;
  margin: 0 0 clamp(24px, 4vw, 40px); }
  @media (min-width: 900px) {
    .av-contact__story {
      grid-template-columns: 1.05fr 1fr; } }

.av-contact__story-media {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: 220px;
  background: var(--av-surface-2);
  overflow: hidden; }
  .av-contact__story-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--av-dur-slow) var(--av-ease); }
  .av-contact__story:hover .av-contact__story-media img {
    transform: scale(1.04); }

.av-contact__story-copy {
  align-self: center;
  padding: clamp(20px, 4vw, 40px); }

.av-contact__story-title {
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 2.6vw, 1.8rem);
  font-weight: 800;
  line-height: 1.25; }

.av-contact__story-text {
  margin: 0;
  color: var(--av-text-muted);
  line-height: 1.7;
  white-space: pre-line; }

.av-contact__rich {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  padding: clamp(18px, 4vw, 32px);
  margin: 0 0 clamp(24px, 4vw, 40px); }

.av-contact__panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 20px;
  align-items: stretch; }

.av-contact__form-wrap {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  padding: clamp(20px, 4vw, 32px); }

.av-contact__form-head h2 {
  margin: 0 0 18px;
  font-size: 1.4rem;
  font-weight: 800; }

.av-contact__alert {
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: var(--av-radius);
  background: var(--av-gold-soft);
  color: var(--av-success);
  font-weight: 700; }

.av-contact__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 18px; }
  @media (min-width: 640px) {
    .av-contact__fields {
      grid-template-columns: 1fr 1fr; } }

.av-contact__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0; }
  .av-contact__field--full {
    grid-column: 1 / -1; }
  .av-contact__field > span {
    font-size: .85rem;
    font-weight: 700;
    color: var(--av-text); }
  .av-contact__field input, .av-contact__field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1.5px solid var(--av-border);
    border-radius: var(--av-radius);
    background: var(--av-bg);
    color: var(--av-text);
    font: inherit;
    font-size: 1rem;
    box-shadow: none;
    transition: border-color var(--av-dur) var(--av-ease), box-shadow var(--av-dur) var(--av-ease); }
    .av-contact__field input:focus, .av-contact__field textarea:focus {
      outline: 0;
      border-color: var(--av-primary);
      box-shadow: var(--av-ring); }
  .av-contact__field textarea {
    min-height: 130px;
    resize: vertical; }

.av-contact__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 24px;
  border: 0;
  border-radius: var(--av-pill);
  background: var(--av-primary);
  color: var(--av-on-primary);
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--av-shadow-sm);
  transition: background var(--av-dur) var(--av-ease), transform var(--av-dur) var(--av-ease), box-shadow var(--av-dur) var(--av-ease); }
  .av-contact__submit:hover {
    background: var(--av-primary-hover);
    box-shadow: var(--av-shadow);
    transform: translateY(-2px); }
  .av-contact__submit:active {
    transform: scale(0.98); }
  .av-contact__submit:focus-visible {
    outline: 0;
    box-shadow: var(--av-ring); }

.av-contact__social {
  margin-top: 18px; }

.av-contact__map {
  display: flex;
  min-width: 0; }

.av-contact__map-frame {
  position: relative;
  flex: 1 1 auto;
  min-height: 320px;
  border-radius: var(--av-radius-lg);
  overflow: hidden;
  background: var(--av-surface-2);
  border: 1px solid var(--av-border);
  box-shadow: var(--av-shadow-sm); }
  .av-contact__map-frame iframe, .av-contact__map-frame img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover; }

.home-store {
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }

.home-store-head {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto clamp(20px, 4vw, 36px); }

.home-store-title {
  margin: 0 0 10px;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.02em; }

.home-store-lead {
  margin: 0;
  color: var(--av-text-muted);
  line-height: 1.6; }

.home-store-loading {
  margin: 0;
  padding: 48px 0;
  text-align: center;
  color: var(--av-text-muted); }

.home-store-wrap {
  display: none;
  grid-template-columns: minmax(0, 30%) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch; }
  @media (max-width: 991px) {
    .home-store-wrap {
      grid-template-columns: minmax(0, 1fr); } }
  .home-store-wrap.active {
    display: grid; }
  .home-store-wrap.no-image {
    grid-template-columns: minmax(0, 1fr); }

.home-store-image {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  overflow: hidden;
  min-height: 200px; }
  .home-store-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.home-store-data {
  min-width: 0; }

.home-store-data-state {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px; }

.home-store-data-state-item {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 22px;
  border: 1.5px solid var(--av-border);
  border-radius: var(--av-pill);
  background: var(--av-surface);
  color: var(--av-text);
  font-weight: 700;
  cursor: pointer;
  transition: background var(--av-dur) var(--av-ease), color var(--av-dur) var(--av-ease), border-color var(--av-dur) var(--av-ease), transform var(--av-dur) var(--av-ease); }
  .home-store-data-state-item:hover {
    transform: translateY(-2px);
    border-color: var(--av-primary);
    color: var(--av-primary); }
  .home-store-data-state-item:active {
    transform: scale(0.98); }
  .home-store-data-state-item.active {
    background: var(--av-primary);
    border-color: var(--av-primary);
    color: var(--av-on-primary);
    box-shadow: var(--av-shadow-sm); }

.home-store-data-none {
  margin: 0;
  padding: 24px 0;
  text-align: center;
  color: var(--av-text-muted); }
  .home-store-data-none:empty {
    display: none; }

.home-store-data-main {
  display: grid;
  grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
  grid-template-areas: "filters map" "list map";
  grid-template-rows: auto minmax(0, 1fr);
  gap: 16px 24px; }
  @media (max-width: 991px) {
    .home-store-data-main {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas: "filters" "map" "list";
      grid-template-rows: auto; } }

.home-store-data-main-wrap {
  display: contents; }

.home-store-data-main-left {
  grid-area: filters;
  display: grid;
  gap: 12px;
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  padding: 20px;
  box-shadow: var(--av-shadow-sm); }
  .home-store-data-main-left h3 {
    margin: 0;
    padding-left: 12px;
    border-left: 4px solid var(--av-gold);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2; }
  .home-store-data-main-left select {
    display: block;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 8px 14px;
    border: 1.5px solid var(--av-border);
    border-radius: var(--av-radius);
    background-color: var(--av-bg);
    color: var(--av-text);
    font: inherit;
    cursor: pointer;
    transition: border-color var(--av-dur) var(--av-ease), box-shadow var(--av-dur) var(--av-ease); }
    .home-store-data-main-left select:hover {
      border-color: var(--av-primary); }
    .home-store-data-main-left select:focus {
      outline: 0;
      border-color: var(--av-primary);
      box-shadow: var(--av-ring); }

.home-store-data-main-right {
  grid-area: map;
  min-height: 360px;
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow);
  overflow: hidden;
  background: var(--av-surface-2); }
  @media (min-width: 992px) {
    .home-store-data-main-right {
      min-height: 520px; } }
  .home-store-data-main-right iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    border: 0; }

.home-store-data-main-list {
  grid-area: list;
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  padding: 2px 4px 4px 2px;
  overflow-y: auto; }
  @media (min-width: 992px) {
    .home-store-data-main-list {
      max-height: 420px; } }

.home-store-data-main-list-item {
  position: relative;
  display: grid;
  gap: 6px;
  background: var(--av-surface);
  border: 1.5px solid var(--av-border);
  border-radius: var(--av-radius);
  padding: 16px 16px 16px 18px;
  cursor: pointer;
  transition: transform var(--av-dur) var(--av-ease), box-shadow var(--av-dur) var(--av-ease), border-color var(--av-dur) var(--av-ease); }
  .home-store-data-main-list-item:hover {
    transform: translateY(-2px);
    border-color: var(--av-primary);
    box-shadow: var(--av-shadow); }
  .home-store-data-main-list-item.is-active {
    border-color: var(--av-primary);
    background: var(--av-primary-soft);
    box-shadow: var(--av-ring); }
  .home-store-data-main-list-item h4 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3; }
  .home-store-data-main-list-item p {
    position: relative;
    margin: 0;
    padding-left: 26px;
    color: var(--av-text-muted);
    font-size: .92rem;
    line-height: 1.5; }
    .home-store-data-main-list-item p::before {
      content: "";
      position: absolute;
      left: 0;
      top: .15em;
      width: 18px;
      height: 18px;
      background-color: var(--av-primary);
      -webkit-mask: var(--hs-icon) center/contain no-repeat;
      mask: var(--hs-icon) center/contain no-repeat; }
  .home-store-data-main-list-item .hs-addr {
    --hs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
  .home-store-data-main-list-item .hs-time {
    --hs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
  .home-store-data-main-list-item .hs-tel {
    --hs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
  .home-store-data-main-list-item .hs-tel a {
    color: var(--av-text);
    font-weight: 700;
    text-decoration: none; }
    .home-store-data-main-list-item .hs-tel a:hover {
      color: var(--av-primary); }
  .home-store-data-main-list-item .hs-map {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin-top: 4px;
    padding: 6px 16px;
    border: 1.5px solid var(--av-primary);
    border-radius: var(--av-pill);
    color: var(--av-primary);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
    transition: background var(--av-dur) var(--av-ease), color var(--av-dur) var(--av-ease); }
    .home-store-data-main-list-item .hs-map:hover {
      background: var(--av-primary);
      color: var(--av-on-primary); }
    .home-store-data-main-list-item .hs-map:focus-visible {
      outline: 0;
      box-shadow: var(--av-ring); }
  .home-store-data-main-list-item.is-active .hs-map {
    background: var(--av-primary);
    color: var(--av-on-primary); }

.pgallery {
  padding-bottom: var(--av-section-y);
  background: var(--av-bg); }

.pgallery-heading {
  margin: 0;
  padding: clamp(24px, 5vw, 56px) 0 clamp(16px, 3vw, 28px);
  text-align: center;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -.02em; }

.pgallery-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none; }
  @media (min-width: 768px) {
    .pgallery-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px; } }
  @media (min-width: 1200px) {
    .pgallery-list {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pgallery-item {
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }
  .pgallery-item:nth-child(2n) {
    animation-delay: 60ms; }
  .pgallery-item:nth-child(3n) {
    animation-delay: 120ms; }

.pgallery-link {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--av-radius);
  background: var(--av-surface-2);
  box-shadow: var(--av-shadow-sm);
  transition: box-shadow var(--av-dur) var(--av-ease), transform var(--av-dur) var(--av-ease); }
  .pgallery-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--av-dur-slow) var(--av-ease); }
  .pgallery-link:hover {
    transform: translateY(-4px);
    box-shadow: var(--av-shadow); }
    .pgallery-link:hover img {
      transform: scale(1.06); }
  .pgallery-link:focus-visible {
    outline: 0;
    box-shadow: var(--av-ring); }

.instruct {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px; }
  @media (min-width: 992px) {
    .instruct {
      grid-template-columns: 260px minmax(0, 1fr);
      gap: 40px; } }

.instruct-sidebar {
  align-self: start;
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  box-shadow: var(--av-shadow-sm);
  padding: 18px;
  max-height: 280px;
  overflow-y: auto; }
  @media (min-width: 992px) {
    .instruct-sidebar {
      position: sticky;
      top: 96px;
      max-height: calc(100vh - 130px); } }
  .instruct-sidebar[hidden] {
    display: none; }

.instruct-sidebar-title {
  margin: 0 0 10px;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--av-text-muted); }

.instruct-toc {
  display: flex;
  flex-direction: column;
  gap: 2px; }

.instruct-toc-link {
  display: block;
  padding: 9px 12px;
  border-radius: var(--av-radius-sm);
  color: var(--av-text);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.35;
  text-decoration: none;
  transition: background var(--av-dur) var(--av-ease), color var(--av-dur) var(--av-ease); }
  .instruct-toc-link--sub {
    padding-left: 26px;
    font-weight: 400;
    color: var(--av-text-muted); }
  .instruct-toc-link:hover {
    background: var(--av-primary-soft);
    color: var(--av-primary); }
  .instruct-toc-link.active {
    background: var(--av-primary);
    color: var(--av-on-primary); }
  .instruct-toc-link:focus-visible {
    outline: 0;
    box-shadow: var(--av-ring); }

.instruct-main {
  min-width: 0;
  animation: av-page-rise var(--av-dur-slow) var(--av-ease) both; }

.instruct-main-title {
  margin: 0 0 clamp(16px, 3vw, 28px);
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.02em; }

.instruct-main-body {
  background: var(--av-surface);
  border: 1px solid var(--av-border);
  border-radius: var(--av-radius-lg);
  padding: clamp(18px, 4vw, 36px); }
