/**
 * NDHU Economics Website
 * page-home.css v1.58-test
 * Updated: 2026-08-24 06:40:00 (Asia/Taipei, UTC+8)
 *
 * Responsive architecture
 * ---------------------------------------------------------
 * - Main CSS = 1025px Golden Base.
 * - 901–1920px = one continuous proportional Normal Scene, anchored at 1025px.
 * - ≤900px = Compact RWD layout; sizing continues smoothly from 900 toward 600.
 * - ≤600px = same Compact visual family with Mobile sizing; no new visual state.
 * - No Desktop device breakpoints, no container query, no incremental patch stack.
 *
 * v1.56-test | 2026-08-24
 * - Calendar 重構為日期卡：CSV event → milestone → date grouping → date card。
 * - 多日事件拆成開始／截止(結束)節點；同日事件合併，6 件以上依 audience 進入 dense mode。
 * - 移除 detail / 進行中 / 已結束文字；事件連結直接掛在標題＋ external-link icon。
 * - Calendar 左右按鈕改為卡列兩側 overlay；日期改單列，卡高依內容自然成長。
 * - Calendar RWD 對齊全頁 901px Normal / ≤900px Compact 架構，不新增 1024px layout state。
 *
 * v1.55 | 2026-08-23
 * - 以使用者 v1.53rev 的 1025 Golden Base 為準：主標 1.8rem、Career 文字橢圓 bottom:-22%。
 * - Normal Scene 在 900–1920 間以單一比例公式連續縮放／放大，1025 精確回到 Golden Base。
 * - Compact breakpoint 回到內容需求點 ≤900px，不再把 1024 當 layout breakpoint。
 * - Compact 900→600 的字級、間距、padding、主要圖片／區塊尺寸採連續 interpolation。
 * - ≤600 Mobile 維持同一 Compact visual family，關鍵尺寸繼續平順縮放並設可讀性下限。
 */

/* 【全區】Study Economics 主視覺：色彩變數、文字顏色、字型、整體寬度 */
.myhome-study {
  --myhome-study-navy: #0C2340;
  --myhome-study-blue: #205597;
  --myhome-study-gold: #B08F5A;
  --myhome-study-ink: #203247;
  --myhome-study-muted: #607080;
  --myhome-study-mist: rgba(151, 177, 201, 0.34);
  --myhome-study-mist-2: rgba(86, 125, 160, 0.34);

  width: 100%;
  max-width: 100%;
  color: var(--myhome-study-ink);
  font-family: "Noto Sans TC", "Noto Sans", "Microsoft JhengHei", "PingFang TC", sans-serif;
}

/* 【全區】所有主視覺元素：統一使用 border-box 盒模型 */
.myhome-study,
.myhome-study * {
  box-sizing: border-box;
}

/* 【全區連結】移除主視覺內連結的預設底線 */
.myhome-study a {
  text-decoration: none;
}

/* ---------- Heading outside the scene canvas ---------- */

/* 【上方標題區】主視覺上方的標題與簡介背景區塊 */
.myhome-study-heading {
  --myhome-heading-icon-space: 1.350rem;
  --myhome-heading-gap: 0.115rem;
  position: absolute;
  z-index: 8;
  top: 3.2%;
  left: 2%;
  width: 49%;
  padding: 0% 0%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--myhome-heading-gap);
}

/* 【上方標題】主標題文字 */
.myhome-study-title {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  padding-left: var(--myhome-heading-icon-space);
  color: var(--myhome-study-navy);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: 0.01em;
}

/* 【上方標題 icon】絕對定位，不參與主標 line box；避免影響主副標垂直間距 */
.myhome-study-title::before {
  content: "\f0eb";
  position: absolute;
  left: 0;
  top: 50%;
  color: var(--myhome-study-gold);
  font-family: FontAwesome;
  font-size: 0.76em;
  font-weight: normal;
  line-height: 1;
  transform: translateY(-50%);
}

/* 【上方簡介】主標題下方的說明文字 */
.myhome-study-intro {
  flex: 0 0 auto;
  margin: 0;
  padding-left: var(--myhome-heading-icon-space);
  color: #526575;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.20;
}

/* =========================================================
   Scene canvas
   Critical rule:
   Every desktop/notebook overlay must be positioned here.
   ========================================================= */

/* 【主場景畫布】Normal Scene 所有照片、橢圓與文字的定位基準 */
.myhome-study-canvas {
  position: relative;
  width: 100%;
  aspect-ratio: 2048 / 726;
  min-height: 0;
  overflow: hidden;
  background:
    linear-gradient(
      to bottom,
      #DCE6EE 0%,
      #DCE6EE 77%,
      #D7E2EB 77%,
      #E7EEF4 100%
    );
  border-radius: 0 0 1.2rem 1.2rem;
  isolation: isolate;
}

/* 【校園主景照片區】畫布上方 77% 的主背景照片容器 */
.myhome-study-scene-bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 77%;
  z-index: 0;
  overflow: hidden;
}

/* 【校園主景照片】控制主背景照片裁切、位置與色彩濾鏡 */
.myhome-study-scene-bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.92) contrast(0.96);
}

/* 【校園主景覆色】主景照片上的左右／上下漸層柔化層 */
.myhome-study-scene-wash {
  position: absolute;
  inset: 0;
  background:
    /* 左側保留較多校園細節；30% 後逐步柔化，右側留給 AI / Career 文字 */
    linear-gradient(35deg,
      rgba(245,248,250,0.08) 0%,
      rgba(245,248,250,0.12) 28%,
      rgba(245,248,250,0.24) 58%,
      rgba(245,248,250,0.42) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,0.12) 0%,
      rgba(255,255,255,0.00) 72%,
      rgba(215,226,235,0.82) 100%);
}

