  :root{
    --navy:#1B2A56;
    --navy-dark:#121D3D;
    --gold:#A9812F;
    --text:#2B2E36;
    --text-sub:#63666F;
    --line:#E6E7EC;
    --bg-soft:#F7F7F9;
    --bg-alt:#F2F4F8;
    --cta:#FF6600;
    --cta-dark:#E65C00;
    --btn-detail:#26386C;
    --btn-detail-dark:#1B2A56;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }

  html{
    -webkit-text-size-adjust:100%;
    scroll-behavior:smooth;
    max-width:100%;
    overflow-x:hidden;
  }

  body{
    font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
    color:var(--text);
    background:#ffffff;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    max-width:100%;
    overflow-x:hidden;
  }

  a{ color:inherit; text-decoration:none; }
  img{ display:block; max-width:100%; }

  .page{
    max-width:1200px;
    width:100%;
    margin:0 auto;
    background:#ffffff;
  }

  /* ===== Header ===== */
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(255,255,255,0.97);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    position:relative;
    max-width:1200px;
    width:100%;
    margin:0 auto;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 4px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    transition:opacity 0.15s ease;
  }
  .brand:hover{ opacity:0.75; }
  .brand-badge{
    height:38px;
    width:auto;
    flex-shrink:0;
    display:block;
  }
  .brand-mark{
    font-size:20px;
    font-weight:800;
    letter-spacing:0.5px;
    color:var(--navy);
    align-self:baseline;
  }
  .brand-sub{
    font-size:15px;
    color:var(--text-sub);
    font-weight:500;
    padding-left:12px;
    border-left:1px solid var(--line);
    white-space:nowrap;
  }
  .main-nav{
    display:flex;
    align-items:center;
    gap:36px;
    flex-shrink:0;
  }
  .main-nav a{
    font-size:16.5px;
    font-weight:600;
    color:var(--text);
    padding:6px 2px;
    white-space:nowrap;
    flex-shrink:0;
  }
  .main-nav a:hover{ color:var(--navy); }
  .lang-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:56px;
    height:38px;
    padding:0 16px;
    border:1.5px solid var(--navy);
    border-radius:20px;
    font-size:15px;
    font-weight:700;
    color:var(--navy);
    letter-spacing:0.3px;
  }
  .main-nav a.lang-btn:hover{
    background:var(--navy);
    color:#fff;
  }
  /* Shown only on mobile, positioned left of the hamburger button so the
     language toggle is reachable without opening the menu first. */
  .lang-btn-mobile{
    display:none;
  }

  /* Hamburger toggle (mobile only) */
  .nav-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:40px;
    height:40px;
    border:none;
    background:transparent;
    cursor:pointer;
    flex-shrink:0;
  }
  .nav-toggle span{
    display:block;
    width:22px;
    height:2px;
    background:var(--navy);
    border-radius:2px;
    transition:transform 0.2s ease, opacity 0.2s ease;
  }
  .nav-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle.active span:nth-child(2){ opacity:0; }
  .nav-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  /* ===== Hero ===== */
  .hero{
    position:relative;
    left:50%;
    right:50%;
    margin-left:-50vw;
    margin-right:-50vw;
    width:100vw;
    height:480px;
    overflow:hidden;
    background:#051546;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .hero-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg, rgba(5,21,70,0.62) 0%, rgba(5,21,70,0.30) 42%, rgba(5,21,70,0.06) 62%, rgba(5,21,70,0) 78%),
      linear-gradient(180deg, rgba(5,21,70,0.05) 0%, rgba(5,21,70,0.15) 55%, rgba(5,21,70,0.5) 100%);
  }
  /* Keeps the title/graphic aligned to the same 1200px column as the rest
     of the page, even though the hero background itself is full-bleed. */
  .hero-inner{
    position:absolute;
    inset:0;
    max-width:1200px;
    width:100%;
    margin:0 auto;
  }
  .hero-mark{
    position:absolute;
    right:36px;
    top:50%;
    transform:translateY(-50%);
    height:436px;
    width:auto;
    z-index:1;
    pointer-events:none;
  }
  .hero-content{
    position:absolute;
    left:0; bottom:0;
    max-width:640px;
    padding:0 60px 52px;
    color:#fff;
    z-index:2;
  }
  .hero-badge{
    display:inline-block;
    font-size:14px;
    font-weight:700;
    letter-spacing:1.5px;
    color:#E8D8AE;
    border:1px solid rgba(232,216,174,0.55);
    border-radius:20px;
    padding:6px 16px;
    margin-bottom:20px;
  }
  .hero-title{
    font-size:42px;
    font-weight:800;
    line-height:1.35;
    margin-bottom:16px;
    letter-spacing:-0.5px;
  }
  .hero-date{
    font-size:18px;
    font-weight:500;
    color:#E4E6EF;
  }
  /* Forces the venue onto its own line only on narrow (mobile) screens,
     where the browser's natural wrap point can land mid-word. */
  .hero-date br.mobile-break{ display:none; }

  /* ===== Quick info strip ===== */
  .quick-info{
    max-width:1200px;
    width:100%;
    display:flex;
    border-bottom:1px solid var(--line);
  }
  .quick-info .item{
    flex:1;
    padding:28px 40px;
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .quick-info .item + .item{
    border-left:1px solid var(--line);
  }
  .quick-info .label{
    font-size:13.5px;
    font-weight:700;
    color:var(--gold);
    letter-spacing:0.5px;
  }
  .quick-info .value{
    font-size:18px;
    font-weight:700;
    color:var(--navy);
  }
  .quick-info .value-date{
    white-space:nowrap;
  }
  .quick-info .value small{
    font-weight:500;
    color:var(--text-sub);
    font-size:15.5px;
  }

  /* ===== Section shell ===== */
  section{
    max-width:1200px;
    width:100%;
    padding:96px 60px;
    border-bottom:1px solid var(--line);
    scroll-margin-top:90px;
  }
  section:last-of-type{ border-bottom:none; }

  .section-head{
    margin-bottom:44px;
  }
  .section-title{
    font-size:30px;
    font-weight:800;
    color:var(--navy);
    letter-spacing:-0.5px;
  }
  .section-desc{
    margin-top:14px;
    font-size:17.5px;
    color:var(--text-sub);
    line-height:1.8;
  }

  /* Full-bleed tinted band: stretches from padding-inset content width
     out to the section's own edges, so the section title above stays on
     plain white while the content block below sits on a tinted panel. */
  .section-band{
    background:var(--bg-alt);
    margin-left:-60px;
    margin-right:-60px;
    padding:48px 60px;
  }

  /* ===== Invitation ===== */
  .invitation{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }
  .invite-body{
    width:100%;
    font-size:18.5px;
    line-height:1.95;
    color:var(--text);
  }
  .invite-body p{ margin-bottom:22px; }
  .invite-sign{
    margin-top:48px;
    text-align:right;
    font-size:17px;
    color:var(--text);
  }
  .invite-sign .sign-date{
    color:var(--text-sub);
    margin-bottom:10px;
  }
  .invite-sign .sign-name{
    font-size:19px;
    font-weight:700;
    letter-spacing:2px;
  }

  /* ===== Overview ===== */
  .overview-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
  }
  #overview .overview-grid{
    background:var(--bg-alt);
    margin-left:-60px;
    margin-right:-60px;
    padding:48px 60px;
  }
  .info-list{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:8px 32px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .info-row{
    display:flex;
    padding:22px 0;
    border-bottom:1px solid var(--line);
  }
  .info-row:last-child{
    border-bottom:none;
  }
  .info-row .k{
    width:110px;
    flex-shrink:0;
    font-size:16.5px;
    font-weight:700;
    color:var(--navy);
  }
  .info-row .v{
    font-size:17.5px;
    color:var(--text);
    line-height:1.7;
  }
  .register-box{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:36px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:16px;
  }
  .register-box .rb-title{
    font-size:17px;
    font-weight:700;
    color:var(--navy);
  }
  .register-box .rb-deadline{
    font-size:16px;
    color:var(--text-sub);
  }
  .register-box .rb-desc{
    font-size:16.5px;
    color:var(--text-sub);
    line-height:1.7;
    margin-bottom:8px;
  }

  /* ===== Buttons ===== */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:52px;
    padding:0 30px;
    border-radius:8px;
    font-size:17px;
    font-weight:700;
    letter-spacing:0.2px;
  }
  .btn-primary{
    background:var(--cta);
    color:#fff;
  }
  .btn-primary:hover{ background:var(--cta-dark); }
  .btn-primary .arrow{ font-size:17px; }

  .btn-detail{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 28px;
    border-radius:7px;
    border:none;
    background:var(--btn-detail);
    color:#fff;
    font-size:16px;
    font-weight:700;
    font-family:inherit;
    line-height:1.6;
    letter-spacing:0.2px;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(27,42,86,0.22);
  }
  .btn-detail:hover{ background:var(--btn-detail-dark); box-shadow:0 4px 12px rgba(27,42,86,0.3); }
  .btn-detail-row{
    display:flex;
    width:fit-content;
    margin-top:12px;
    padding:9px 24px;
    font-size:15.5px;
  }

  /* ===== Schedule ===== */
  .day-block{
    background:var(--bg-alt);
    margin-left:-60px;
    margin-right:-60px;
    padding:48px 60px;
    scroll-margin-top:90px;
  }
  .day-block + .day-block{
    margin-top:64px;
  }
  .day-tag{
    display:block;
    text-align:center;
    margin-bottom:24px;
    font-size:28px;
    font-weight:800;
    letter-spacing:5px;
    color:var(--navy);
  }
  .day-header{
    display:flex;
    align-items:baseline;
    gap:14px;
    margin-bottom:20px;
  }
  .day-pill{
    display:inline-flex;
    align-items:center;
    height:36px;
    padding:0 16px;
    background:var(--navy);
    color:#fff;
    font-size:16px;
    font-weight:700;
    border-radius:6px;
    letter-spacing:0.5px;
  }
  .day-date{
    font-size:20px;
    font-weight:800;
    color:var(--navy);
  }
  .day-weekday{
    font-size:17px;
    font-weight:600;
    color:var(--text-sub);
  }

  table.sched{
    width:100%;
    border-collapse:collapse;
    border-top:1.5px solid var(--navy);
    background:#ffffff;
    border-radius:12px;
    overflow:hidden;
  }
  table.sched th{
    text-align:left;
    font-size:15.5px;
    font-weight:700;
    color:var(--text-sub);
    letter-spacing:0.5px;
    padding:12px 16px;
    border-bottom:1px solid var(--line);
    background:var(--bg-soft);
  }
  table.sched td{
    font-size:18.5px;
    color:var(--text);
    padding:18px 16px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
    line-height:1.6;
  }
  table.sched td.t-time{
    white-space:nowrap;
    font-weight:700;
    color:var(--navy);
    width:130px;
  }
  table.sched td.t-place{
    width:260px;
    color:var(--text-sub);
    font-size:17.5px;
  }
  table.sched td.t-place-span{
    border-bottom:none;
  }
  table.sched td.t-program{
    font-weight:600;
  }
  table.sched td.t-program .sub{
    display:block;
    font-weight:400;
    color:var(--text-sub);
    font-size:17px;
    margin-top:2px;
  }
  table.sched td.t-program .sub.sub-inline{
    display:inline;
    margin-top:0;
    margin-left:10px;
  }

  /* Program sub-detail (nested inside a schedule row) */
  .program-detail{
    margin-top:14px;
    padding-top:14px;
    border-top:1px dashed var(--line);
  }
  .program-detail.pd-no-border{
    margin-top:0;
    padding-top:0;
    border-top:none;
  }
  .pd-badge{
    display:inline-flex;
    align-items:center;
    padding:9px 16px;
    background:var(--bg-soft);
    color:var(--navy);
    font-weight:700;
    font-size:16px;
    border-radius:8px;
    margin-bottom:14px;
  }
  .pd-desc{
    font-size:17px;
    color:var(--text);
    line-height:1.7;
    margin-bottom:14px;
  }
  .speaker-group{
    margin-bottom:14px;
  }
  .speaker-group .sg-label{
    font-size:14.5px;
    font-weight:700;
    color:var(--text-sub);
    letter-spacing:0.5px;
    margin-bottom:8px;
  }
  .speaker{
    font-size:16.5px;
    line-height:1.7;
    color:var(--text);
    margin-bottom:8px;
  }
  .speaker .who{
    font-weight:700;
  }
  .speaker .talk{
    color:var(--text-sub);
  }

  /* ===== Modal (used by all '세부 내용 보기' detail popups) ===== */
  .modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(11,17,40,0.55);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:300;
  }
  .modal-overlay[hidden]{ display:none; }
  body.modal-open{ overflow:hidden; }
  .modal-dialog{
    position:relative;
    background:#ffffff;
    border-radius:16px;
    max-width:760px;
    width:100%;
    max-height:85vh;
    overflow-y:auto;
    padding:48px;
    box-shadow:0 24px 60px rgba(11,17,40,0.35);
  }
  .modal-close{
    position:absolute;
    top:18px;
    right:18px;
    width:38px;
    height:38px;
    border:none;
    background:var(--bg-soft);
    color:var(--text-sub);
    border-radius:50%;
    font-size:20px;
    line-height:1;
    font-family:inherit;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .modal-close:hover{ background:var(--line); color:var(--navy); }
  .modal-body .section-title{ margin-bottom:0; padding-right:44px; word-break:keep-all; }
  .modal-body > .section-head{ margin-bottom:32px; }

  /* ===== Ceremony detail (content shown inside a modal) ===== */
  .ceremony-meta{
    display:flex;
    gap:40px;
    margin-bottom:32px;
    padding:22px 28px;
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:12px;
  }
  .ceremony-meta .cm-item{
    font-size:17px;
  }
  .ceremony-meta .cm-item b{
    color:var(--navy);
    font-weight:700;
    margin-right:6px;
  }

  table.ceremony{
    width:100%;
    border-collapse:collapse;
    border-top:1.5px solid var(--navy);
    background:#ffffff;
    border-left:1px solid var(--line);
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  table.ceremony th{
    text-align:left;
    font-size:14.5px;
    font-weight:700;
    color:var(--text-sub);
    letter-spacing:0.5px;
    padding:12px 16px;
    border-bottom:1px solid var(--line);
    background:var(--bg-soft);
  }
  table.ceremony td{
    font-size:17px;
    padding:16px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
  }
  table.ceremony td.c-time{
    width:160px;
    font-weight:700;
    color:var(--navy);
    white-space:nowrap;
  }
  table.ceremony ul{
    list-style:none;
  }
  table.ceremony li{
    position:relative;
    padding-left:14px;
    margin-bottom:8px;
    color:var(--text);
  }
  table.ceremony li:last-child{ margin-bottom:0; }
  table.ceremony li::before{
    content:"·";
    position:absolute;
    left:0;
    color:var(--gold);
    font-weight:800;
  }

  /* ===== Directions (오시는 길) ===== */
  .directions-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
  }
  .directions-left{
    display:flex;
    flex-direction:column;
    height:100%;
  }
  .dir-venue{
    font-size:18.5px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:10px;
  }
  .directions-address{
    font-size:16.5px;
    color:var(--text-sub);
    line-height:1.7;
    margin-bottom:24px;
  }
  .directions-map{
    flex:1;
    min-height:280px;
    width:100%;
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--bg-soft);
  }
  .directions-map iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
  }
  .dir-group{
    margin-bottom:28px;
  }
  .dir-group:last-child{
    margin-bottom:0;
  }
  .dir-group-title{
    font-size:16.5px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:14px;
  }
  .dir-group ul{
    list-style:none;
  }
  .dir-group li{
    position:relative;
    padding-left:14px;
    margin-bottom:12px;
    font-size:16px;
    color:var(--text);
    line-height:1.75;
  }
  .dir-group li:last-child{
    margin-bottom:0;
  }
  .dir-group li::before{
    content:"·";
    position:absolute;
    left:0;
    color:var(--gold);
    font-weight:800;
  }
  .dir-group li .station{
    font-weight:700;
    color:var(--text);
  }
  .dir-note{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--line);
    font-size:14.5px;
    color:var(--text-sub);
    line-height:1.8;
  }

  /* ===== Footer ===== */
  footer{
    position:relative;
    left:50%;
    right:50%;
    margin-left:-50vw;
    margin-right:-50vw;
    width:100vw;
    background:var(--navy);
    padding:40px 60px;
  }
  .footer-inner{
    max-width:1200px;
    width:100%;
    margin:0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap;
  }
  footer .f-brand{
    font-size:18px;
    font-weight:800;
    color:#fff;
    line-height:1.6;
  }
  footer .f-contact{
    font-size:15px;
    color:#C7CCDA;
    line-height:1.9;
    text-align:right;
  }

  /* ===== Back to top ===== */
  .to-top{
    position:fixed;
    right:28px;
    bottom:28px;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:800;
    letter-spacing:0.5px;
    box-shadow:0 6px 16px rgba(17,24,50,0.28);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.15s ease;
    z-index:150;
  }
  .to-top.visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .to-top:hover{ background:var(--navy-dark); }

  /* ===== Responsive ===== */
  /* Just above the hamburger breakpoint, the full horizontal nav can run
     out of room for longer labels (e.g. English menu items) before the
     hamburger takes over — tighten spacing and drop the subtitle first so
     nav links never wrap mid-word. */
  @media (max-width: 1040px) and (min-width: 881px){
    .main-nav{ gap:22px; }
    .brand-sub{ display:none; }
  }

  @media (max-width: 880px){
    .header-inner,
    .hero-content,
    .quick-info,
    section,
    footer{
      padding-left:20px;
      padding-right:20px;
    }
    section{ padding-top:56px; padding-bottom:56px; }
    footer{
      padding-top:32px;
      padding-bottom:32px;
    }
    .footer-inner{
      flex-direction:column;
      gap:20px;
    }
    footer .f-contact{ text-align:left; }
    .modal-overlay{ padding:0; align-items:flex-end; }
    .modal-dialog{
      max-width:none;
      width:100%;
      max-height:92vh;
      border-radius:16px 16px 0 0;
      padding:32px 20px;
    }
    .brand-sub{ display:none; }
    .brand-badge{ height:30px; }
    .hero{ height:320px; }
    .hero-mark{ display:none; }
    .hero-overlay{
      background:linear-gradient(180deg, rgba(5,21,70,0.35) 0%, rgba(5,21,70,0.55) 55%, rgba(5,21,70,0.82) 100%);
    }
    .hero-content{ max-width:none; }
    .hero-title{ font-size:27px; }
    .hero-date br.mobile-break{ display:inline; }
    .quick-info{ flex-direction:column; }
    .quick-info .item{ padding:20px 4px; }
    .quick-info .item + .item{ border-left:none; border-top:1px solid var(--line); }
    .quick-info .value{ white-space:normal; }
    .overview-grid{ grid-template-columns:1fr; gap:32px; }
    .directions-grid{ grid-template-columns:1fr; gap:32px; }
    .directions-left{ height:auto; }
    .directions-map{ flex:none; aspect-ratio:16/10; min-height:0; }
    #overview .overview-grid{
      margin-left:-20px;
      margin-right:-20px;
      padding:32px 20px;
    }
    .section-band{
      margin-left:-20px;
      margin-right:-20px;
      padding:32px 20px;
    }
    .ceremony-meta{ flex-direction:column; gap:10px; }

    /* Hamburger nav */
    .nav-toggle{ display:flex; }
    .lang-btn-mobile{
      display:inline-flex;
      min-width:44px;
      height:32px;
      padding:0 12px;
      font-size:13.5px;
      margin-left:auto;
      margin-right:10px;
    }
    /* Avoid a duplicate toggle inside the dropdown now that one is
       always visible next to the hamburger button. */
    .main-nav a.lang-btn{ display:none; }
    .main-nav{
      position:absolute;
      top:100%;
      left:0;
      right:0;
      display:none;
      flex-direction:column;
      align-items:flex-start;
      gap:2px;
      background:#ffffff;
      border-bottom:1px solid var(--line);
      box-shadow:0 12px 24px rgba(17,24,50,0.08);
      padding:8px 20px 20px;
    }
    .main-nav.open{ display:flex; }
    .main-nav a{
      width:100%;
      padding:14px 4px;
      border-bottom:1px solid var(--line);
    }
    .main-nav a.lang-btn{
      width:auto;
      margin-top:14px;
      border-bottom:1.5px solid var(--navy);
    }

    .day-block{
      margin-left:-20px;
      margin-right:-20px;
      padding:32px 20px;
    }
    .day-block + .day-block{
      margin-top:48px;
    }
    .day-tag{
      font-size:21px;
      letter-spacing:2.5px;
      margin-bottom:18px;
    }

    /* Stacked schedule / ceremony tables */
    table.sched, table.ceremony{
      border-top:none;
      border:1px solid var(--line);
      border-radius:12px;
      overflow:hidden;
      background:#ffffff;
    }
    table.sched thead, table.ceremony thead{ display:none; }
    table.sched tbody, table.sched tr, table.sched td,
    table.ceremony tbody, table.ceremony tr, table.ceremony td{
      display:block;
      width:auto !important;
    }
    table.sched tr{
      padding:16px 20px;
      border-bottom:1px solid var(--line);
    }
    table.sched tr:last-child, table.ceremony tr:last-child{ border-bottom:none; }
    table.sched td{ padding:3px 0; border-bottom:none; }
    table.sched td.t-time{ font-size:16px; }
    table.sched td.t-place{ color:var(--text-sub); font-size:16px; margin-top:2px; }
    table.ceremony tr{ padding:16px 20px; border-bottom:1px solid var(--line); }
    table.ceremony td{ padding:3px 0; border-bottom:none; }
    table.ceremony td.c-time{ margin-bottom:6px; }
  }
