.montserrat-700 {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.year-topbar-shell {
  position: fixed;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1240px, calc(100% - 56px));
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  z-index: 20000;
  pointer-events: none;
}

.year-topbar-logo,
.year-topbar-nav {
  pointer-events: auto;
}

.year-topbar-logo {
  color: #111;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  transition: opacity 0.15s ease;
}

.year-topbar-logo:hover {
  opacity: 0.62;
}

.year-topbar-nav {
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.year-topbar-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
}

.year-topbar-nav li {
  position: relative;
}

.year-topbar-link,
.year-topbar-button {
  display: inline-block;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.year-topbar-link:hover,
.year-topbar-button:hover,
.year-topbar-nav .has-dropdown:hover > .year-topbar-button {
  opacity: 0.62;
}

.year-topbar-nav .has-dropdown {
  padding-bottom: 8px;
  margin-bottom: -8px;
}

.year-topbar-nav .has-dropdown::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: calc(100% + 14px);
  min-width: 84px;
  height: 8px;
}

.year-topbar-dropdown {
  position: absolute;
  right: auto;
  left: 50%;
  top: calc(100% + 1px);
  transform: translate(-50%, -2px);
  width: 100%;
  min-width: 100%;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  align-items: stretch !important;
  align-content: flex-start !important;
  gap: 4px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 1px solid rgba(17, 17, 17, 0.2);
  border-radius: 0;
  background: #fff;
  text-align: center;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.year-topbar-dropdown li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
  display: block !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
}

.year-topbar-dropdown a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 2px 8px !important;
  color: #111;
  text-decoration: none;
  font-size: 21px;
  line-height: 1 !important;
  font-weight: 400;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-transform: uppercase;
}

.year-topbar-dropdown a:hover {
  opacity: 0.62;
}

.year-topbar-nav .has-dropdown:hover .year-topbar-dropdown,
.year-topbar-nav .has-dropdown:focus-within .year-topbar-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

@media (min-width: 992px) {
  body.year-topbar-enabled {
    padding-top: 0;
  }

  body.year-topbar-enabled #doz_header {
    display: none !important;
  }

  body.year-topbar-enabled .year-topbar-shell {
    transition: transform 0.26s ease, opacity 0.2s ease;
    will-change: transform, opacity;
  }

  body.year-topbar-enabled .year-topbar-shell.is-scroll-hidden {
    transform: translate(-50%, -120%);
    opacity: 0;
    pointer-events: none;
  }
}

@media (max-width: 991px) {
  /* Mobile: keep custom topbar visible on all year pages. */
  body.year-topbar-enabled {
    padding-top: initial !important;
  }

  body.year-topbar-enabled #doz_header {
    display: none !important;
  }

  body.year-topbar-enabled .year-topbar-shell {
    display: flex !important;
    transition: transform 0.22s ease, opacity 0.18s ease;
    will-change: transform, opacity;
  }

  body.year-topbar-enabled .year-topbar-shell.is-scroll-hidden {
    transform: translate(-50%, -120%);
    opacity: 0;
    pointer-events: none;
  }

  body.page-2024.year-topbar-enabled #doz_header,
  body.page-2022.year-topbar-enabled #doz_header,
  body.page-2025.year-topbar-enabled #doz_header {
    display: none !important;
  }
  /* 2024 mobile hero social links: pin to center-bottom of visual area. */
  body.page-2024-home #s202406083414353a7dd4c .header-content._visual_height.m_ratio {
    position: relative;
  }

  body.page-2024-home #s202406083414353a7dd4c .text-wrap._text.fr-view > p:first-child {
    display: none !important;
  }

  body.page-2024-home #s202406083414353a7dd4c .text-wrap._text.fr-view > p:last-child {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    white-space: nowrap;
  }

  body.page-2024-home #s202406083414353a7dd4c .text-wrap._text.fr-view > p:last-child a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  body.page-2024-home #s202406083414353a7dd4c .text-wrap._text.fr-view > p:last-child img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain;
  }

  /* 2024 mobile body copy: keep text white while preserving explicit accent colors. */
  body.page-2024-home #s20240608a4ed2d790a77c .text-table,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table p,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table div,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h1,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h2,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h3,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h4,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h5,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table h6,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table a,
  body.page-2024-home #s20240608a4ed2d790a77c .text-table strong,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table p,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table div,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h1,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h2,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h3,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h4,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h5,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table h6,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table a,
  body.page-2024-home #s20240605df4e8048b6aa4 .text-table strong {
    color: #fff !important;
  }
}