/* ---------- Shared scene layer ---------- */

/* 【共用定位區】四個主題群組的 absolute 定位共用設定 */
.myhome-study-zone {
  position: absolute;
  z-index: 3;
}

/* 【共用裝飾底形】各主題後方的半透明 blob／橢圓底形 */
.myhome-study-blob {
  position: absolute;
  z-index: -1;
  display: block;
  pointer-events: none;
}

/* 【共用照片容器】主題照片的裁切容器 */
.myhome-study-photo {
  display: block;
  overflow: hidden;
}

/* 【共用照片】所有主題照片填滿容器並使用 object-fit: cover */
.myhome-study-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================================
   1. Study Programs
   Anchor: left / lower-middle of the actual campus image.
   ========================================================= */

/* 【1 學習與研究｜整組】控制整個 Programs 區的位置與範圍 */
.myhome-study-programs {
  left: 21%;
  top: 49%;
  width: 45%;
  height: 45%;
}

/* 【1 學習與研究｜灰藍底形】社群照片後方的大型不規則橢圓 */
.myhome-study-blob-programs {
  left: -10%;
  top: 18%;
  width: 82%;
  height: 70%;
  background: rgba(126, 160, 190, 0.48);
  border-radius: 52% 48% 44% 56% / 58% 46% 54% 42%;
  transform: rotate(-6deg);
}

/* 【1 學習與研究｜照片】左側社群／學習活動橢圓照片 */
.myhome-study-photo-community {
  position: absolute;
  z-index: 5;
  left: 1%;
  top: 6%;
  width: 66%;
  aspect-ratio: 1.62 / 1;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* 【1 學習與研究｜去背照片】保留透明畫布，不再用橢圓裁切 */
.myhome-study-photo-community img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
}

/* 【1 學習與研究｜文字橢圓】「學習與研究＋學／碩／博」所在的淺色橢圓 */
.myhome-study-zone-copy-programs {
  position: absolute;
  z-index: 4;
  left: 22%;
  bottom: -16%;
  width: 58%;
  min-height: 34%;
  padding: 2.5% 4%;
  color: var(--myhome-study-navy);
  background: rgba(238,244,248,0.78);
  border-radius: 50% 50% 46% 54% / 58% 54% 46% 42%;
  box-shadow: 0 0.3rem 0.9rem rgba(12,35,64,0.07);
}

/* 【1 學習與研究｜主文字】橢圓內「學習與研究」標題的位置與字級 */
.myhome-study-zone-copy-programs strong {
  display: block;
  width: 100%;
  margin: 0 0 3.5%;
  color: var(--myhome-study-navy);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.14;
  text-align: center;
  position: relative;
  top: 24%;
  margin-bottom: 2.5%;
}

/* 【1 學習與研究｜學制連結列】橢圓內學士／碩士／博士連結整組位置 */
.myhome-study-program-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.220rem 0.620rem;
  position: relative;
  top: 45%;
}

/* 【1 學習與研究｜學制連結文字】各學制連結的字級與粗細 */
.myhome-study-program-links a {
  position: relative;
  color: var(--myhome-study-navy);
  font-size: 1.0rem;
  font-weight: 600;
  line-height: 1.20;
}

/* 【1 學習與研究｜連結 hover 線】各學制連結下方展開的藍色底線 */
.myhome-study-program-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -0.2rem;
  height: 0.18rem;
  background: var(--myhome-study-blue);
  transition: right 0.16s ease;
}

/* 【1 學習與研究｜連結互動】hover / focus 時展開底線 */
.myhome-study-program-links a:hover::after,
.myhome-study-program-links a:focus::after {
  right: 0;
}

/* =========================================================
   2. AI + Self-directed learning
   ========================================================= */

/* 【2 AI＋自主學習｜深藍橢圓】右上方整個 Digital 區的位置、尺寸與底色 */
.myhome-study-digital {
  top: 10%;
  right: 9%;
  width: 29%;
  min-height: 15%;
  padding: 2.1% 2.4%;
  background: rgba(12,35,64,0.68);
  border-radius: 49% 51% 46% 54% / 56% 45% 55% 44%;
  backdrop-filter: blur(1.5px);
}

/* 【2 AI＋自主學習｜外層 blob】深藍橢圓後方的灰藍裝飾底形 */
.myhome-study-blob-digital {
  inset: -7% -7% -8% -6%;
  background: rgba(86,125,160,0.50);
  border-radius: 52% 44% 48% 52% / 46% 54% 45% 55%;
  transform: rotate(4deg);
}

/* 【2 AI＋自主學習｜功能連結】AI／自主學習兩條主要連結的文字列 */
.myhome-study-feature-link {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.380rem;
  width: 100%;
  padding: 2% 0;
  color: #FFFFFF;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.18;
  white-space: nowrap;
}

