/* =========================================================
   THE RE:FINE PROGRAM CAROUSEL
   Visible carousel matching the Naver ItemList data in index.html.
   ========================================================= */
.refined .r-programs{
  padding:118px 0 126px;
  overflow:hidden;
  background:#07122c;
  color:#fff;
}
.refined .r-programs .r-section-label{
  margin-bottom:42px;
  color:rgba(255,255,255,.68);
}
.refined .r-program-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
  margin-bottom:38px;
}
.refined .r-program-head h2{
  margin:0;
  font-size:clamp(34px,3.8vw,56px);
  line-height:1.28;
  letter-spacing:-.045em;
  color:#fff;
  word-break:keep-all;
}
.refined .r-program-head p{
  max-width:470px;
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:14px;
  line-height:1.85;
  word-break:keep-all;
}
.refined .r-program-carousel{
  position:relative;
}
.refined .r-program-track{
  display:flex;
  gap:22px;
  overflow-x:auto;
  padding:0 0 6px;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.refined .r-program-track::-webkit-scrollbar{display:none}
.refined .r-program-card{
  flex:0 0 clamp(300px,31vw,414px);
  min-width:0;
  scroll-snap-align:start;
  color:#fff;
  text-decoration:none;
}
.refined .r-program-media{
  display:block;
  aspect-ratio:724/1024;
  overflow:hidden;
  background:#061333;
  border:1px solid rgba(255,255,255,.11);
}
.refined .r-program-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transition:transform .55s ease,filter .35s ease;
}
.refined .r-program-card:hover .r-program-media img{
  transform:scale(1.018);
  filter:brightness(1.04);
}
.refined .r-program-copy{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:18px 2px 0;
}
.refined .r-program-copy span{
  color:rgba(255,255,255,.5);
  font-size:10px;
  letter-spacing:.12em;
}
.refined .r-program-copy h3{
  margin:0;
  color:#fff;
  font-size:18px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.refined .r-program-copy b{
  flex:0 0 auto;
  color:rgba(255,255,255,.75);
  font-size:18px;
  font-weight:400;
}
.refined .r-program-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:32px;
}
.refined .r-program-controls [data-program-count]{
  min-width:70px;
  margin-right:8px;
  color:rgba(255,255,255,.62);
  font-size:10px;
  letter-spacing:.12em;
  text-align:center;
}
.refined .r-program-controls button{
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:20px;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.refined .r-program-controls button:hover,
.refined .r-program-controls button:focus-visible{
  background:#fff;
  border-color:#fff;
  color:#07122c;
  outline:none;
}
@media(max-width:900px){
  .refined .r-programs{padding:92px 0 98px}
  .refined .r-program-head{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:32px}
  .refined .r-program-track{gap:16px}
  .refined .r-program-card{flex-basis:min(72vw,390px)}
}
@media(max-width:650px){
  .refined .r-programs{padding:72px 0 80px}
  .refined .r-programs .r-section-label{margin-bottom:30px}
  .refined .r-program-head h2{font-size:32px}
  .refined .r-program-head p{font-size:12px;line-height:1.8}
  .refined .r-program-card{flex-basis:82vw}
  .refined .r-program-copy{padding-top:15px}
  .refined .r-program-copy h3{font-size:16px}
  .refined .r-program-controls{margin-top:24px}
  .refined .r-program-controls button{width:44px;height:44px}
}

/* =========================================================
   EXISTING HOME JOURNAL CAROUSEL (moved from inline CSS)
   ========================================================= */
/* Homepage journal carousel only. Existing site CSS is untouched. */
.refined .r-journal-home{padding:130px 0 138px;background:#f7f9ff;color:var(--r-navy)}
.refined .r-journal-home .r-section-label{margin-bottom:58px}
.refined .r-journal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;margin-bottom:44px}
.refined .r-journal-head h2{font-size:clamp(32px,3.2vw,48px);margin:0;line-height:1.35;word-break:keep-all}
.refined .r-journal-head .r-link{flex:0 0 auto}
.refined .r-journal-carousel{position:relative}
.refined .r-journal-carousel.owl-carousel:not(.owl-loaded){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.refined .r-journal-card{display:flex;flex-direction:column;min-width:0;height:100%;color:var(--r-navy);background:#fff;border:1px solid rgba(16,28,53,.14);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;overflow:hidden}
.refined .r-journal-card:hover{transform:translateY(-5px);border-color:rgba(36,70,200,.42);box-shadow:0 18px 44px rgba(16,28,53,.08)}
.refined .r-journal-card-media{display:block;overflow:hidden;background:#eaf0fc;aspect-ratio:4/3}
.refined .r-journal-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.refined .r-journal-card:hover .r-journal-card-media img{transform:scale(1.035)}
.refined .r-journal-card-body{display:flex;flex-direction:column;flex:1;padding:25px 24px 24px}
.refined .r-journal-card-kicker{display:flex;justify-content:space-between;gap:12px;color:var(--r-blue);font-size:9px;font-weight:600;letter-spacing:.13em;margin-bottom:15px}
.refined .r-journal-card h3{font-size:21px;line-height:1.48;letter-spacing:-.045em;font-weight:520;margin:0;word-break:keep-all}
.refined .r-journal-card p{font-size:13px;line-height:1.82;margin:15px 0 23px;word-break:keep-all}
.refined .r-journal-card-more{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid rgba(16,28,53,.13);font-size:10px;letter-spacing:.08em}
.refined .r-journal-card-more b{font-size:18px;font-weight:400}
.refined .r-journal-carousel .owl-stage{display:flex}
.refined .r-journal-carousel .owl-item{display:flex;height:auto}
.refined .r-journal-carousel .owl-item>.r-journal-card{width:100%}
.refined .r-journal-carousel .owl-nav{display:flex;justify-content:flex-end;gap:8px;margin:30px 0 0}
.refined .r-journal-carousel .owl-nav button.owl-prev,.refined .r-journal-carousel .owl-nav button.owl-next{width:48px;height:48px;border:1px solid #a7abb4!important;border-radius:50%;background:transparent!important;color:var(--r-navy)!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:21px!important;transition:background .2s ease,color .2s ease,border-color .2s ease}
.refined .r-journal-carousel .owl-nav button:hover{background:var(--r-navy)!important;color:#fff!important;border-color:var(--r-navy)!important}
.refined .r-journal-carousel .owl-dots{position:absolute;left:0;bottom:15px;display:flex;align-items:center;gap:8px;margin:0!important}
.refined .r-journal-carousel .owl-dot span{width:24px!important;height:2px!important;margin:0!important;border-radius:0!important;background:#c6ccd9!important;transition:width .25s ease,background .25s ease}
.refined .r-journal-carousel .owl-dot.active span{width:48px!important;background:var(--r-blue)!important}
.refined .r-journal-fallback-note{display:none}
@media(max-width:1000px){.refined .r-journal-home{padding:105px 0 112px}.refined .r-journal-carousel.owl-carousel:not(.owl-loaded){grid-template-columns:repeat(2,minmax(0,1fr))}.refined .r-journal-head{margin-bottom:36px}}
@media(max-width:650px){.refined .r-journal-home{padding:72px 0 82px}.refined .r-journal-home .r-section-label{margin-bottom:36px}.refined .r-journal-head{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:28px}.refined .r-journal-head h2{font-size:31px}.refined .r-journal-head .r-link{font-size:11px}.refined .r-journal-carousel.owl-carousel:not(.owl-loaded){display:grid;grid-template-columns:1fr;gap:14px}.refined .r-journal-card-body{padding:21px 19px 20px}.refined .r-journal-card h3{font-size:19px}.refined .r-journal-card p{font-size:12px}.refined .r-journal-carousel .owl-nav{margin-top:24px}.refined .r-journal-carousel .owl-nav button.owl-prev,.refined .r-journal-carousel .owl-nav button.owl-next{width:44px;height:44px}.refined .r-journal-carousel .owl-dots{bottom:13px}.refined .r-journal-carousel .owl-dot span{width:18px!important}.refined .r-journal-carousel .owl-dot.active span{width:34px!important}}