/* 2024 Projects: restore card gutters and keep list titles white. */
body.page-2024-projects #s2024060883fbe42e77145 .doz_row {
  margin-left: -6px !important;
  margin-right: -6px !important;
}

body.page-2024-projects #s2024060883fbe42e77145 .doz_row > .col-dz {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

body.page-2024-projects #s2024060883fbe42e77145 .doz_row > .col-dz.col-dz-3 {
  margin-bottom: 12px;
}

body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap p,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap strong,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap span {
  color: #fff !important;
  text-decoration: none !important;
}

/* 2024 Projects: keep hidden hover chips out of document flow so titles sit right under thumbnails. */
body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap ._img_box.img_wrap {
  position: relative;
  overflow: hidden;
}

body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap ._img_box.img_wrap .hover_txt {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  padding: 12px;
  display: flex !important;
  align-items: flex-end;
  justify-content: flex-start;
  opacity: 0;
  visibility: hidden;
  z-index: 8;
  pointer-events: none;
}

body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap ._img_box.img_wrap .hover_txt .txt_body {
  display: block !important;
  text-align: left !important;
}

body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap:hover ._img_box.img_wrap .hover_txt,
body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap.hover ._img_box.img_wrap .hover_txt,
body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap a._fade_link:hover ._img_box.img_wrap .hover_txt,
body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap a._fade_link:focus ._img_box.img_wrap .hover_txt {
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap .txt._txt_wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-2024-projects #s2024060883fbe42e77145 .widget.image._image_wrap .txt._txt_wrap p {
  margin: 0 !important;
  padding: 0 !important;
}

/* 2024 Projects: only the section heading "projects" uses the topbar font. */
body.page-2024-projects #text_w20240609e7f09770af96f strong {
  font-family: "Bebas Neue", "Jost", Pretendard, sans-serif !important;
  font-weight: 400 !important;
}

/* 2024 Projects: keep actual project titles in the original body typeface. */
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap p,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap strong,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .txt._txt_wrap span,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .hover_txt .txt_body,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .hover_txt .txt_body p,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .hover_txt .txt_body strong,
body.page-2024-projects #s2024060883fbe42e77145 a._fade_link .hover_txt .txt_body span {
  font-family: var(--cau-font-sans) !important;
}

@media (max-width: 900px) {
  .year-topbar-shell {
    top: 12px;
    width: calc(100% - 24px);
  }

  .year-topbar-logo,
  .year-topbar-link,
  .year-topbar-button {
    font-size: 14px;
  }

  .year-topbar-nav ul {
    gap: 12px;
  }

}

@media (min-width: 992px) {
  /* 2024 desktop: hide external site/social icon links. */
  body.page-2024-home a[href*="artech.cau.ac.kr"],
  body.page-2024-home a[href*="instagram.com/cau_artech_grad"],
  body.page-2024-home a[href*="youtube.com/@cau_artntech"] {
    display: none !important;
  }

  /* 2024 Participants: match top spacing with lowered desktop topbar. */
  body.page-2024-at #s20240605f4a939e87d44b.section_wrap.section_first {
    padding-top: 132px !important;
  }

  /* 2024 Projects: tighten top breathing room above the "projects" heading. */
  body.page-2024-projects #s2024060883fbe42e77145.section_wrap.section_first {
    padding-top: 108px !important;
  }
}

@media (max-width: 991px) {
  body.page-2024-at #s2024060508f5789c4f8a5.section_wrap.mobile_section_first {
    padding-top: 148px !important;
  }

  body.page-2024-projects #s2024060883fbe42e77145.section_wrap.section_first {
    padding-top: 124px !important;
  }
}

/* Remove legacy back-to-top buttons on all pages. */
a[href="#doz_header"] {
  display: none !important;
}

.widget.icon:has(> a[href="#doz_header"]),
.widget.inline_widget:has(> a[href="#doz_header"]) {
  display: none !important;
}