/* 【2 AI＋自主學習｜連結互動】hover / focus 時加底線 */
.myhome-study-feature-link:hover,
.myhome-study-feature-link:focus {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

/* 【2 AI＋自主學習｜圖示】每條功能連結左側的小圖示 */
.myhome-study-feature-link i {
  flex: 0 0 1.9rem;
  width: 1.400rem;
  color: #C9DCEB;
  text-align: center;
  font-size: 0.9em;
  flex-basis: 1.400rem;
}

.myhome-study-data-dot,
/* 【2 AI＋自主學習｜資料連線】裝飾線共用樣式 */
.myhome-study-data-line {
  position: absolute;
  z-index: 1;
  opacity: 0.35;
  pointer-events: none;
}

/* 【2 AI＋自主學習｜資料圓點】右上區裝飾性小圓點的共用樣式 */
.myhome-study-data-dot {
  width: clamp(4px, 0.45vw, 7px);
  height: clamp(4px, 0.45vw, 7px);
  background: #9FC4DE;
  border-radius: 50%;
}

/* 【2 AI＋自主學習｜資料圓點 1】第一個小圓點位置 */
.myhome-study-data-dot-1 { top: 10%; right: 18%; }
/* 【2 AI＋自主學習｜資料圓點 2】第二個小圓點位置 */
.myhome-study-data-dot-2 { top: 22%; right: 7%; }
/* 【2 AI＋自主學習｜資料圓點 3】第三個小圓點位置 */
.myhome-study-data-dot-3 { bottom: 14%; right: 26%; }

.myhome-study-data-line {
  height: 1px;
  background: #9FC4DE;
  transform-origin: left center;
}

/* 【2 AI＋自主學習｜資料連線 1】第一條裝飾線的位置、長度與角度 */
.myhome-study-data-line-1 {
  top: 14%;
  right: 9%;
  width: 18%;
  transform: rotate(31deg);
}

/* 【2 AI＋自主學習｜資料連線 2】第二條裝飾線的位置、長度與角度 */
.myhome-study-data-line-2 {
  bottom: 18%;
  right: 10%;
  width: 20%;
  transform: rotate(-24deg);
}

/* =========================================================
   3. Career
   ========================================================= */

/* 【3 實習與職涯｜整組】控制 Career 區的位置與範圍 */
.myhome-study-career {
  right: 4%;
  top: 57%;
  width: 28%;
  height: 33%;
  color: #FFFFFF;
}

/* 【3 實習與職涯｜灰藍圓】Career 照片後方的圓形裝飾底 */
.myhome-study-blob-career {
  left: -2%;
  top: -4%;
  width: 66%;
  aspect-ratio: 1;
  background: rgba(86,125,160,0.38);
  border-radius: 50%;
}

/* 【3 實習與職涯｜照片】左側圓形職涯照片 */
.myhome-study-photo-career {
  position: absolute;
  z-index: 2;
  left: 2%;
  top: -1%;
  width: 60%;
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}

/* 【3 實習與職涯｜照片裁切】微調職涯照片的水平視覺中心 */
.myhome-study-photo-career img {
  object-position: 48% center;
}

/* 【3 實習與職涯｜文字橢圓】右下方深藍文字底形的位置與尺寸 */
.myhome-study-career-copy {
  position: absolute;
  z-index: 4;
  left: 31%;
  bottom: -22%;
  width: 69%;
  min-height: 53%;
  padding: 5.5% 4.5%;
  color: #FFFFFF;
  background: rgba(12,35,64,0.82);
  border-radius: 48% 52% 42% 58% / 58% 54% 46% 42%;
  text-align: center;
}

.myhome-study-career-copy strong,
/* 【3 實習與職涯｜副文字】主標下方的補充說明 */
.myhome-study-career-copy em {
  display: block;
}

/* 【3 實習與職涯｜主文字】「實習與職涯」標題 */
.myhome-study-career-copy strong {
  color: #FFFFFF;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.14;
  text-align: center;
}

.myhome-study-career-copy em {
  margin-top: 0.220rem;
  color: #D9E4ED;
  font-size: 1.0rem;
  font-style: normal;
  line-height: 1.16;
  text-align: center;
}

/* 【3 實習與職涯｜互動】hover / focus 時文字橢圓改為較亮藍色 */
.myhome-study-career:hover .myhome-study-career-copy,
.myhome-study-career:focus .myhome-study-career-copy {
  background: rgba(32,85,151,0.90);
}

/* =========================================================
   4. Overseas
   ========================================================= */

/* 【4 海外學習｜整組橢圓】右下方 Overseas 區的位置、尺寸與淺色底形 */
.myhome-study-overseas {
  left: 35%;
  top: 27%;
  width: 23%;
  height: 25%;
  overflow: hidden;
  color: var(--myhome-study-navy);
  background: rgba(247,250,252,0.68);
  border-radius: 50% 50% 46% 54% / 54% 48% 52% 46%;
  backdrop-filter: blur(1px);
}

/* 【4 海外學習｜內部 blob】海外學習橢圓內右下方的灰藍裝飾底 */
.myhome-study-blob-overseas {
  right: -6%;
  bottom: -10%;
  width: 80%;
  aspect-ratio: 1.7 / 1;
  background: rgba(170,192,212,0.34);
  border-radius: 50%;
  transform: rotate(-7deg);
}

/* 【4 海外學習｜世界地圖】橢圓右側半透明世界地圖圖層 */
.myhome-study-world {
  position: absolute;
  z-index: 1;
  top: 7%;
  right: -3%;
  width: 84%;
  height: auto;
  opacity: 0.48;
}

/* 【4 海外學習｜文字區】海外學習主標與副標的位置 */
.myhome-study-overseas-copy {
  position: absolute;
  z-index: 3;
  left: 8%;
  bottom: 24%;
  width: 85%;
}

.myhome-study-overseas strong,
/* 【4 海外學習｜副文字】主標下方的補充說明 */
.myhome-study-overseas em {
  display: block;
}

/* 【4 海外學習｜主文字】「海外學習」標題 */
.myhome-study-overseas strong {
  color: var(--myhome-study-navy);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.12;
}

.myhome-study-overseas em {
  margin-top: 0.180rem;
  color: var(--myhome-study-muted);
  font-size: 1.0rem;
  font-style: normal;
  line-height: 1.16;
}

/* 【4 海外學習｜箭頭】橢圓右下角的連結箭頭 */
.myhome-study-overseas > i {
  position: absolute;
  right: 8%;
  bottom: 10%;
  z-index: 3;
  color: var(--myhome-study-navy);
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  transition: transform 0.16s ease;
}

/* 【4 海外學習｜箭頭互動】hover / focus 時箭頭向右移 */
.myhome-study-overseas:hover > i,
.myhome-study-overseas:focus > i {
  transform: translateX(0.3rem);
}

/* =========================================================
   Responsive architecture
   ---------------------------------------------------------
   1025px = Golden Base.
   901–1920px = one proportional Normal Scene.
   ≤900px = Compact RWD.
   ≤600px = Mobile sizing within the same Compact family.
   ========================================================= */

/* 901–1920px｜Normal Scene：以 1025 為中心連續同比縮放／放大 */
@media screen and (min-width: 901px) {
  .myhome-study-heading {
    --myhome-heading-icon-space: clamp(1.185rem, 1.31707vw, 2.529rem);
    --myhome-heading-gap: clamp(0.101rem, 0.11220vw, 0.215rem);
  }

  .myhome-study-title {
    font-size: clamp(1.580rem, 1.75610vw, 3.372rem);
  }

  .myhome-study-intro {
    font-size: clamp(0.966rem, 1.07317vw, 2.060rem);
  }

  .myhome-study-zone-copy-programs strong,
  .myhome-study-overseas strong,
  .myhome-study-career-copy strong {
    font-size: clamp(1.141rem, 1.26829vw, 2.435rem);
  }

  .myhome-study-program-links {
    gap: clamp(0.193rem, 0.21463vw, 0.412rem) clamp(0.544rem, 0.60488vw, 1.161rem);
  }

  .myhome-study-program-links a,
  .myhome-study-overseas em,
  .myhome-study-career-copy em {
    font-size: clamp(0.878rem, 0.97561vw, 1.873rem);
  }

  .myhome-study-overseas em {
    margin-top: clamp(0.158rem, 0.17561vw, 0.337rem);
  }

  .myhome-study-career-copy em {
    margin-top: clamp(0.193rem, 0.21463vw, 0.412rem);
  }

  .myhome-study-feature-link {
    gap: clamp(0.334rem, 0.37073vw, 0.712rem);
    font-size: clamp(1.273rem, 1.41463vw, 2.716rem);
  }

  .myhome-study-feature-link i {
    flex-basis: clamp(1.229rem, 1.36585vw, 2.622rem);
    width: clamp(1.229rem, 1.36585vw, 2.622rem);
  }
}

/* =========================================================
   Compact RWD ≤900px
   Normal Scene exits absolute positioning and uses normal flow.
   Sizing remains fluid down to 600px.
   ========================================================= */



@media screen and (max-width: 900px) {
  /* ---- Header / canvas ---- */
  .myhome-study-heading {
    position: absolute;
    top: clamp(1.000rem, calc(0.60000rem + 0.66667vw), 1.200rem);
    left: clamp(1.000rem, calc(0.20000rem + 1.33333vw), 1.400rem);
    width: calc(100% - clamp(2.000rem, calc(0.40000rem + 2.66667vw), 2.800rem));
    padding: 0;
  }

  .myhome-study-title {
    font-size: clamp(1.900rem, calc(1.40000rem + 0.83333vw), 2.150rem);
  }

  .myhome-study-intro {
    font-size: clamp(1.220rem, calc(0.90000rem + 0.53333vw), 1.380rem);
  }

  .myhome-study-canvas {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(0.750rem, calc(0.45000rem + 0.50000vw), 0.900rem);
    aspect-ratio: auto;
    padding: clamp(15.500rem, calc(13.50000rem + 3.33333vw), 16.500rem) clamp(0.900rem, calc(0.30000rem + 1.00000vw), 1.200rem) clamp(0.900rem, calc(0.30000rem + 1.00000vw), 1.200rem);
    overflow: visible;
    background: #EEF3F7;
    border-radius: 0 0 0.8rem 0.8rem;
  }

  .myhome-study-scene-bg {
    top: 0;
    right: 0;
    left: 0;
    height: clamp(14.700rem, calc(13.10000rem + 2.66667vw), 15.500rem);
  }

  .myhome-study-scene-bg > img {
    object-position: center center;
  }

  .myhome-study-scene-wash {
    background: linear-gradient(180deg, rgba(255,255,255,0.10), #EEF3F7 100%);
  }

  .myhome-study-zone {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    height: auto;
    min-height: 0;
  }

  .myhome-study-blob,
  .myhome-study-data-dot,
  .myhome-study-data-line {
    display: none;
  }

  /* ---- Programs: left text / right people ---- */
  .myhome-study-programs {
    display: grid;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    align-items: center;
    gap: clamp(0.150rem, calc(0.05000rem + 0.16667vw), 0.200rem);
    min-height: clamp(9.200rem, calc(5.60000rem + 6.00000vw), 11.000rem);
    padding: clamp(0.550rem, calc(0.25000rem + 0.50000vw), 0.700rem);
    background: rgba(238,244,248,0.72);
    border: 1px solid rgba(12,35,64,0.15);
    border-radius: 1rem;
    overflow: hidden;
  }

  .myhome-study-zone-copy-programs {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    left: auto;
    bottom: auto;
    width: 100%;
    min-height: 0;
    padding: clamp(0.650rem, calc(0.35000rem + 0.50000vw), 0.800rem) clamp(0.450rem, calc(-0.05000rem + 0.83333vw), 0.700rem);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .myhome-study-zone-copy-programs strong {
    position: static;
    top: auto;
    margin: 0 0 clamp(0.300rem, calc(-0.00000rem + 0.50000vw), 0.450rem);
    font-size: clamp(1.500rem, calc(1.10000rem + 0.66667vw), 1.700rem);
    line-height: 1.18;
    text-align: center;
  }

  .myhome-study-program-links {
    position: static;
    top: auto;
    justify-content: center;
    gap: clamp(0.180rem, calc(0.04000rem + 0.23333vw), 0.250rem) clamp(0.450rem, calc(0.05000rem + 0.66667vw), 0.650rem);
    margin: 0;
  }

  .myhome-study-program-links a {
    font-size: clamp(1.050rem, calc(0.79000rem + 0.43333vw), 1.180rem);
    line-height: 1.25;
  }

  .myhome-study-photo-community {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    left: auto;
    top: auto;
    width: clamp(106%, calc(102% + 0.66667vw), 108%);
    margin-left: clamp(-5%, calc(-2% - 0.33333vw), -4%);
    aspect-ratio: auto;
    overflow: visible;
  }

  .myhome-study-photo-community img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  /* ---- AI: light blue, framed, dark text ---- */
  .myhome-study-digital {
    min-height: 0;
    padding: clamp(0.600rem, calc(0.30000rem + 0.50000vw), 0.750rem) clamp(0.850rem, calc(0.35000rem + 0.83333vw), 1.100rem);
    background: rgba(94,139,183,0.12);
    border: 1px solid rgba(12,35,64,0.15);
    border-radius: 1rem;
  }

  .myhome-study-feature-link {
    gap: clamp(0.450rem, calc(0.25000rem + 0.33333vw), 0.550rem);
    padding: clamp(0.350rem, calc(0.15000rem + 0.33333vw), 0.450rem) 0;
    color: #0C2340;
    font-size: clamp(1.400rem, calc(1.10000rem + 0.50000vw), 1.550rem);
    white-space: nowrap;
  }

  .myhome-study-feature-link,
  .myhome-study-feature-link:hover,
  .myhome-study-feature-link:focus {
    color: #0C2340;
  }

  .myhome-study-feature-link i {
    flex-basis: clamp(1.450rem, calc(1.15000rem + 0.50000vw), 1.600rem);
    width: clamp(1.450rem, calc(1.15000rem + 0.50000vw), 1.600rem);
    color: #2E4B70;
  }

  /* ---- Overseas: light framed entry ---- */
  .myhome-study-overseas {
    min-height: clamp(8.600rem, calc(6.20000rem + 4.00000vw), 9.800rem);
    background: rgba(255,255,255,0.44);
    border: 1px solid rgba(12,35,64,0.15);
    border-radius: 1rem;
    overflow: hidden;
  }

  .myhome-study-world {
    top: 50%;
    right: -clamp(0.600rem, calc(-0.20000rem + 1.33333vw), 1.000rem);
    width: clamp(11.500rem, calc(6.50000rem + 8.33333vw), 14.000rem);
    transform: translateY(-50%);
  }

  .myhome-study-overseas-copy {
    left: clamp(0.950rem, calc(0.45000rem + 0.83333vw), 1.200rem);
    bottom: clamp(0.850rem, calc(0.35000rem + 0.83333vw), 1.100rem);
    width: clamp(68%, calc(74% - 0.66667vw), 70%);
  }

  /* ---- Career: left photo / right light panel ---- */
  .myhome-study-career {
    display: flex;
    align-items: center;
    min-height: clamp(8.800rem, calc(6.40000rem + 4.00000vw), 10.000rem);
    gap: 0;
    padding: clamp(0.600rem, calc(0.30000rem + 0.50000vw), 0.750rem);
    background: rgba(255,255,255,0.20);
    border: 1px solid rgba(12,35,64,0.15);
    border-radius: 1rem;
    overflow: hidden;
  }

  .myhome-study-photo-career {
    position: relative;
    z-index: 3;
    left: auto;
    top: auto;
    flex: 0 0 clamp(7.400rem, calc(5.00000rem + 4.00000vw), 8.600rem);
    width: clamp(7.400rem, calc(5.00000rem + 4.00000vw), 8.600rem);
    height: clamp(7.400rem, calc(5.00000rem + 4.00000vw), 8.600rem);
    margin-right: -clamp(0.600rem, calc(-0.20000rem + 1.33333vw), 1.000rem);
  }

  .myhome-study-career-copy {
    position: relative;
    z-index: 2;
    left: auto;
    right: auto;
    bottom: auto;
    flex: 1 1 auto;
    width: auto;
    min-height: 0;
    padding: clamp(0.800rem, calc(0.40000rem + 0.66667vw), 1.000rem) clamp(0.800rem, calc(0.40000rem + 0.66667vw), 1.000rem) clamp(0.800rem, calc(0.40000rem + 0.66667vw), 1.000rem) clamp(1.200rem, calc(0.80000rem + 0.66667vw), 1.400rem);
    color: #0C2340;
    background: rgba(94,139,183,0.14);
    border: 0;
    border-radius: 1rem;
    text-align: center;
  }

  .myhome-study-career-copy strong,
  .myhome-study-career-copy em {
    color: #0C2340 !important;
  }
}


@media screen and (max-width: 600px) {
  .myhome-study-heading {
    top: clamp(0.800rem, 1.66667vw, 1.000rem);
    left: clamp(0.800rem, 1.66667vw, 1.000rem);
    width: calc(100% - clamp(1.600rem, 3.33333vw, 2.000rem));
  }

  .myhome-study-title {
    font-size: clamp(1.520rem, 3.16667vw, 1.900rem);
  }

  .myhome-study-intro {
    font-size: clamp(0.976rem, 2.03333vw, 1.220rem);
    line-height: 1.28;
  }

  .myhome-study-canvas {
    gap: clamp(0.600rem, 1.25000vw, 0.750rem);
    padding: clamp(13.950rem, 25.83333vw, 15.500rem) clamp(0.720rem, 1.50000vw, 0.900rem) clamp(0.720rem, 1.50000vw, 0.900rem);
  }

  .myhome-study-scene-bg {
    height: clamp(13.230rem, 24.50000vw, 14.700rem);
  }

  .myhome-study-programs {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    min-height: clamp(8.096rem, 15.33333vw, 9.200rem);
    padding: clamp(0.440rem, 0.91667vw, 0.550rem);
  }

  .myhome-study-zone-copy-programs {
    padding: clamp(0.520rem, 1.08333vw, 0.650rem) clamp(0.360rem, 0.75000vw, 0.450rem);
  }

  .myhome-study-zone-copy-programs strong {
    margin-bottom: clamp(0.240rem, 0.50000vw, 0.300rem);
    font-size: clamp(1.200rem, 2.50000vw, 1.500rem);
  }

  .myhome-study-program-links {
    gap: clamp(0.144rem, 0.30000vw, 0.180rem) clamp(0.360rem, 0.75000vw, 0.450rem);
  }

  .myhome-study-program-links a {
    font-size: clamp(0.840rem, 1.75000vw, 1.050rem);
  }

  .myhome-study-photo-community {
    width: 106%;
    margin-left: -4%;
  }

  .myhome-study-digital {
    padding: clamp(0.480rem, 1.00000vw, 0.600rem) clamp(0.680rem, 1.41667vw, 0.850rem);
  }

  .myhome-study-feature-link {
    gap: clamp(0.360rem, 0.75000vw, 0.450rem);
    padding: clamp(0.280rem, 0.58333vw, 0.350rem) 0;
    font-size: clamp(1.120rem, 2.33333vw, 1.400rem);
  }

  .myhome-study-feature-link i {
    flex-basis: clamp(1.160rem, 2.41667vw, 1.450rem);
    width: clamp(1.160rem, 2.41667vw, 1.450rem);
  }

  .myhome-study-overseas {
    min-height: clamp(7.568rem, 14.33333vw, 8.600rem);
  }

  .myhome-study-world {
    right: -clamp(0.480rem, 1.00000vw, 0.600rem);
    width: clamp(10.120rem, 19.16667vw, 11.500rem);
  }

  .myhome-study-overseas-copy {
    left: clamp(0.760rem, 1.58333vw, 0.950rem);
    bottom: clamp(0.680rem, 1.41667vw, 0.850rem);
    width: 70%;
  }

  .myhome-study-overseas-copy strong {
    font-size: clamp(1.184rem, 2.46667vw, 1.480rem);
  }

  .myhome-study-overseas-copy em {
    font-size: clamp(0.864rem, 1.80000vw, 1.080rem);
  }

  .myhome-study-career {
    min-height: clamp(7.744rem, 14.66667vw, 8.800rem);
    padding: clamp(0.480rem, 1.00000vw, 0.600rem);
  }

  .myhome-study-photo-career {
    flex-basis: clamp(6.512rem, 12.33333vw, 7.400rem);
    width: clamp(6.512rem, 12.33333vw, 7.400rem);
    height: clamp(6.512rem, 12.33333vw, 7.400rem);
    margin-right: -clamp(0.640rem, 1.33333vw, 0.800rem);
  }

  .myhome-study-career-copy {
    padding: clamp(0.640rem, 1.33333vw, 0.800rem) clamp(0.640rem, 1.33333vw, 0.800rem) clamp(0.640rem, 1.33333vw, 0.800rem) clamp(0.960rem, 2.00000vw, 1.200rem);
  }

  .myhome-study-career-copy strong {
    font-size: clamp(1.184rem, 2.46667vw, 1.480rem);
  }

  .myhome-study-career-copy em {
    font-size: clamp(0.864rem, 1.80000vw, 1.080rem);
  }
}





/* =========================================================
   Home Feature Layout v1.0
   Desktop: Study Economics 65% + Spotlight Slider 35%
   Narrow:  Study → Calendar → Slider
   Calendar enabled in Feature integration.
   ========================================================= */

.myhome-feature {
  width: 100%;
}

.myhome-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
  grid-template-areas:
    "study slider";
  gap: 1.2rem;
  align-items: stretch;
  width: 100%;
}

.myhome-feature-study {
  grid-area: study;
  min-width: 0;
  min-height: 0;
}

.myhome-feature-slider {
  grid-area: slider;
  min-width: 0;
  min-height: 0;
  display: flex;
}

.myhome-feature-calendar {
  grid-area: calendar;
}

/* Calendar fallback：若 HTML 明確設為 hidden，仍完全不佔版面 */
.myhome-feature-calendar[hidden] {
  display: none !important;
}

/* ---------- Spotlight Slider ---------- */

.myhome-slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;
  background: #0C2340;
  border-radius: 0.45rem;
  isolation: isolate;
}

.myhome-slider-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.myhome-slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}

