/* ============================================================
   Korea page — ornate design over the shared frame/background.
   Loaded AFTER home.css, which provides .frame/.deco/.topbar/
   .nav/.btn-rsvp/.lang/.reveal and the page background.
   ============================================================ */

/* --- hero (full-bleed autumn pond) --- */
.deco{z-index:6;}
.khero{
  position:relative;left:50%;transform:translateX(-50%);
  width:100vw;
  margin-top:-91px;overflow:hidden;
  min-height:clamp(400px,52vw,640px);
  background:url(../images/korea-top.png?v=4) no-repeat center top/cover;
  display:flex;align-items:center;justify-content:center;text-align:center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 6%,#000 42%);
  mask-image:linear-gradient(to bottom,transparent 0,transparent 6%,#000 42%);
}
.khero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,250,240,0) 50%,rgba(60,40,20,.12));
}
.khero-inner{position:relative;z-index:1;padding:40px 24px;margin-top:-96px;}
.khero-kicker{
  font-size:15px;letter-spacing:4px;text-transform:uppercase;color:#7C2129;
  text-shadow:0 1px 3px rgba(255,250,240,.7);margin-bottom:12px;
}
body.lang-ko .khero-kicker{letter-spacing:2px;}
.khero-title{
  margin:0;font-weight:600;line-height:1.02;color:#7C2129;
  letter-spacing:1px;text-transform:uppercase;
  font-size:clamp(38px,6vw,80px);
  text-shadow:0 2px 10px rgba(255,250,240,.55);
}
body.lang-ko .khero-title{letter-spacing:0;text-transform:none;}
.khero-date{
  margin-top:14px;font-size:15px;letter-spacing:3px;text-transform:uppercase;
  color:#5A4034;font-weight:600;text-shadow:0 1px 3px rgba(255,250,240,.7);
}
body.lang-ko .khero-date{letter-spacing:1px;}

/* --- story --- */
.kstory{text-align:center;padding:clamp(40px,6vw,70px) 0 8px;}
.kstory p{
  margin:0 auto;max-width:560px;font-style:italic;
  font-size:clamp(19px,2.3vw,23px);line-height:1.6;color:#2E2519;
}
.kstory-copy p + p{margin-top:1em;}
body.lang-ko .kstory p{font-style:normal;}

/* --- shared section divider --- */
.kdiv{display:block;margin:0 auto;opacity:.95;}
.kdiv.sm{width:240px;}
.kdiv.lg{width:480px;}
.ksec{padding:clamp(28px,4vw,44px) 0;}