/* Consolidated shared font overrides (previously in webfont-overrides.css). */
:root {
  --cau-font-sans: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

html,
body,
.doz_sys,
.text-table,
.widget,
.board,
.shop-content,
section,
article,
button,
input,
textarea,
select {
  font-family: var(--cau-font-sans);
}

/* 2024 home body copy: slightly lighter weight, keep subheadings unchanged. */
body.page-2024-home .text-table p,
body.page-2024-home .text-table p span,
body.page-2024-home .text-table li,
body.page-2024-home .text-table li span {
  font-weight: 300 !important;
}

/* 2025 Projects list: keep thumbnail boxes the same size, including bottom rows. */
body.page-2025-projects #s20250506fbacedd208ec1 .doz_row {
  margin-left: -6px !important;
  margin-right: -6px !important;
}

body.page-2025-projects #s20250506fbacedd208ec1 .doz_row > .col-dz {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

body.page-2025-projects #s20250506fbacedd208ec1 .doz_row > .col-dz.col-dz-3 {
  margin-bottom: 12px;
}

body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap a._fade_link {
  width: 100%;
  display: block;
  box-sizing: border-box;
}

body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap ._img_box.img_wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  box-sizing: border-box;
  isolation: isolate;
}

body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap ._img_box.img_wrap > img.org_image,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap ._img_box.img_wrap > img.hover_img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* 2025 Projects: ensure hover team/title chips render above thumbnails like 2024 cards. */
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap ._img_box.img_wrap .hover_txt {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  padding: 12px;
  display: flex !important;
  align-items: flex-end;
  justify-content: flex-start;
  opacity: 0;
  visibility: hidden;
  z-index: 8;
  pointer-events: none;
}

body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap ._img_box.img_wrap .hover_txt .txt_body {
  display: block !important;
  text-align: left !important;
}

body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap:hover ._img_box.img_wrap .hover_txt,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap.hover ._img_box.img_wrap .hover_txt,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap a._fade_link:hover ._img_box.img_wrap .hover_txt,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap a._fade_link:focus ._img_box.img_wrap .hover_txt {
  opacity: 1 !important;
  visibility: visible !important;
}

/* 2025 Projects list: match 2024 project-title typography (sans/gothic). */
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .txt._txt_wrap,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .txt._txt_wrap p,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .txt._txt_wrap span,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .txt._txt_wrap strong,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .hover_txt .txt_body,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .hover_txt .txt_body p,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .hover_txt .txt_body span,
body.page-2025-projects #s20250506fbacedd208ec1 .widget.image._image_wrap .hover_txt .txt_body strong {
  font-family: var(--cau-font-sans) !important;
}

/* 2025 Projects section heading: keep "projects" in the same typeface as the 2025 topbar. */
body.page-2025-projects #text_w20250506c57d9b27a83d7 .text-table,
body.page-2025-projects #text_w20250506c57d9b27a83d7 .text-table p,
body.page-2025-projects #text_w20250506c57d9b27a83d7 .text-table span,
body.page-2025-projects #text_w20250506c57d9b27a83d7 .text-table strong,
body.page-2025-projects #text_w20250506c57d9b27a83d7 .text-table * {
  font-family: "Bebas Neue", "Jost", var(--cau-font-sans) !important;
}

/* 2024/2025 Projects divider ends: hide bracket-like decorations on both sides. */
body.page-2024-projects #hr_w20240609632bdadf38925.type09 .line_box:before,
body.page-2024-projects #hr_w20240609632bdadf38925.type09 .line_box:after,
body.page-2025-projects #hr_w202505065fe862f8d5399.type09 .line_box:before,
body.page-2025-projects #hr_w202505065fe862f8d5399.type09 .line_box:after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  body.page-2025-projects #s20250506fbacedd208ec1 .doz_row {
    margin-left: -4px !important;
    margin-right: -4px !important;
  }

  body.page-2025-projects #s20250506fbacedd208ec1 .doz_row > .col-dz {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.page-2025-projects #s20250506fbacedd208ec1 .doz_row > .col-dz.col-xdz-6 {
    margin-bottom: 8px;
  }
}