.myhome-slide.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
}

.myhome-slide-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #FFFFFF;
  background: #0C2340;
  text-decoration: none;
}

.myhome-slide-link:hover,
.myhome-slide-link:focus {
  color: #FFFFFF;
  text-decoration: none;
}

.myhome-slide-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.001);
  transition: transform 0.7s ease;
}

.myhome-slide-link:hover .myhome-slide-image,
.myhome-slide-link:focus .myhome-slide-image {
  transform: scale(1.025);
}

.myhome-slide-shade {
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(
    180deg,
    rgba(12,35,64,0) 0%,
    rgba(12,35,64,0.18) 30%,
    rgba(12,35,64,0.78) 100%
  );
  pointer-events: none;
}

.myhome-slide-copy {
  position: absolute;
  left: 38%;
  right: 1.35rem;
  bottom: 1.55rem;
  z-index: 3;
  color: #FFFFFF;
  text-align: right;
}

.myhome-slide-kicker {
  display: inline-block;
  margin-bottom: 0.25rem;
  color: rgba(255,255,255,0.78);
  font-size: 1.24rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

.myhome-slide-title {
  display: block;
  margin: 0;
  color: #FFFFFF;
  font-size: clamp(1.9rem, 1.5vw, 2.55rem);
  font-weight: 700;
  line-height: 1.16;
}

.myhome-slide-desc {
  display: block;
  margin-top: 0.28rem;
  color: rgba(255,255,255,0.88);
  font-size: clamp(1.2rem, 0.88vw, 1.45rem);
  font-style: normal;
  line-height: 1.3;
}

.myhome-slide-arrow {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 1.05em;
  font-weight: 400;
  line-height: 1;
  vertical-align: 0.02em;
}

/* Slider controls */
.myhome-slider-btn {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0;
  color: rgba(255,255,255,0.92);
  background: rgba(12,35,64,0.20);
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.myhome-slider-btn:hover,
.myhome-slider-btn:focus {
  background: rgba(12,35,64,0.58);
  outline: 0.15rem solid rgba(255,255,255,0.72);
  outline-offset: 0.1rem;
}

.myhome-slider-prev { left: 0.8rem; }
.myhome-slider-next { right: 0.8rem; }

.myhome-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  z-index: 6;
  display: flex;
  gap: 0.55rem;
  transform: translateX(-50%);
}

.myhome-slider-dot {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0;
  padding: 0;
  background: rgba(255,255,255,0.50);
  border: 0.1rem solid rgba(12,35,64,0.22);
  border-radius: 50%;
  cursor: pointer;
}

.myhome-slider-dot.is-active {
  background: rgba(255,255,255,0.95);
  box-shadow: 0 0 0 0.12rem rgba(12,35,64,0.28);
}

/* ≤900px｜Feature：Study → Calendar → Slider */
@media screen and (max-width: 900px) {
  .myhome-feature-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "study"
      "calendar"
      "slider";
    gap: 1rem;
  }

  .myhome-feature-slider {
    display: block;
  }

  .myhome-slider {
    width: min(100%, 72rem);
    height: auto;
    margin: 0 auto;
    aspect-ratio: 16 / 7;
  }

  .myhome-slide-copy {
    left: 38%;
    right: 1.4rem;
    bottom: 1.55rem;
    text-align: right;
  }
}