/* --- venue --- */
.kvenue{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;
  max-width:1000px;margin:0 auto;
}
.kvenue-figure{position:relative;}
.kvenue-figure img{position:relative;width:100%;filter:drop-shadow(0 6px 12px rgba(70,55,25,.18));}
.taeguk{
  position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:2;
  width:60px;height:60px;border-radius:50%;overflow:hidden;
  border:3px solid #C8A22E;box-shadow:0 3px 8px rgba(70,55,25,.3);
}
.taeguk::before{content:"";position:absolute;inset:0;background:linear-gradient(#CD2E3A 50%,#0047A0 50%);}
.taeguk i{position:absolute;top:25%;width:50%;height:50%;border-radius:50%;}
.taeguk .tr{left:0;background:#CD2E3A;}
.taeguk .tb{left:50%;background:#0047A0;}

.kvenue-eyebrow{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#574013;margin-bottom:6px;}
body.lang-ko .kvenue-eyebrow{letter-spacing:1px;}
.kvenue-name{
  margin:0;font-style:italic;font-weight:600;color:#8E2A2C;
  font-size:clamp(30px,3.8vw,46px);line-height:1.05;
}
body.lang-ko .kvenue-name{font-style:normal;}
.kvenue-text{margin:14px 0 0;font-size:18px;line-height:1.6;color:#2E2519;}

.kbtn{
  display:inline-flex;align-items:center;gap:14px;margin-top:20px;
  padding:13px 26px;border:1px solid #C8A24A;border-radius:5px;
  background:rgba(255,255,255,.34);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.25);
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#7A5E2C;font-weight:600;
  transition:background .2s,color .2s;
}
.kbtn:hover{background:rgba(255,255,255,.6);color:#5E4A24;}
.kbtn .arr{color:#C8A22E;font-size:16px;}
body.lang-ko .kbtn{letter-spacing:1px;}

/* --- schedule --- */
.ksched-title{
  text-align:center;margin:0 0 24px;font-style:italic;font-weight:600;color:#8E2A2C;
  font-size:clamp(32px,4.4vw,48px);line-height:1;
}
body.lang-ko .ksched-title{font-style:normal;}

/* --- itinerary schedule --- */
.kitin{max-width:760px;margin:0 auto;}
.kitin-birds{display:block;width:150px;margin:2px auto 26px;opacity:.92;filter:drop-shadow(0 8px 16px rgba(70,55,25,.16));}
.kpre{text-align:center;margin:0 0 6px;}
.kpre-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#634611;}
body.lang-ko .kpre-label{letter-spacing:1px;}
.kpre-title{font-style:italic;font-weight:600;color:#8E2A2C;font-size:clamp(22px,2.6vw,28px);margin-top:2px;}
body.lang-ko .kpre-title{font-style:normal;}
.kact{margin:0 auto;padding-top:16px;}
.kact-head{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:14px;}
.kact-rom{font-style:italic;font-weight:600;color:#8E2A2C;font-size:clamp(26px,3vw,34px);line-height:1;}
body.lang-ko .kact-rom{font-style:normal;}
.kact-sub{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#634611;}
body.lang-ko .kact-sub{letter-spacing:1px;}
.kitin-list{max-width:600px;margin:0 auto;}
.kev{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:12px 0;}
.kev-time{text-align:right;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#A0563F;font-weight:600;padding-top:3px;}
body.lang-ko .kev-time{letter-spacing:.2px;}
.kev-body{position:relative;padding-left:28px;border-left:1px solid rgba(142,42,44,.35);padding-bottom:2px;}
.kev-body::before{content:"";position:absolute;left:-6px;top:7px;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#CD2E3A,#8E2A2C 70%);box-shadow:0 0 0 4px rgba(247,243,233,.85);}
.kev-title{font-size:19px;font-weight:600;color:#3C2E24;line-height:1.25;}
.kev-desc{margin-top:6px;font-size:15px;font-style:italic;line-height:1.55;color:#2E2519;}
body.lang-ko .kev-desc{font-style:normal;}
.kev-loc{margin-top:7px;font-size:14px;line-height:1.5;color:#2E2519;}
.kev-loc b{text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600;color:#634611;margin-right:7px;}
.kact-note{max-width:600px;margin:18px auto 0;padding:16px 22px;border:1px solid rgba(142,42,44,.4);background:rgba(255,255,255,.34);border-radius:3px;font-size:14px;font-style:italic;line-height:1.62;color:#2E2519;}
body.lang-ko .kact-note{font-style:normal;}
.kact-note b{display:block;font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;color:#8E2A2C;margin-bottom:6px;}
.kdir{max-width:600px;margin:16px auto 0;}
.kdir-title{text-align:center;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#8E2A2C;font-weight:600;margin-bottom:8px;}
body.lang-ko .kdir-title{letter-spacing:1px;}
.kdir p{margin:5px 0;font-size:15px;line-height:1.55;color:#2E2519;}
.kmap{max-width:310px;margin:18px auto 0;}
.kmap img{width:100%;border-radius:4px;box-shadow:0 6px 16px -8px rgba(70,55,25,.35);}
.kmap-ko{display:none;}
body.lang-ko .kmap-en{display:none;}
body.lang-ko .kmap-ko{display:block;}
.kact-div{display:block;width:300px;margin:28px auto;opacity:.85;}
.kactivities{max-width:600px;margin:24px auto 0;text-align:center;font-style:italic;font-size:15px;line-height:1.6;color:#2E2519;}
body.lang-ko .kactivities{font-style:normal;}
.kp2note{max-width:560px;margin:18px auto 0;text-align:center;font-size:14px;font-style:italic;line-height:1.6;color:#2E2519;}
body.lang-ko .kp2note{font-style:normal;}

/* --- info sections (getting there & staying) --- */
.kinfo{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(8px,2vw,20px);}
.kinfo-row{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,5vw,60px);align-items:center;
  padding:clamp(14px,2.4vw,28px) 0;
}
.kinfo-img{display:flex;align-items:center;justify-content:center;}
.kinfo-img img{max-width:100%;max-height:260px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(70,55,25,.18));}
.kinfo-body{text-align:left;}
.kinfo-row.flip .kinfo-img{order:2;}
.kinfo-row.flip .kinfo-body{order:1;text-align:right;}
.kinfo-name{
  margin:0 0 12px;font-style:italic;font-weight:600;color:#8E2A2C;
  font-size:clamp(26px,3.2vw,38px);line-height:1.04;
}
body.lang-ko .kinfo-name{font-style:normal;}
.kinfo-text{margin:0;font-size:18px;line-height:1.62;color:#2E2519;}

/* --- section title (shared) --- */
.kcards-title{
  text-align:center;margin:0 0 18px;font-style:italic;font-weight:600;color:#8E2A2C;
  font-size:clamp(32px,4.4vw,48px);line-height:1;
}
body.lang-ko .kcards-title{font-style:normal;}

/* --- footer line --- */
.kfoot{text-align:center;margin:34px 0 4px;font-size:14px;letter-spacing:2px;color:#574013;}
body.lang-ko .kfoot{letter-spacing:.5px;}

/* --- responsive --- */
@media (max-width:820px){
  .kvenue{grid-template-columns:1fr;}
  .kev{grid-template-columns:1fr;gap:3px;}
  .kev-time{text-align:left;}
  .kev-body{border-left:none;padding-left:0;}
  .kev-body::before{display:none;}
  .kinfo-row,.kinfo-row.flip{grid-template-columns:1fr;text-align:center;gap:14px;}
  .kinfo-row.flip .kinfo-img{order:0;}
  .kinfo-row.flip .kinfo-body{order:0;text-align:center;}
  .kinfo-body{text-align:center;}
}
