.wed-wrapper{
    --pw-bg: #ffffff;
    --pw-grey: #f3f4f6;
    --pw-ivory: #faf7f2;
    --pw-ivory-deep: #f4efe7;
    --pw-ink: #1c1a17;
    --pw-ink-2: #4d4842;
    --pw-ink-3: #8a8278;
    --pw-gold: #b89968;
    --pw-gold-deep: #9a7c4e;
    --pw-gold-soft: #f3ecdf;

    --pw-container: 1240px;
    --pw-radius: 24px;
    --pw-radius-sm: 16px;

    --pw-shadow: 0 18px 50px -24px rgba(44, 38, 28, 0.35);
    --pw-shadow-sm: 0 12px 32px -20px rgba(44, 38, 28, 0.3);
    --pw-shadow-hover: 0 26px 60px -22px rgba(44, 38, 28, 0.42);
  }

  .wed-wrapper *{ box-sizing: border-box; }

  .wed-wrapper{ scroll-behavior: smooth; }

  .wed-wrapper{
    margin: 0;
    font-family: "Pretendard", "Noto Sans KR", -apple-system, sans-serif;
    color: var(--pw-ink);
    background: var(--pw-bg);
    letter-spacing: -0.02em;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
  }

  .wed-wrapper img{ display: block; width: 100%; height: 100%; object-fit: cover; }

  .wed-wrapper .pw-wrap{ max-width: var(--pw-container); margin: 0 auto; }

  .wed-wrapper .pw-section{ padding: 96px 40px; }

  /* eyebrow with icon */
  .wed-wrapper .pw-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0.22em;
    font-weight: 700;
    color: var(--pw-gold-deep);
    margin-bottom: 18px;
  }
  .wed-wrapper .pw-eyebrow svg{ width: 17px; height: 17px; stroke: var(--pw-gold); }

  /* ===== 01. HERO ===== */
  .wed-wrapper .pw-hero{
    position: relative;
    min-height: 540px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #1c1a17;
    background-image:
      linear-gradient(120deg, rgba(28,26,23,0.62) 0%, rgba(42,38,32,0.12) 55%, rgba(58,52,43,0.15) 100%),
      url("/wed/images/hero.jpg");
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
  }
  .wed-wrapper .pw-hero__inner{
    position: relative;
    z-index: 1;
    color: #fff;
    width: 100%;
    max-width: var(--pw-container);
    margin: 0 auto;
    padding: 0 120px;
    text-align: center;
  }
  .wed-wrapper .pw-hero__content{ max-width: 540px; }
  .wed-wrapper .pw-hero__eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    letter-spacing: 0.28em;
    font-weight: 700;
    color: rgba(255,255,255,0.85);
    margin-bottom: 22px;
  }
  .wed-wrapper .pw-hero__eyebrow svg{ width: 19px; height: 19px; stroke: rgba(255,255,255,0.85); }
  .wed-wrapper .pw-hero h1{
    margin: 0 0 20px;
    font-size: 54px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .wed-wrapper .pw-hero p{
    margin: 0;
    max-width: 520px;
    font-size: 22px;
    line-height: 1.8;
    color: rgba(255,255,255,0.9);
    font-weight: 400;
  }
  .wed-wrapper .pw-hero p + p{ margin-top: 8px; font-size: 17px; color: rgba(255,255,255,0.78); }
  .wed-wrapper .pw-hero__cta{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 34px;
    padding: 18px 36px;
    border: 1px solid rgba(255,255,255,0.6);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-decoration: none;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
    cursor: pointer;
  }
  .wed-wrapper .pw-hero__cta svg{ width: 18px; height: 18px; stroke: #fff; }
  .wed-wrapper .pw-hero__cta:hover{
    background: var(--pw-gold);
    border-color: var(--pw-gold);
    transform: translateY(-2px);
  }

  /* ===== 02. BENEFIT ===== */
  .wed-wrapper .pw-benefit{ background: var(--pw-bg); }

  .wed-wrapper .pw-benefit__head{
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 64px;
    align-items: end;
    padding-bottom: 56px;
  }
  .wed-wrapper .pw-benefit__head h2{
    margin: 0;
    font-size: 42px;
    line-height: 1.32;
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .wed-wrapper .pw-benefit__desc{
    margin: 0;
    font-size: 20px;
    line-height: 1.85;
    color: var(--pw-ink-2);
  }
  .wed-wrapper .pw-benefit__desc strong{ color: var(--pw-ink); font-weight: 700; }

  .wed-wrapper .pw-point-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 24px 0 80px;
  }
  .wed-wrapper .pw-point{
    padding: 36px 32px;
    border-radius: var(--pw-radius);
    background: var(--pw-bg);
    box-shadow: var(--pw-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .wed-wrapper .pw-point:hover{ transform: translateY(-4px); box-shadow: var(--pw-shadow-hover); }
  .wed-wrapper .pw-point__ico{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--pw-gold-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
  }
  .wed-wrapper .pw-point__ico svg{ width: 26px; height: 26px; stroke: var(--pw-gold-deep); }
  .wed-wrapper .pw-point h3{ margin: 0 0 12px; font-size: 22px; font-weight: 700; }
  .wed-wrapper .pw-point p{ margin: 0; color: var(--pw-ink-2); font-size: 17px; line-height: 1.65; }

  .wed-wrapper .pw-gift__title{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 28px;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.03em;
  }
  .wed-wrapper .pw-gift__title svg{ width: 26px; height: 26px; stroke: var(--pw-gold-deep); flex: none; }
  .wed-wrapper .pw-gift__title span{
    font-size: 16px;
    font-weight: 500;
    color: var(--pw-ink-3);
  }
  .wed-wrapper .pw-gift-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .wed-wrapper .pw-gift-card{
    padding: 22px;
    border-radius: var(--pw-radius);
    background: var(--pw-bg);
    box-shadow: var(--pw-shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .wed-wrapper .pw-gift-card:hover{ transform: translateY(-4px); box-shadow: var(--pw-shadow-hover); }
  .wed-wrapper .pw-gift-card__img{
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--pw-ivory-deep);
    margin: -22px -22px 18px;
    border-radius: var(--pw-radius) var(--pw-radius) 0 0;
  }
  .wed-wrapper .pw-gift-card__name{
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 19px;
    font-weight: 700;
  }
  .wed-wrapper .pw-gift-card__name svg{ width: 20px; height: 20px; stroke: var(--pw-gold); flex: none; }

  /* ===== 03. INTRO ===== */
  .wed-wrapper .pw-intro{ text-align: center; background: var(--pw-ivory); }
  .wed-wrapper .pw-intro .pw-eyebrow{ justify-content: center; }
  .wed-wrapper .pw-intro h2{
    font-size: 34px;
    margin: 0 0 18px;
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .wed-wrapper .pw-intro p{
    font-size: 19px;
    line-height: 1.8;
    color: var(--pw-ink-2);
    margin: 0 auto;
    max-width: 720px;
  }

  /* ===== FULL-WIDTH SERVICE ROWS ===== */
  .wed-wrapper .pw-services{ background: var(--pw-bg); }

  .wed-wrapper .pw-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 620px;
    scroll-margin-top: 24px;
  }
  .wed-wrapper .pw-row__media{ position: relative; overflow: hidden; min-height: 420px; }
  .wed-wrapper .pw-row__media img{ transition: transform 1.1s ease; }
  .wed-wrapper .pw-row:hover .pw-row__media img{ transform: scale(1.04); }

  .wed-wrapper .pw-row__body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 96px clamp(40px, 6vw, 120px);
    max-width: 760px;
  }
  /* alternate: image right, text left */
  .wed-wrapper .pw-row--reverse .pw-row__media{ order: 2; }
  .wed-wrapper .pw-row--reverse .pw-row__body{ order: 1; margin-left: auto; }

  /* ===== PROMO TYPE: ¾÷Ã¼ ÀÌº¥Æ® ÀÌ¹ÌÁö ÀüÃ¼ ³ëÃâ ===== */
  .wed-wrapper .pw-row--promo{
    grid-template-columns: 1fr;
    min-height: 0;
    background: var(--pw-ivory);
    padding: clamp(40px, 5vw, 72px) 40px;
  }
  .wed-wrapper .pw-row--promo .pw-promo{
    width: 100%;
    max-width: var(--pw-container);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .wed-wrapper .pw-row--promo .pw-promo__cap{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: var(--pw-gold-deep);
  }
  .wed-wrapper .pw-row--promo .pw-promo__cap svg{ width: 16px; height: 16px; stroke: var(--pw-gold); }
  .wed-wrapper .pw-row--promo .pw-promo__frame{
    width: 100%;
    max-width: 720px;
    border-radius: var(--pw-radius);
    overflow: hidden;
    background: var(--pw-bg);
    box-shadow: var(--pw-shadow);
  }
  .wed-wrapper .pw-row--promo .pw-promo__frame img{
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }
  .wed-wrapper .pw-row--promo .pw-promo__note{ font-size: 13px; color: var(--pw-ink-3); text-align: center; }

  /* ===== ÅØ½ºÆ®Çü ÇÁ·Î¸ð ÄÜÅÙÃ÷ ===== */
  .wed-wrapper .pw-promo-lead{
    margin: 6px 0 22px;
    padding: 18px 20px;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-gold-soft);
    border: 1px solid #e7d9bf;
  }
  .wed-wrapper .pw-promo-lead strong{
    display: block;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--pw-ink);
    margin-bottom: 4px;
  }
  .wed-wrapper .pw-promo-lead span{ font-size: 14px; color: var(--pw-gold-deep); font-weight: 600; }

  .wed-wrapper .pw-promo-price{
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 6px;
  }
  .wed-wrapper .pw-promo-price b{ font-size: 24px; font-weight: 800; color: var(--pw-gold-deep); letter-spacing: -0.03em; }
  .wed-wrapper .pw-promo-price em{ font-style: normal; font-size: 14px; color: var(--pw-ink-3); }
  .wed-wrapper .pw-promo-pricesub{ margin: 0 0 24px; font-size: 13.5px; color: var(--pw-ink-3); line-height: 1.6; }

  .wed-wrapper .pw-group{ margin-bottom: 22px; }
  .wed-wrapper .pw-group:last-child{ margin-bottom: 0; }
  .wed-wrapper .pw-group__title{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pw-ink);
  }
  .wed-wrapper .pw-group__title svg{ width: 21px; height: 21px; stroke: var(--pw-gold-deep); flex: none; }

  /* ÁÂ ÅØ½ºÆ® / ¿ì ÇÁ·Î¸ð ÀÌ¹ÌÁö */
  .wed-wrapper .pw-row--haspromo{
    --promo-gap: 64px;
    background: var(--pw-ivory);
    align-items: center;
    column-gap: var(--promo-gap);
  }
  .wed-wrapper .pw-row--haspromo .pw-row__body{
    max-width: 620px;
    margin-left: auto;
    padding: 64px 0 64px clamp(40px, 5vw, 96px);
  }
  .wed-wrapper .pw-row--haspromo .pw-row__media{
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 64px clamp(40px, 5vw, 96px) 64px 0;
    overflow: visible;
  }
  .wed-wrapper .pw-row--haspromo .pw-row__media img{
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: var(--pw-radius);
    box-shadow: var(--pw-shadow);
    transition: none;
  }
  .wed-wrapper .pw-row--haspromo:hover .pw-row__media img{ transform: none; }

  .wed-wrapper .pw-promo-ph{
    width: 100%;
    max-width: 520px;
    aspect-ratio: 3 / 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 2px dashed #d9d5cc;
    border-radius: var(--pw-radius);
    background: #f4f2ee;
    color: #b3aca0;
    text-align: center;
  }
  .wed-wrapper .pw-promo-ph svg{ width: 40px; height: 40px; stroke: #c4bdb0; }
  .wed-wrapper .pw-promo-ph span{ font-size: 13px; font-weight: 600; letter-spacing: -0.01em; color: #a59d8f; }
  .wed-wrapper .pw-promo-ph small{ font-size: 12px; color: #bcb4a6; }

  /* ¹ü¿ë È¸»ö ÀÌ¹ÌÁö ÀÚ¸® */
  .wed-wrapper .pw-wire{
    width: 100%;
    height: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #efece7;
  }
  .wed-wrapper .pw-wire svg{ width: 44px; height: 44px; stroke: #cfc8bb; }
  .wed-wrapper .pw-wire span{ display: none; }
  .wed-wrapper .pw-gift-card__img .pw-wire,
.wed-wrapper .pw-service__img .pw-wire{ border-radius: inherit; }
  .wed-wrapper .pw-gift-card__img .pw-wire svg,
.wed-wrapper .pw-service__img .pw-wire svg{ width: 32px; height: 32px; }
  .wed-wrapper .pw-row__media .pw-wire{ min-height: 520px; }

  /* ÀÌº¥Æ® º¸±â ¹öÆ° */
  .wed-wrapper .pw-event-btn{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 26px;
    padding: 14px 26px;
    border: 1px solid var(--pw-gold);
    border-radius: 999px;
    background: var(--pw-bg);
    color: var(--pw-gold-deep);
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
  }
  .wed-wrapper .pw-event-btn svg{ width: 18px; height: 18px; stroke: currentColor; transition: transform .2s ease; }
  .wed-wrapper .pw-event-btn:hover{ background: var(--pw-gold); color: #fff; transform: translateY(-2px); }
  .wed-wrapper .pw-event-btn:hover svg{ transform: translateX(3px); }

  /* ÇÁ·Î¸ð¼Ç ÀÌ¹ÌÁö ÆË¾÷(¸ð´Þ) */
  .wed-wrapper .pw-modal{
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(24,22,19,0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }
  .wed-wrapper .pw-modal.is-open{ display: flex; animation: pwModalFade .25s ease both; }
  @keyframes pwModalFade { from { opacity: 0; } to { opacity: 1; } }
  .wed-wrapper .pw-modal__dialog{
    position: relative;
    max-width: 640px;
    width: 100%;
    max-height: 90vh;
    overflow: auto;
    border-radius: var(--pw-radius);
    background: var(--pw-bg);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,0.5);
    animation: pwModalPop .28s ease both;
  }
  @keyframes pwModalPop { from { transform: translateY(12px) scale(.98); } to { transform: none; } }
  .wed-wrapper .pw-modal__dialog img{ display: block; width: 100%; height: auto; border-radius: var(--pw-radius); }

  /* ¸ð´ø È¸»ö ½ºÅ©·Ñ¹Ù */
  .wed-wrapper .pw-modal__dialog{ scrollbar-width: thin; scrollbar-color: #c9c4bc transparent; }
  .wed-wrapper .pw-modal__dialog::-webkit-scrollbar{ width: 8px; }
  .wed-wrapper .pw-modal__dialog::-webkit-scrollbar-track{ background: transparent; }
  .wed-wrapper .pw-modal__dialog::-webkit-scrollbar-thumb{
    background: #d0cbc3;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
  .wed-wrapper .pw-modal__dialog::-webkit-scrollbar-thumb:hover{
    background: #b3ada3;
    background-clip: padding-box;
  }
  .wed-wrapper .pw-textarea{ scrollbar-width: thin; scrollbar-color: #c9c4bc transparent; }
  .wed-wrapper .pw-textarea::-webkit-scrollbar{ width: 8px; }
  .wed-wrapper .pw-textarea::-webkit-scrollbar-thumb{ background: #d0cbc3; border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
  .wed-wrapper .pw-textarea::-webkit-scrollbar-thumb:hover{ background: #b3ada3; background-clip: padding-box; }
  .wed-wrapper .pw-modal__close{
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 999px;
    background: rgba(24,22,19,0.55);
    color: #fff;
    cursor: pointer;
    transition: background .2s ease;
    z-index: 3;
  }
  .wed-wrapper .pw-modal__close:hover{ background: rgba(24,22,19,0.8); }
  .wed-wrapper .pw-modal__close svg{ width: 20px; height: 20px; stroke: #fff; }

  .wed-wrapper .pw-row__name{
    margin: 14px 0 10px;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .wed-wrapper .pw-row__sub{ margin: 0 0 30px; color: var(--pw-ink-3); font-size: 19px; line-height: 1.7; }

  .wed-wrapper .pw-price-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 28px;
  }
  .wed-wrapper .pw-price-grid--4{ grid-template-columns: repeat(2, 1fr); }
  .wed-wrapper .pw-price{
    padding: 18px 20px;
    border-radius: var(--pw-radius-sm);
    background: #fbfbfa;
    border: 1px solid #e8e6e1;
  }
  .wed-wrapper .pw-price__label{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: var(--pw-ink-3);
    margin-bottom: 8px;
  }
  .wed-wrapper .pw-price__label svg{ width: 16px; height: 16px; stroke: var(--pw-ink-3); flex: none; }
  .wed-wrapper .pw-price__value{ font-size: 26px; font-weight: 800; line-height: 1.25; letter-spacing: -0.03em; color: var(--pw-gold-deep); }
  .wed-wrapper .pw-price--accent{ background: var(--pw-gold-soft); border-color: #e7d9bf; }
  .wed-wrapper .pw-price--accent .pw-price__value{ color: var(--pw-gold-deep); }
  .wed-wrapper .pw-price--accent .pw-price__label svg{ stroke: var(--pw-gold-deep); }

  /* Á¤°¡¡æÇÒÀÎ°¡ ´ÜÀÏ °¡°Ý ¹Ú½º */
  .wed-wrapper .pw-price--deal{
    grid-column: 1 / -1;
    background: var(--pw-gold-soft);
    border-color: #e7d9bf;
  }
  .wed-wrapper .pw-price--deal .pw-price__value{
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
  }
  .wed-wrapper .pw-price__was{ font-size: 17px; font-weight: 600; color: var(--pw-ink-3); text-decoration: line-through; letter-spacing: -0.02em; }
  .wed-wrapper .pw-price__arrow{ font-size: 17px; color: var(--pw-ink-3); font-weight: 600; }
  .wed-wrapper .pw-price__now{ font-size: 28px; font-weight: 800; color: var(--pw-gold-deep); letter-spacing: -0.03em; }
  .wed-wrapper .pw-price__off{ font-size: 14px; font-weight: 700; color: #fff; background: var(--pw-gold-deep); padding: 3px 10px; border-radius: 999px; align-self: center; }

  .wed-wrapper .pw-benefits{ display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
  .wed-wrapper .pw-benefits li{
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--pw-ink-2);
    font-size: 18px;
    line-height: 1.6;
  }
  .wed-wrapper .pw-benefits li svg{ width: 21px; height: 21px; stroke: var(--pw-gold); flex: none; margin-top: 2px; }

  /* electronics */
  .wed-wrapper .pw-elec{
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .wed-wrapper .pw-elec__inner{ width: 100%; max-width: var(--pw-container); margin: 0 auto; padding: 96px 40px; }
  .wed-wrapper .pw-elec__head{ margin-bottom: 36px; }
  .wed-wrapper .pw-elec__head .pw-row__name{ margin-top: 12px; }
  .wed-wrapper .pw-three{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .wed-wrapper .pw-service{
    padding: 26px;
    background: var(--pw-bg);
    border-radius: var(--pw-radius);
    box-shadow: var(--pw-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .wed-wrapper .pw-service:hover{ transform: translateY(-4px); box-shadow: var(--pw-shadow-hover); }
  .wed-wrapper .pw-service__img{
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--pw-ivory-deep);
    margin: -26px -26px 22px;
    border-radius: var(--pw-radius) var(--pw-radius) 0 0;
  }
  .wed-wrapper .pw-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--pw-gold-soft);
    color: var(--pw-gold-deep);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .wed-wrapper .pw-badge svg{ width: 14px; height: 14px; stroke: var(--pw-gold-deep); }
  .wed-wrapper .pw-service h3{ margin: 0 0 10px; font-size: 22px; font-weight: 800; }
  .wed-wrapper .pw-service > p{ margin: 0 0 20px; color: var(--pw-ink-3); font-size: 16px; line-height: 1.55; }

  /* ÁöÁ¡ ÁÖ¼Ò ¾È³» */
  .wed-wrapper .pw-store{
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--pw-line);
  }
  .wed-wrapper .pw-store__title{
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pw-ink);
  }
  .wed-wrapper .pw-store__title svg{ width: 17px; height: 17px; stroke: var(--pw-gold-deep); flex: none; }
  .wed-wrapper .pw-store__list{ display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
  .wed-wrapper .pw-store__list li{
    font-size: 16px;
    line-height: 1.55;
    color: var(--pw-ink-2);
    padding-left: 24px;
  }
  .wed-wrapper .pw-store__list b{ font-weight: 700; color: var(--pw-ink); }
  .wed-wrapper .pw-store__list span{ color: var(--pw-ink-2); }

  /* ===== TAB NAV ===== */
  .wed-wrapper .pw-tabs{
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255,255,255,0.86);
    backdrop-filter: saturate(160%) blur(12px);
    -webkit-backdrop-filter: saturate(160%) blur(12px);
    box-shadow: 0 1px 0 rgba(44,38,28,0.08), var(--pw-shadow-sm);
  }
  .wed-wrapper .pw-tabs__inner{
    max-width: var(--pw-container);
    margin: 0 auto;
    padding: 14px 40px;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .wed-wrapper .pw-tabs__inner::-webkit-scrollbar{ display: none; }
  .wed-wrapper .pw-tab{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border: none;
    border-radius: 999px;
    background: var(--pw-ivory);
    color: var(--pw-ink-2);
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
  }
  .wed-wrapper .pw-tab svg{ width: 18px; height: 18px; stroke: var(--pw-gold); transition: stroke .2s ease; }
  .wed-wrapper .pw-tab:hover{ background: var(--pw-gold-soft); color: var(--pw-gold-deep); }
  .wed-wrapper .pw-tab:hover svg{ stroke: var(--pw-gold-deep); }
  .wed-wrapper .pw-tab[aria-current="true"]{
    background: var(--pw-ink);
    color: #fff;
    box-shadow: var(--pw-shadow-sm);
  }
  .wed-wrapper .pw-tab[aria-current="true"] svg{ stroke: var(--pw-gold); }
  .wed-wrapper .pw-tab:focus-visible{ outline: 2px solid var(--pw-gold-deep); outline-offset: 2px; }

  /* ½ÅÃ» ¹öÆ° ÅÇ (¿ìÃø °íÁ¤ °­Á¶) */
  .wed-wrapper .pw-tab--apply{
    margin-left: auto;
    background: var(--pw-gold);
    color: #fff;
    box-shadow: var(--pw-shadow-sm);
  }
  .wed-wrapper .pw-tab--apply svg{ stroke: #fff; }
  .wed-wrapper .pw-tab--apply:hover{ background: var(--pw-gold-deep); color: #fff; }
  .wed-wrapper .pw-tab--apply:hover svg{ stroke: #fff; }

  /* ===== SERVICE GROUPS ===== */
  .wed-wrapper .pw-panel{ display: block; }
  .wed-wrapper .pw-anchor{ position: relative; }
  .wed-wrapper .pw-row{ scroll-margin-top: 88px; }
  .wed-wrapper .pw-row:not(.pw-row--haspromo){ min-height: 0; }
  .wed-wrapper .pw-row:not(.pw-row--haspromo) .pw-row__media{
    align-self: stretch;
    height: 100%;
    min-height: 0;
  }
  .wed-wrapper .pw-row:not(.pw-row--haspromo) .pw-row__media img{ height: 100%; }
  .wed-wrapper .pw-panel{ scroll-margin-top: 88px; }

  /* ===== FOOTER GUIDE ===== */
  .wed-wrapper .pw-footer{ text-align: center; background: var(--pw-ink); color: #fff; }
  .wed-wrapper .pw-footer .pw-eyebrow{ color: var(--pw-gold); justify-content: center; }
  .wed-wrapper .pw-footer .pw-eyebrow svg{ stroke: var(--pw-gold); }
  .wed-wrapper .pw-footer h2{
    font-size: 32px;
    margin: 0 0 18px;
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .wed-wrapper .pw-footer p{
    margin: 0 auto;
    max-width: 640px;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255,255,255,0.7);
  }

  /* ===== APPLY FORM MODAL (minimal) ===== */
  .wed-wrapper .pw-modal--apply .pw-modal__dialog{
    max-width: 620px;
    padding: 0;
    border-radius: 20px;
  }
  .wed-wrapper .pw-apply{ background: var(--pw-bg); }
  .wed-wrapper .pw-apply__head{
    padding: 48px 44px 10px;
    text-align: center;
    background: var(--pw-bg);
  }
  .wed-wrapper .pw-apply__head .pw-eyebrow{ justify-content: center; margin-bottom: 10px; font-size: 11px; }
  .wed-wrapper .pw-apply__head h2{
    margin: 0 0 8px;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -0.04em;
  }
  .wed-wrapper .pw-apply__head p{ margin: 0; font-size: 14px; color: var(--pw-ink-3); line-height: 1.6; }

  .wed-wrapper .pw-form{ padding: 8px 44px 40px; }
  .wed-wrapper .pw-form__fields{
    margin-bottom: 28px;
    border-top: 1px solid #ebe6de;
  }

  .wed-wrapper .pw-field{
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f0ece5;
  }
  .wed-wrapper .pw-field:last-child{ border-bottom: none; }
  .wed-wrapper .pw-field--stack{ grid-template-columns: 1fr; align-items: start; gap: 10px; }
  .wed-wrapper .pw-field__label{
    font-size: 14px;
    font-weight: 600;
    color: var(--pw-ink-2);
    letter-spacing: -0.02em;
  }
  .wed-wrapper .pw-field__label em{ color: var(--pw-gold-deep); font-style: normal; }
  .wed-wrapper .pw-field__control{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .wed-wrapper .pw-field__control--name{ gap: 12px; }
  .wed-wrapper .pw-field__control--checks{ gap: 8px 16px; }

  .wed-wrapper .pw-input{
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #e5e1da;
    border-radius: 10px;
    background: #fafafa;
    font-family: inherit;
    font-size: 15px;
    color: var(--pw-ink);
    letter-spacing: -0.01em;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  }
  .wed-wrapper .pw-input::placeholder{ color: #bdb7ac; }
  .wed-wrapper .pw-input:focus{
    outline: none;
    border-color: var(--pw-gold);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(184,153,104,0.14);
  }
  .wed-wrapper .pw-textarea{ height: auto; padding: 14px; line-height: 1.6; resize: vertical; min-height: 130px; }

  /* ¶óµð¿À / Ã¼Å© */
  .wed-wrapper .pw-radio-group{ display: inline-flex; gap: 14px; flex: none; }
  .wed-wrapper .pw-radio,
  .wed-wrapper .pw-check{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 15px;
    color: var(--pw-ink-2);
    cursor: pointer;
    letter-spacing: -0.01em;
    user-select: none;
  }
  .wed-wrapper .pw-radio input,
  .wed-wrapper .pw-check input{
    width: 18px;
    height: 18px;
    accent-color: var(--pw-gold-deep);
    cursor: pointer;
  }
  .wed-wrapper .pw-check--inline{ flex: none; }

  /* µ¿ÀÇ ¹Ú½º */
  .wed-wrapper .pw-agree{
    margin-bottom: 14px;
    padding: 20px;
    border: 1px solid #eeeae3;
    border-radius: 14px;
    background: #fafafa;
  }
  .wed-wrapper .pw-agree__title{
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--pw-ink);
    letter-spacing: -0.02em;
  }
  .wed-wrapper .pw-agree__title em{ font-style: normal; font-size: 13px; font-weight: 500; color: var(--pw-ink-3); }
  .wed-wrapper .pw-agree__desc{ margin: 0 0 14px; font-size: 12.5px; line-height: 1.7; color: var(--pw-ink-3); }
  .wed-wrapper .pw-agree__table{
    border: 1px solid #ebe7e0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
    background: #fff;
  }
  .wed-wrapper .pw-agree__row{
    display: grid;
    grid-template-columns: 1.1fr 1.2fr 1fr;
    font-size: 12.5px;
    color: var(--pw-ink-2);
  }
  .wed-wrapper .pw-agree__row span{ padding: 10px 13px; border-top: 1px solid #f0ece5; }
  .wed-wrapper .pw-agree__row span + span{ border-left: 1px solid #f0ece5; }
  .wed-wrapper .pw-agree__row--head{
    background: #f7f4ef;
    font-weight: 600;
    color: var(--pw-ink-2);
  }
  .wed-wrapper .pw-agree__row--head span{ border-top: none; }
  .wed-wrapper .pw-agree__note{ margin: 0 0 12px; font-size: 12px; color: var(--pw-ink-3); line-height: 1.6; }
  .wed-wrapper .pw-agree__radios{ display: flex; justify-content: flex-end; gap: 18px; }

  .wed-wrapper .pw-check--all{
    display: flex;
    margin: 8px 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--pw-ink);
  }
  .wed-wrapper .pw-form__warn{
    margin: 0 0 22px;
    font-size: 12.5px;
    color: #c0392b;
    letter-spacing: -0.01em;
  }

  .wed-wrapper .pw-form__actions{
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .wed-wrapper .pw-btn{
    min-width: 140px;
    height: 50px;
    border: none;
    border-radius: 12px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .wed-wrapper .pw-btn--primary{
    background: var(--pw-ink);
    color: #fff;
  }
  .wed-wrapper .pw-btn--primary:hover{ background: #000; transform: translateY(-1px); }
  .wed-wrapper .pw-btn--ghost{
    background: #f0ece5;
    color: var(--pw-ink-2);
  }
  .wed-wrapper .pw-btn--ghost:hover{ background: #e6e1d8; transform: translateY(-1px); }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 1100px) {
    .wed-wrapper .pw-three{ grid-template-columns: 1fr; }
  }

  @media (max-width: 900px) {
    .wed-wrapper .pw-benefit__head{ grid-template-columns: 1fr; gap: 28px; align-items: start; }
    .wed-wrapper .pw-point-grid{ grid-template-columns: 1fr; }

    .wed-wrapper .pw-row,
.wed-wrapper .pw-row--reverse .pw-row__media,
.wed-wrapper .pw-row--reverse .pw-row__body{ grid-template-columns: 1fr; order: initial; }
    .wed-wrapper .pw-row{ grid-template-columns: 1fr; min-height: 0; }
    .wed-wrapper .pw-row__media{ min-height: 320px; }
    .wed-wrapper .pw-row__body{ padding: 56px 24px; max-width: none; margin: 0; }
  }

  @media (max-width: 768px) {
    .wed-wrapper .pw-section{ padding: 64px 20px; }
    .wed-wrapper .pw-hero{ min-height: 480px; }
    .wed-wrapper .pw-hero__inner{ padding: 0 24px; }
    .wed-wrapper .pw-hero h1{ font-size: 38px; }
    .wed-wrapper .pw-hero p{ font-size: 18px; }
    .wed-wrapper .pw-benefit__head h2{ font-size: 32px; }
    .wed-wrapper .pw-intro h2,
.wed-wrapper .pw-footer h2{ font-size: 28px; }
    .wed-wrapper .pw-row__name{ font-size: 28px; }
    .wed-wrapper .pw-gift-grid{ grid-template-columns: 1fr; }
    .wed-wrapper .pw-price-grid{ grid-template-columns: 1fr; }
    .wed-wrapper .pw-point-grid{ margin: 16px 0 60px; }
    .wed-wrapper .pw-elec__inner{ padding: 64px 20px; }
    .wed-wrapper .pw-tabs__inner{ padding: 12px 16px; }
    .wed-wrapper .pw-tab--apply{ margin-left: 0; }

    /* ½ÅÃ» Æû ¸ð¹ÙÀÏ */
    .wed-wrapper .pw-modal{ padding: 0; }
    .wed-wrapper .pw-modal--apply .pw-modal__dialog{ max-width: 100%; max-height: 100vh; height: 100vh; border-radius: 0; }
    .wed-wrapper .pw-apply__head{ padding: 40px 22px 24px; border-radius: 0; }
    .wed-wrapper .pw-apply__head h2{ font-size: 25px; }
    .wed-wrapper .pw-form{ padding: 26px 22px 34px; }
    .wed-wrapper .pw-field{ grid-template-columns: 1fr; align-items: start; gap: 8px; }
    .wed-wrapper .pw-field__label{ font-size: 14px; }
    .wed-wrapper .pw-agree__row{ grid-template-columns: 1fr; }
    .wed-wrapper .pw-agree__row span + span{ border-left: none; }
    .wed-wrapper .pw-agree__radios{ justify-content: flex-start; gap: 16px; }
    .wed-wrapper .pw-form__actions .pw-btn{ flex: 1 1 0; min-width: 0; }
  }

  @media (max-width: 480px) {
    .wed-wrapper .pw-hero h1{ font-size: 32px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .wed-wrapper{ scroll-behavior: auto; }
    .wed-wrapper *{ transition: none !important; }
    .wed-wrapper .pw-row:hover .pw-row__media img{ transform: none; }
  }