/* ≤600px｜Mobile sizing */
@media screen and (max-width: 600px) {
  .myhome-feature-grid {
    gap: 0.85rem;
  }

  .myhome-slider {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 0.7rem;
  }

  .myhome-slide-copy {
    left: 28%;
    right: 1.1rem;
    bottom: 1.35rem;
    text-align: right;
  }

  .myhome-slide-kicker {
    font-size: 1.1rem;
  }

  .myhome-slide-title {
    font-size: 1.9rem;
  }

  .myhome-slide-desc {
    font-size: 1.25rem;
  }

  .myhome-slider-btn {
    width: 3.2rem;
    height: 3.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .myhome-slide,
  .myhome-slide-image {
    transition: none;
  }
}

/* =========================================================
   Home Calendar integration v2.2-test
   Reminder-layer architecture:
   CSV event → milestone nodes → date grouping → date cards.
   ========================================================= */

.myhome-feature-calendar {
  --mycal-navy: #0C2340;
  --mycal-blue: #205597;
  --mycal-gold: #B08F5A;
  --mycal-ink: #203247;
  --mycal-muted: #667583;
  --mycal-border: rgba(12,35,64,0.16);
  --mycal-current: #EEF4F9;
  min-width: 0;
  width: 100%;
  color: var(--mycal-ink);
  font-family: "Noto Sans TC", "Noto Sans", "Microsoft JhengHei", "PingFang TC", sans-serif;
}

.myhome-feature-calendar,
.myhome-feature-calendar * {
  box-sizing: border-box;
}

.myhome-calendar-head {
  margin: 0 0 0.58rem;
}

.myhome-calendar-title {
  margin: 0 !important;
  color: var(--mycal-navy);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

/* 卡片列與左右瀏覽按鈕共用同一垂直空間；按鈕不另佔一列。 */
.myhome-calendar-stage {
  position: relative;
  min-width: 0;
}

.myhome-calendar-viewport {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: auto;
  scrollbar-color: rgba(12,35,64,0.34) rgba(12,35,64,0.05);
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.myhome-calendar-viewport::-webkit-scrollbar {
  height: 0.72rem;
}

.myhome-calendar-viewport::-webkit-scrollbar-thumb {
  background: rgba(12,35,64,0.28);
  border-radius: 999px;
}

.myhome-calendar-viewport::-webkit-scrollbar-track {
  background: rgba(12,35,64,0.05);
}

.myhome-calendar-track {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 0.72rem;
  width: 100%;
  min-width: 0;
  padding: 0.08rem 0.16rem 0.35rem;
}

/* 一張卡 = 一個日期；同一列卡片等高，由最高內容卡決定共同高度。 */
.myhome-calendar-card {
  position: relative;
  display: flex;
  flex: 0 0 calc((100% - 2.88rem) / 5);
  flex-direction: column;
  min-width: 0;
  padding: 0.72rem 0.78rem 0.76rem;
  background: #FFFFFF;
  border: 1px solid var(--mycal-border);
  border-top: 0.22rem solid rgba(12,35,64,0.23);
  border-radius: 0.34rem;
  scroll-snap-align: start;
}

.myhome-calendar-card.is-past {
  opacity: 0.50;
  background: #F7F8F9;
  border-top-color: rgba(12,35,64,0.12);
}

.myhome-calendar-card.is-current {
  opacity: 1;
  background: var(--mycal-current);
  border-color: rgba(32,85,151,0.34);
  border-top-color: var(--mycal-blue);
}

/* 日期圖示：月份置左、日期數字放大、星期只保留括號。 */
.myhome-calendar-date {
  display: flex;
  align-items: flex-end;
  gap: 0.34rem;
  width: fit-content;
  margin: 0 0 0.48rem;
  color: var(--mycal-navy);
  line-height: 1;
  white-space: nowrap;
}

.myhome-calendar-month {
  flex: 0 0 auto;
  padding-bottom: 0.22rem;
  color: var(--mycal-blue);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
}

.myhome-calendar-date-main {
  flex: 0 0 auto;
  font-family: "Noto Serif TC", "Noto Serif", serif;
  font-size: 2.95rem;
  font-weight: 700;
  line-height: 0.86;
}

.myhome-calendar-weekday {
  flex: 0 0 auto;
  padding-bottom: 0.18rem;
  color: var(--mycal-muted);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

/* 一般模式：1–5 件，一事件一列。 */
.myhome-calendar-events {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  min-width: 0;
}

.myhome-calendar-event-row {
  display: flex;
  align-items: flex-start;
  gap: 0.42rem;
  min-width: 0;
  padding: 0.34rem 0;
}

.myhome-calendar-event-row:first-child {
  padding-top: 0;
}

.myhome-calendar-badge {
  flex: 0 0 auto;
  max-width: 45%;
  margin: 0.02rem 0 0;
  padding: 0.15rem 0.42rem;
  overflow: hidden;
  color: var(--mycal-navy);
  background: rgba(176,143,90,0.13);
  border: 1px solid rgba(176,143,90,0.28);
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.myhome-calendar-card.is-current .myhome-calendar-badge {
  color: #FFFFFF;
  background: var(--mycal-blue);
  border-color: var(--mycal-blue);
}

.myhome-calendar-event-copy {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--mycal-ink);
  font-size: 1.24rem;
  font-weight: 600;
  line-height: 1.36;
}

.myhome-calendar-event-link {
  color: var(--mycal-navy);
  font-weight: 700;
  text-decoration: none;
}

.myhome-calendar-event-link:hover,
.myhome-calendar-event-link:focus-visible {
  color: var(--mycal-blue);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  outline: none;
}

.myhome-calendar-link-icon {
  display: inline-block;
  margin-left: 0.18em;
  font-size: 0.88em;
  font-weight: 400;
  vertical-align: 0.02em;
}

.myhome-calendar-event-tail {
  display: inline;
  margin-left: 0.32em;
  color: var(--mycal-muted);
  font-size: 0.94em;
  font-weight: 700;
  white-space: nowrap;
}

.myhome-calendar-event-tail.is-deadline {
  color: var(--mycal-blue);
}

/* Dense mode：6 件以上，依 audience 合併成群組列。 */
.myhome-calendar-card.is-dense .myhome-calendar-event-row {
  gap: 0.46rem;
  padding: 0.30rem 0;
}

.myhome-calendar-card.is-dense .myhome-calendar-badge {
  max-width: 38%;
  font-size: 0.96rem;
}

.myhome-calendar-card.is-dense .myhome-calendar-event-copy {
  font-size: 1.14rem;
  line-height: 1.34;
}

.myhome-calendar-dense-item {
  display: inline;
}

.myhome-calendar-event-sep {
  display: inline-block;
  margin: 0 0.34em;
  color: rgba(12,35,64,0.52);
  font-weight: 700;
}

/* 左右箭頭 overlay 在卡片列兩端。 */
.myhome-calendar-btn {
  position: absolute;
  top: 50%;
  z-index: 7;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  color: #FFFFFF;
  background: rgba(12,35,64,0.58);
  border: 1px solid rgba(255,255,255,0.56);
  border-radius: 50%;
  box-shadow: 0 0.15rem 0.45rem rgba(12,35,64,0.18);
  font-size: 1.25rem;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.myhome-calendar-prev { left: 0.22rem; }
.myhome-calendar-next { right: 0.22rem; }

.myhome-calendar-btn:hover,
.myhome-calendar-btn:focus-visible {
  background: var(--mycal-navy);
  outline: 0.14rem solid rgba(255,255,255,0.80);
  outline-offset: 0.08rem;
}

.myhome-calendar-btn:disabled {
  opacity: 0;
  pointer-events: none;
}

.myhome-calendar-message {
  flex: 0 0 100%;
  margin: 0;
  padding: 0.85rem 1rem;
  color: var(--mycal-muted);
  background: #F6F8FA;
  border: 1px solid var(--mycal-border);
}

/* Normal Scene (>900px)：Calendar 橫跨 Study + Slider 下方整列。 */
@media screen and (min-width: 901px) {
  .myhome-feature-calendar {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0.08rem;
  }
}

/* Compact RWD ≤900px：維持同一日期卡架構，增加可滑動卡寬。 */
@media screen and (max-width: 900px) {
  .myhome-calendar-track { gap: 0.68rem; }
  .myhome-calendar-card { flex-basis: calc((100% - 1.36rem) / 2.45); }
}

/* Mobile sizing within the same Compact family. */
@media screen and (max-width: 600px) {
  .myhome-calendar-title { font-size: 1.8rem; }
  .myhome-calendar-track { gap: 0.62rem; }
  .myhome-calendar-card {
    flex-basis: 86%;
    padding: 0.68rem 0.72rem 0.72rem;
  }
  .myhome-calendar-month { font-size: 0.88rem; }
  .myhome-calendar-date-main { font-size: 2.65rem; }
  .myhome-calendar-weekday { font-size: 0.94rem; }
  .myhome-calendar-event-copy { font-size: 1.18rem; }
  .myhome-calendar-card.is-dense .myhome-calendar-event-copy { font-size: 1.08rem; }
  .myhome-calendar-btn {
    width: 2.7rem;
    height: 2.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .myhome-calendar-viewport {
    scroll-behavior: auto !important;
  }
}
