/* ============================================================
   APTE 2026 — clean static site design system
   Palette: navy #13306e · blue #1e6fd9 · light #eef4fc · text #1f2733
   ============================================================ */
:root{
  --navy:#13306e; --blue:#1e6fd9; --blue2:#2f86e6; --ink:#1f2733;
  --muted:#54607a; --line:#dde5f0; --lightblue:#eef4fc; --chipbd:#d8e6f7;
  --wrap:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Malgun Gothic","Segoe UI",sans-serif;
  color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; background:#fff;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--blue); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px;}

/* ---------- Header ---------- */
.site-header{position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--line);}
.site-header .bar{display:flex; align-items:center; gap:18px; padding:12px 20px; max-width:var(--wrap); margin:0 auto;}
.site-header .brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.site-header .brand img{height:46px; width:auto;}
.site-header .brand .bt{font-weight:800; font-size:22px; color:var(--navy); line-height:1;}
.site-header .brand .bt em{color:var(--blue); font-style:normal;}
.site-header .brand .bs{font-size:11.5px; color:var(--muted); line-height:1.35; max-width:22em;}
.site-header .spacer{flex:1;}
.site-header .partners{display:flex; align-items:center; gap:14px;}
.site-header .partners img{height:30px;}
.site-nav{border-top:1px solid var(--line); background:#fff;}
.site-nav ul{display:flex; flex-wrap:wrap; justify-content:center; gap:2px; margin:0; padding:6px 10px; list-style:none; max-width:var(--wrap); margin:0 auto;}
.site-nav a{display:inline-block; padding:9px 15px; font-weight:700; font-size:14.5px; color:var(--navy); border-radius:8px;}
.site-nav a:hover{background:var(--lightblue); text-decoration:none;}
.site-nav a.active{background:var(--blue); color:#fff;}

/* ---------- Page banner ---------- */
.page-banner{position:relative; height:clamp(180px,26vw,300px); overflow:hidden; background:var(--navy);}
.page-banner img{width:100%; height:100%; object-fit:cover; opacity:.9;}
.page-banner .cap{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,rgba(19,48,110,.25),rgba(19,48,110,.55)); color:#fff; text-align:center;}
.page-banner .cap h1{font-size:clamp(26px,4vw,40px); font-weight:800; margin:0; text-shadow:0 2px 12px rgba(0,0,0,.3);}

/* ---------- Sub-nav (About / Program) ---------- */
.subnav-wrap{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40;}
.subnav{display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; justify-content:center;}
.subnav .sub{font-weight:700; font-size:13.5px; color:#1b3f8f; background:var(--lightblue);
  border:1px solid var(--chipbd); padding:8px 14px; border-radius:999px;}
.subnav .sub:hover{background:var(--chipbd); text-decoration:none;}
.subnav .sub.active{background:var(--blue); border-color:var(--blue); color:#fff;}

/* people cards (text) */
.nm2{font-weight:800; color:var(--navy); font-size:15.5px; line-height:1.25;}
.af2{color:var(--muted); font-size:13px; margin-top:4px; line-height:1.4;}
.rl2{margin-top:8px; font-size:12.5px; color:#1b3f8f; font-weight:700;}
.rl2.soft{color:var(--muted); font-weight:600;}
.card.feat{background:var(--lightblue); border-color:var(--chipbd);}

/* people grid with photos */
.pgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:0 0 14px;}
.pcard{display:flex; gap:16px; align-items:center; background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:0 2px 8px rgba(19,48,110,.06); padding:16px; text-decoration:none;}
a.pcard:hover{border-color:var(--chipbd); box-shadow:0 6px 18px rgba(19,48,110,.12); text-decoration:none; transform:translateY(-1px); transition:.15s;}
.pcard .pv{width:96px; height:96px; border-radius:14px; object-fit:cover; object-position:top center; flex:0 0 auto; border:1px solid var(--line);}
.pcard .pv.ph{display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2f86e6,#1e6fd9); color:#fff; font-weight:800; font-size:26px;}
.pcard .pmeta{min-width:0;}
.pcard .pmeta .nm2{font-size:16.5px;}

/* ---------- Section / headings ---------- */
main{display:block;}
.section{padding:44px 0;}
.section.alt{background:var(--lightblue);}
.h-title{font-size:clamp(24px,3vw,32px); color:var(--navy); font-weight:800; margin:0 0 8px; line-height:1.15;}
.h-title.center{text-align:center;}
.h-title::after{content:""; display:block; width:64px; height:4px; border-radius:3px;
  background:linear-gradient(90deg,var(--blue),var(--blue2)); margin:14px 0 0;}
.h-title.center::after{margin-left:auto; margin-right:auto;}
.h-sub{color:var(--muted); font-size:16px; margin:0 0 26px; max-width:820px;}
.h-sub.center{text-align:center; margin-left:auto; margin-right:auto;}
.h2{font-size:21px; color:#1b3f8f; font-weight:800; margin:34px 0 14px; display:flex; align-items:center; gap:10px;}
.h2::before{content:""; width:6px; height:22px; border-radius:3px; background:var(--blue); display:inline-block; flex:0 0 auto;}

/* ---------- Cards / grids ---------- */
.card{background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 8px rgba(19,48,110,.06); padding:20px 22px;}
.grid{display:grid; gap:18px;}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.grid.c4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}

/* people cards */
.person{display:flex; gap:16px; align-items:flex-start;}
.person img{width:96px; height:96px; border-radius:12px; object-fit:cover; flex:0 0 auto; border:1px solid var(--line);}
.person .nm{font-weight:800; color:var(--navy); font-size:16px;}
.person .af{color:var(--muted); font-size:13.5px; margin-top:3px;}
.person .rl{display:inline-block; margin-top:6px; font-size:11.5px; font-weight:800; color:#8a5a00; background:#fff4e5; border:1px solid #f3d9a8; padding:2px 8px; border-radius:999px;}

/* stat cards */
.stats{display:flex; flex-wrap:wrap; gap:16px; justify-content:center;}
.stat{flex:1 1 150px; max-width:220px; text-align:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; box-shadow:0 2px 8px rgba(19,48,110,.06);}
.stat .n{font-size:27px; font-weight:800; color:var(--blue); line-height:1;}
.stat .l{color:var(--muted); font-size:14px; margin-top:6px;}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:15px; padding:12px 22px; border-radius:10px; text-decoration:none; cursor:pointer; border:0;}
.btn.primary{background:var(--blue); color:#fff;}
.btn.primary:hover{background:#1b5fbf; text-decoration:none;}
.btn.ghost{background:#fff; color:var(--navy); border:1.5px solid var(--chipbd);}
.btn.ghost:hover{background:var(--lightblue); text-decoration:none;}
.btn.on-dark{background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.6);}
.btn.on-dark:hover{background:rgba(255,255,255,.22); text-decoration:none;}
.btn.white{background:#fff; color:var(--navy);}
.btn.white:hover{background:#eaf2fd; text-decoration:none;}
.btnrow{display:flex; flex-wrap:wrap; gap:12px;}
.btnrow.center{justify-content:center;}

/* ---------- Home hero ---------- */
.hero{position:relative; min-height:clamp(340px,52vw,560px); display:flex; align-items:center; color:#fff; overflow:hidden;}
.hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero .veil{position:absolute; inset:0; background:linear-gradient(110deg,rgba(11,26,60,.82),rgba(19,48,110,.45)); z-index:1;}
.hero .inner{position:relative; z-index:2; padding:40px 20px; max-width:var(--wrap); margin:0 auto; width:100%;}
.hero .eyebrow{font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#bcd6f7; margin:0 0 12px;}
.hero h1{font-size:clamp(28px,5vw,46px); font-weight:800; margin:0 0 14px; line-height:1.12; max-width:14em;}
.hero p.lead{font-size:clamp(15px,2vw,18px); color:#eaf2fd; max-width:40em; margin:0 0 24px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy); color:#cdd8ef; font-size:14px; padding:34px 0;}
.site-footer .wrap{max-width:var(--wrap);}
.site-footer h4{color:#fff; font-size:16px; font-weight:800; margin:0 0 8px;}
.site-footer a{color:#9ec2f5;}
.site-footer .muted{color:#8ea3cc; font-size:12.5px; margin-top:14px; line-height:1.7;}

/* list / prose */
.prose p{margin:0 0 14px;}
.prose ul{margin:0 0 14px; padding-left:20px;}
.prose li{margin:4px 0;}
.notice{background:var(--lightblue); border:1px solid var(--chipbd); border-left:4px solid var(--blue); border-radius:10px; padding:14px 16px; margin:0 0 18px;}
.notice.warn{background:#fff7e6; border-color:#f3d9a8; border-left-color:#e0a72e; color:#5c4405;}

/* table */
.tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 8px rgba(19,48,110,.06); background:#fff;}
table.t{width:100%; border-collapse:collapse; font-size:15px; min-width:520px;}
table.t th,table.t td{padding:11px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;}
table.t thead th{background:var(--chipbd); color:var(--navy); font-weight:700; white-space:nowrap;}
table.t tbody tr:nth-child(even){background:#f5f9fd;}

@media(max-width:640px){
  .site-header .partners{display:none;}
  .person img{width:76px; height:76px;}
}

/* ============================================================
   Reusable framework components (home + about + shared)
   ============================================================ */
img{max-width:100%;height:auto;}   /* global no-spillage */

/* thank-you banner */
.card.thankyou{text-align:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border:0;}
.card.thankyou .eyebrow2{color:#bcd6f7;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700;margin:0 0 10px;}
.card.thankyou h2{color:#fff;font-size:clamp(22px,3.4vw,32px);font-weight:800;margin:0 0 12px;}
.card.thankyou p{color:#eaf2fd;max-width:44em;margin:0 auto 20px;}

/* group photo */
.group-photo{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 10px rgba(19,48,110,.08);}
.group-photo img{display:block;width:100%;}
.group-photo figcaption{padding:10px 16px;text-align:center;font-size:14px;font-weight:700;color:var(--navy);background:var(--lightblue);border-top:1px solid var(--line);}

/* keynote cards with photos */
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;}
.kcard{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 8px rgba(19,48,110,.06);overflow:hidden;text-align:center;padding-bottom:16px;}
.kcard .kphoto{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#eef1f6;}
.kcard .knm{font-weight:800;color:var(--navy);font-size:15.5px;margin:12px 14px 4px;}
.kcard .kaf{color:var(--muted);font-size:12.5px;line-height:1.4;margin:0 14px;}

/* journals */
.jgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;justify-items:center;}
.jcard{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 8px rgba(19,48,110,.06);padding:16px;text-align:center;width:100%;}
.jcard img{max-height:200px;width:auto;margin:0 auto 10px;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.12);}
.jcard .jname{color:var(--muted);font-size:13px;}

/* hosted-by */
.hosted{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:center;}
.hosted img{height:56px;width:auto;}

/* CTA */
.cta{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center;padding:52px 20px;}
.cta h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;margin:0 0 10px;}
.cta p{color:#eaf2fd;max-width:40em;margin:0 auto 22px;}

/* greeting cards */
.gcard{margin-bottom:20px;display:flex;gap:28px;align-items:flex-start;}
.gcard .gside{flex:0 0 170px;text-align:center;}
.gcard .gphoto{width:150px;height:150px;border-radius:50%;object-fit:cover;object-position:top center;border:3px solid #eef2f8;box-shadow:0 4px 14px rgba(16,42,80,.12);margin:0 auto 12px;display:block;}
.gcard .gside .nm2{font-size:16px;}
.gcard .gside .img-needed{width:150px;height:150px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:8px;}
.gcard .gtext{flex:1;margin-top:0;}
.gcard .gtext p:first-child{margin-top:0;}
@media(max-width:640px){.gcard{flex-direction:column;align-items:center;text-align:center;gap:14px;}.gcard .gtext{text-align:left;}}

/* venue tabs */
.vtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px;border-bottom:2px solid #e6ecf5;}
.vtab{appearance:none;background:transparent;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:12px 22px;font-family:inherit;font-weight:700;font-size:15px;color:#5a6779;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-radius:10px 10px 0 0;transition:color .15s,background .15s,border-color .15s;}
.vtab:hover{color:var(--navy);background:#f2f7fd;}
.vtab.active{color:var(--navy);border-bottom-color:var(--blue);background:#f2f7fd;}
.vtab-ico{font-size:17px;line-height:1;}
.vtab-panel{display:none;}
.vtab-panel.active{display:block;animation:vfade .25s ease;}
@keyframes vfade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
#vtab-shuttle .apte-shuttle,#vtab-bus .apte-bus{margin-top:0 !important;}
@media(max-width:560px){.vtab{padding:10px 14px;font-size:13.5px;}.vtab-ico{font-size:15px;}}

/* photos gallery */
.pgal-h2{font-size:21px;color:var(--navy);font-weight:800;margin:34px 0 14px;display:flex;align-items:center;gap:10px;}
.pgal-h2::before{content:"";width:6px;height:22px;border-radius:3px;background:var(--blue);display:inline-block;flex:0 0 auto;}
.pgal-total{font-size:13px;font-weight:600;color:var(--muted);}
/* photo gallery grid (click thumbnail -> fullscreen) */
.pgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0 0 6px;}
.pgal-item{position:relative;margin:0;padding:0;border:0;background:#eef1f6;border-radius:13px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;box-shadow:0 2px 8px rgba(19,48,110,.06);display:block;}
.pgal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.pgal-item:hover img{transform:scale(1.06);}
.pgal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,48,110,0) 62%,rgba(19,48,110,.20));opacity:0;transition:opacity .2s;}
.pgal-item:hover::after{opacity:1;}
@media(max-width:560px){.pgal{grid-template-columns:repeat(2,1fr);gap:8px;}}
/* photo carousel */
.pcar{margin:0 0 14px;}
.pcar-stage{position:relative;background:#0d1b33;border-radius:16px;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(19,48,110,.14);}
.pcar-main{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in;}
.pcar-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#13306e;font-size:28px;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.28);transition:background .15s,transform .15s;}
.pcar-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.pcar-prev{left:14px;}
.pcar-next{right:14px;}
.pcar-count{position:absolute;bottom:12px;right:14px;background:rgba(13,27,51,.72);color:#fff;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;font-variant-numeric:tabular-nums;}
.pcar-hint{position:absolute;bottom:12px;left:14px;background:rgba(13,27,51,.55);color:#fff;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:999px;opacity:0;transition:opacity .2s;pointer-events:none;}
.pcar-stage:hover .pcar-hint{opacity:1;}
.pcar-thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 4px;scroll-behavior:smooth;scrollbar-width:thin;}
.pcar-thumb{flex:0 0 auto;width:104px;height:68px;border-radius:9px;overflow:hidden;border:2px solid transparent;background:#eef1f6;padding:0;cursor:pointer;opacity:.6;transition:opacity .15s,border-color .15s;}
.pcar-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pcar-thumb:hover{opacity:1;}
.pcar-thumb.active{opacity:1;border-color:var(--blue);}
/* fullscreen lightbox */
.pcar-lb{position:fixed;inset:0;z-index:9999;background:rgba(8,15,30,.95);display:none;align-items:center;justify-content:center;}
.pcar-lb.on{display:flex;}
.pcar-lb-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 12px 44px rgba(0,0,0,.5);}
.pcar-lb-x{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:26px;cursor:pointer;}
.pcar-lb-prev,.pcar-lb-next{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:32px;font-weight:800;cursor:pointer;}
.pcar-lb-prev{left:20px;}
.pcar-lb-next{right:20px;}
.pcar-lb-x:hover,.pcar-lb-prev:hover,.pcar-lb-next:hover{background:rgba(255,255,255,.32);}
.pcar-lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:700;background:rgba(0,0,0,.42);padding:5px 15px;border-radius:999px;}
@media(max-width:560px){.pcar-arrow{width:40px;height:40px;font-size:23px;}.pcar-thumb{width:84px;height:56px;}.pcar-lb-prev,.pcar-lb-next{width:44px;height:44px;font-size:26px;}}

/* history host-city map */
.apte-histmap{margin:8px 0 26px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#f7fafe,#eaf1fa);padding:12px;box-shadow:0 2px 10px rgba(19,48,110,.06);}
.apte-histmap .apte-map{width:100%;height:auto;display:block;}
.apte-map .land{fill:#d7e3f3;stroke:#c0d2e9;stroke-width:1;}
.apte-map .leader,.apte-map .jeju-connector{stroke:#9db2cd;stroke-width:1.4;}
.apte-map .pin{fill:#1e6fd9;stroke:#fff;stroke-width:2;}
.apte-map .pin.current{fill:#e4322b;stroke:#fff;stroke-width:2.5;}
.apte-map .jeju-glow{fill:#e4322b;opacity:.18;}
.apte-map .pulse{fill:#e4322b;opacity:.5;}
.apte-map .jeju-star{fill:#fff;}
.apte-map .lb-name{fill:#13306e;font-weight:800;font-size:15.5px;}
.apte-map .lb-eds{fill:#5a6779;font-weight:600;font-size:12.5px;}
.apte-map .jeju-callout rect{fill:#e4322b;}
.apte-map .jeju-callout text{fill:#fff;font-weight:800;font-size:18px;}

/* committee sidebar layout */
html{scroll-behavior:smooth;}
.cmt-layout{display:grid;grid-template-columns:212px 1fr;gap:30px;align-items:start;}
.cmt-side{position:sticky;top:78px;align-self:start;}
.cmt-side-inner{border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px;box-shadow:0 2px 10px rgba(19,48,110,.06);}
.cmt-side-title{font-weight:800;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.07em;padding:8px 12px 6px;}
.cmt-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:9px;color:#5a6779;font-weight:600;font-size:13.5px;text-decoration:none;border-left:3px solid transparent;line-height:1.25;}
.cmt-link b{font-size:11px;font-weight:700;color:#98a2b3;background:#f1f4f9;border-radius:999px;padding:1px 8px;flex:0 0 auto;}
.cmt-link:hover{background:#f2f7fd;color:var(--navy);}
.cmt-link.active{background:#eaf2fd;color:var(--navy);border-left-color:var(--blue);}
.cmt-link.active b{color:var(--blue);background:#dcebfb;}
.cmt-group{scroll-margin-top:86px;}
.cmt-group+.cmt-group{margin-top:12px;}
.cmt-main .h2:first-child{margin-top:4px;}
@media(max-width:820px){
  .cmt-layout{grid-template-columns:1fr;gap:12px;}
  .cmt-side{position:sticky;top:0;z-index:20;margin:0 -4px;}
  .cmt-side-inner{display:flex;gap:6px;overflow-x:auto;padding:8px;scrollbar-width:none;}
  .cmt-side-inner::-webkit-scrollbar{display:none;}
  .cmt-side-title{display:none;}
  .cmt-link{flex:0 0 auto;border-left:0;border-bottom:3px solid transparent;white-space:nowrap;padding:8px 12px;}
  .cmt-link.active{border-left:0;border-bottom-color:var(--blue);}
  .cmt-link b{display:none;}
}

/* About Jeju (venue tab) */
.apte-jeju .apte-jeju-h1{font-size:clamp(24px,3vw,32px);color:var(--navy);font-weight:800;margin:4px 0 14px;}
.apte-jeju .apte-jeju-h2{font-size:21px;color:var(--navy);font-weight:800;margin:30px 0 14px;display:flex;align-items:center;gap:10px;}
.apte-jeju .apte-jeju-h2::before{content:"";width:6px;height:22px;border-radius:3px;background:var(--blue);display:inline-block;flex:0 0 auto;}
.apte-jeju .apte-jeju-lead{font-size:16px;color:#3a4453;line-height:1.7;max-width:840px;margin:0 0 20px;}
.apte-jeju-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.apte-jeju-gallery.apte-jeju-hotel{grid-template-columns:repeat(2,1fr);}
.apte-jeju-gallery img{width:100%;height:210px;object-fit:cover;border-radius:14px;box-shadow:0 2px 10px rgba(19,48,110,.1);}
.apte-jeju-gallery.apte-jeju-hotel img{height:280px;}
.apte-jeju-credit{color:var(--muted);font-size:12.5px;margin:14px 0 0;text-align:right;font-style:italic;}
.apte-jeju-credit a{color:var(--blue);text-decoration:none;font-weight:600;}
.apte-jeju-credit a:hover{text-decoration:underline;}
.apte-jeju-link{display:inline-block;color:var(--blue);font-weight:700;text-decoration:none;white-space:nowrap;}
.apte-jeju-link:hover{text-decoration:underline;}
@media(max-width:820px){.apte-jeju-gallery{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.apte-jeju-gallery,.apte-jeju-gallery.apte-jeju-hotel{grid-template-columns:1fr;}.apte-jeju-gallery img{height:220px;}}

/* registration closed pill */
.closed-pill{font-size:12px;font-weight:800;color:#6b7689;background:#f1f3f7;border:1px solid #d7dde7;border-radius:999px;padding:3px 9px;vertical-align:middle;}

/* IMAGE-NEEDED placeholder */
.img-needed{display:flex;align-items:center;justify-content:center;text-align:center;min-height:150px;padding:20px;
  background:repeating-linear-gradient(45deg,#f6f8fb,#f6f8fb 12px,#eef2f7 12px,#eef2f7 24px);
  border:2px dashed #c3cede;border-radius:10px;color:#8a94a8;font-weight:700;font-size:13px;}

/* page banner: ensure cover + centered (no left-skew) */
.page-banner img{width:100%;height:100%;object-fit:cover;object-position:center;}

/* header Submit Paper button (matches original) */
.site-header .hdr-submit{flex:0 0 auto;background:var(--blue);color:#fff;font-weight:800;font-size:14px;
  padding:10px 18px;border-radius:10px;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px rgba(30,111,217,.28);}
.site-header .hdr-submit:hover{background:#1b5fbf;text-decoration:none;}
@media(max-width:820px){.site-header .hdr-submit{display:none;}}
