@charset "utf-8";

/* Funeral shared */
.funeral-top{padding-top:0;padding-bottom:150rem;}
.funeral-top .sub-tab{margin:100rem 0;}
.funeral-top .sub-tab-in{width:100%;padding:0;}
.funeral-top .sec-head{margin-bottom:0;}
#facility-con .sec-head{margin-bottom:100rem;}

/* Steps Z-pattern */
.funeral-steps{width:100%;margin-top:100rem;}
.funeral-step{display:flex;align-items:stretch;width:100%;border-top:1px solid var(--gray-200);}
.funeral-step:last-child{border-bottom:1px solid var(--gray-200);}
.funeral-step.is-reverse{flex-direction:row-reverse;}
.funeral-step .con-img,
.funeral-step .txt-box{flex:1;}
.funeral-step .con-img{aspect-ratio:650/430;}
.funeral-step-img--step01{background:url('../img/sub/funeral/step01.jpg') no-repeat center / cover;}
.funeral-step-img--step02{background:url('../img/sub/funeral/step02.jpg') no-repeat center / cover;}
.funeral-step-img--step03{background:url('../img/sub/funeral/step03.jpg') no-repeat center / cover;}
.funeral-step-img--step04{background:url('../img/sub/funeral/step04.jpg') no-repeat center / cover;}
.funeral-step-img--step05{background:url('../img/sub/funeral/step05.jpg') no-repeat center / cover;}
.funeral-step-img--step06{background:url('../img/sub/funeral/step06.jpg') no-repeat center / cover;}
.funeral-step .txt-box{display:flex;flex-direction:column;justify-content:space-between;padding:59rem 80rem 60rem;background:var(--wh);}
.funeral-step .num{font-size:var(--font18);font-weight:var(--fw-bold);letter-spacing:-.36rem;color:var(--main-light);}
.funeral-step h4{margin:0;font-size:var(--font24);font-weight:var(--fw-bold);letter-spacing:-.48rem;color:var(--bk-deep);}
.funeral-step .body p{margin:20rem 0 0;font-size:var(--font18);line-height:1.5;letter-spacing:-.36rem;color:var(--gray-500);}

/* Keep methods — centered + loop swiper */
.funeral-keep{padding:150rem 0;overflow:clip;}
.funeral-keep .inner .sec-head{margin-bottom:100rem;}
.funeral-keep-lst{width:100%;height:auto;overflow:hidden;}
.funeral-keep-lst .swiper-wrapper{height:auto;align-items:stretch;}
.funeral-keep-lst .swiper-slide{
  width:854rem;height:auto;box-sizing:border-box;
}
.funeral-keep-lst .keep-card{
  display:flex;flex-direction:row;align-items:stretch;
  width:100%;height:381rem;background:var(--wh);
}
.funeral-keep-lst .con-img{
  flex:none;width:515rem;min-width:515rem;max-width:515rem;
  height:381rem;aspect-ratio:auto;
}
.funeral-keep-img--nabgol{background:url('../img/sub/funeral/keep_nabgol.jpg') no-repeat center / cover;}
.funeral-keep-img--stone{background:url('../img/sub/funeral/keep_stone.jpg') no-repeat center / cover;}
.funeral-keep-img--tree{background:url('../img/sub/funeral/keep_tree.jpg') no-repeat center / cover;}
.funeral-keep-lst .txt{
  flex:none;width:339rem;min-width:339rem;box-sizing:border-box;
  padding:60rem 50rem;background:var(--wh);
}
.funeral-keep-lst strong{display:block;font-size:var(--font24);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.48rem;color:var(--bk-deep);}
.funeral-keep-lst p{margin:24rem 0 0;font-size:var(--font18);line-height:1.5;letter-spacing:-.36rem;color:var(--gray-500);}

/* Cost — Figma 365:71 */
.cost-basic{width:100%;}
.cost-basic-card{width:100%;padding:52rem 60rem;background:var(--main-light);overflow:clip;}
.cost-basic-in{display:flex;align-items:center;gap:56rem;width:100%;}
.cost-basic-card .tit-area{color:var(--wh);}
.cost-basic-card h3{margin:0;font-size:var(--font20);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.4rem;color:var(--wh);}
.cost-basic-card .price{display:flex;align-items:baseline;gap:8rem;margin:10rem 0 0;color:var(--wh);}
.cost-basic-card .price strong{font-size:var(--font65);font-weight:var(--fw-bold);line-height:1.3;letter-spacing:0;}
.cost-basic-card .price span{font-size:var(--font24);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.48rem;}
.cost-basic-card .note{margin:10rem 0 0;font-size:var(--font14);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:-.28rem;color:var(--wh);}
.cost-basic-divider{width:1px;height:148rem;border-right:1px dashed rgba(255,255,255,.35);}
.cost-basic-side{display:flex;flex:1;align-items:flex-end;justify-content:space-between;min-width:0;}
.cost-basic-card .include .label{margin:0;font-size:var(--font16);font-weight:var(--fw-semibold);line-height:1.5;letter-spacing:-.32rem;color:var(--wh);}
.cost-basic-card .include ul{margin:18rem 0 0;padding:0;list-style:none;}
.cost-basic-card .include li + li{margin-top:10rem;}
.cost-basic-card .include li{display:flex;align-items:center;gap:10rem;font-size:var(--font18);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:-.36rem;color:var(--wh);}
.cost-basic-card .include li img{flex:none;width:20rem;height:20rem;}
.cost-cta{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:16rem 32rem;border-radius:999px;background:var(--wh);color:var(--bk-deep);font-size:var(--font18);font-weight:var(--fw-semibold);line-height:1.5;letter-spacing:-.36rem;}

.cost-detail{margin-top:60rem;padding:0 20rem;}
.cost-detail > * + *{margin-top:36rem;}
.cost-detail-tit{margin:0;font-size:var(--font24);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.48rem;color:var(--bk-deep);}
.cost-group{width:100%;}
.cost-group h4{display:flex;align-items:center;gap:10rem;margin:0;padding:0 0 10rem;font-size:var(--font20);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.4rem;color:var(--bk-deep);}
.cost-group h4 .bar{flex:none;width:4rem;height:18rem;border-radius:2px;background:var(--main-light);}
.cost-group ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--gray-200);}
.cost-group li{display:flex;align-items:center;gap:16rem;padding:14rem 0;}
.cost-group .name{flex:none;}
.cost-group .name strong{display:block;font-size:var(--font18);font-weight:var(--fw-semibold);line-height:1.5;letter-spacing:-.36rem;color:var(--bk-deep);}
.cost-group .name span{display:block;margin-top:3rem;font-size:var(--font15);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:-.3rem;color:var(--gray-500);}
.cost-group .dots{flex:1;min-width:16rem;align-self:center;height:0;border-top:1px dashed var(--gray-300);}
.cost-group .price{margin:0;flex:none;font-size:var(--font18);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.36rem;color:var(--main);white-space:nowrap;}
.cost-notes{margin:0;padding:0;list-style:none;}
.cost-notes li + li{margin-top:6rem;}
.cost-notes li{display:flex;align-items:center;gap:10rem;font-size:var(--font16);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:-.32rem;color:var(--gray-500);}
.cost-notes li::before{content:"";flex:none;width:4rem;height:4rem;border-radius:50%;background:var(--gray-500);}

/* Goods — 좌측 메인 이미지 + 우측 텍스트/썸네일 */
.funeral-goods-top{padding-bottom:150rem;}
.goods-list{width:100%;}
.goods-block{
  display:flex;align-items:center;justify-content:space-between;gap:40rem;
  width:100%;padding:100rem 0;border-bottom:1px solid var(--gray-200);
}
.goods-block:first-child{padding-top:0;}
.goods-block:last-child{border-bottom:0;padding-bottom:0;}

.goods-visual{flex:0 1 656rem;width:656rem;}
.goods-main{
  position:relative;aspect-ratio:656/384;
}
.goods-main::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:38%;
  background:linear-gradient(180deg,rgba(78,60,42,0) 20%,rgba(78,60,42,.4) 100%);
  pointer-events:none;
}
.goods-label{
  position:absolute;right:64rem;bottom:40rem;z-index:1;
  font-size:var(--font24);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.48rem;color:var(--wh);
}

.goods-info{
  display:flex;flex-direction:column;justify-content:center;
  flex:0 1 540rem;width:540rem;
}
.goods-info h3{
  margin:0;font-size:var(--font45);font-weight:var(--fw-bold);line-height:1.4;letter-spacing:-.45rem;color:var(--bk-deep);
}
.goods-info .desc{margin:24rem 0 0;font-size:var(--font18);line-height:1.5;letter-spacing:-.36rem;color:var(--gray-500);}
.goods-info .goods-thumbs{margin-top:60rem;}

.goods-thumbs{display:flex;flex-wrap:wrap;gap:20rem;margin:0;padding:0;list-style:none;}
.goods-thumbs li{flex:none;}
.goods-thumb{
  display:block;width:120rem;aspect-ratio:1;padding:0;overflow:hidden;
  border:2px solid transparent;background:none;cursor:pointer;
  transition:border-color var(--transition-base);
}
.goods-thumb .con-img{width:100%;height:100%;aspect-ratio:1;}
.goods-thumb.is-on{border-color:var(--main-light);}
.goods-thumb:focus-visible{outline:2px solid var(--main-light);outline-offset:2px;}

/* Goods images — main 656:384 / thumb 1:1 별도 크롭 */
.goods-main-img-shroud-0{background:url('../img/sub/funeral/goods_shroud_0_main.jpg') no-repeat center / cover;}
.goods-main-img-shroud-1{background:url('../img/sub/funeral/goods_shroud_1_main.jpg') no-repeat center / cover;}
.goods-main-img-shroud-2{background:url('../img/sub/funeral/goods_shroud_2_main.jpg') no-repeat center / cover;}
.goods-main-img-shroud-3{background:url('../img/sub/funeral/goods_shroud_3_main.jpg') no-repeat center / cover;}
.goods-main-img-casket-0{background:url('../img/sub/funeral/goods_casket_0_main.jpg') no-repeat center / cover;}
.goods-main-img-casket-1{background:url('../img/sub/funeral/goods_casket_1_main.jpg') no-repeat center / cover;}
.goods-main-img-casket-2{background:url('../img/sub/funeral/goods_casket_2_main.jpg') no-repeat center / cover;}
.goods-main-img-urn-0{background:url('../img/sub/funeral/goods_urn_0_main.jpg') no-repeat center / cover;}
.goods-main-img-urn-1{background:url('../img/sub/funeral/goods_urn_1_main.jpg') no-repeat center / cover;}
.goods-main-img-urn-2{background:url('../img/sub/funeral/goods_urn_2_main.jpg') no-repeat center / cover;}
.goods-main-img-urn-3{background:url('../img/sub/funeral/goods_urn_3_main.jpg') no-repeat center / cover;}

.goods-thumb-img-shroud-0{background:url('../img/sub/funeral/goods_shroud_0_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-shroud-1{background:url('../img/sub/funeral/goods_shroud_1_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-shroud-2{background:url('../img/sub/funeral/goods_shroud_2_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-shroud-3{background:url('../img/sub/funeral/goods_shroud_3_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-casket-0{background:url('../img/sub/funeral/goods_casket_0_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-casket-1{background:url('../img/sub/funeral/goods_casket_1_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-casket-2{background:url('../img/sub/funeral/goods_casket_2_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-urn-0{background:url('../img/sub/funeral/goods_urn_0_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-urn-1{background:url('../img/sub/funeral/goods_urn_1_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-urn-2{background:url('../img/sub/funeral/goods_urn_2_thumb.jpg') no-repeat center / cover;}
.goods-thumb-img-urn-3{background:url('../img/sub/funeral/goods_urn_3_thumb.jpg') no-repeat center / cover;}

/* Memorial stone — full-bleed banner */
.goods-stone-banner{
  position:relative;display:flex;align-items:center;
  width:100%;padding:100rem 0;
  background:url('../img/sub/funeral/goods_stone_banner.jpg') no-repeat center / cover;
}
.goods-stone-banner::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(51,36,22,.51) 11%,rgba(51,36,22,0) 64%);
  pointer-events:none;
}
.goods-stone-banner .inner{position:relative;z-index:1;}
.goods-stone-banner .banner-txt{color:var(--wh);}
.goods-stone-banner .banner-txt h3{
  margin:0;font-size:var(--font45);font-weight:var(--fw-bold);line-height:1.4;letter-spacing:-.45rem;
}
.goods-stone-banner .banner-txt p{
  margin:20rem 0 0;font-size:var(--font20);line-height:1.5;letter-spacing:-.4rem;
}

/* Memorial stone — feats + items */
.goods-stone-body{padding:150rem 0;}
.stone-feats{display:flex;gap:30rem;width:100%;}
.stone-feat{flex:1;}
.stone-feat .con-img{width:100%;aspect-ratio:635/350;}
.stone-feat .txt{margin-top:20rem;}
.stone-feat-img--plasma{background:url('../img/sub/funeral/goods_stone_plasma.jpg') no-repeat center / cover;}
.stone-feat-img--result{background:url('../img/sub/funeral/goods_stone_result.jpg') no-repeat center / cover;}
.stone-feat h4{margin:0;font-size:var(--font24);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:-.48rem;color:var(--bk-deep);}
.stone-feat p{margin:12rem 0 0;font-size:var(--font18);line-height:1.5;letter-spacing:-.36rem;color:var(--gray-500);}

.stone-items{display:flex;gap:30rem;width:100%;margin:100rem 0 0;padding:0;list-style:none;}
.stone-item-group{
  flex:1;display:grid;grid-template-columns:1fr 1fr;
  column-gap:30rem;row-gap:20rem;
}
.stone-item-group .con-img{width:100%;aspect-ratio:1;}
.stone-item-img--jewelry-0{background:url('../img/sub/funeral/goods_stone_item_01.jpg') no-repeat center / cover;}
.stone-item-img--jewelry-1{background:url('../img/sub/funeral/goods_stone_item_02.jpg') no-repeat center / cover;}
.stone-item-img--case-0{background:url('../img/sub/funeral/goods_stone_item_03.jpg') no-repeat center / cover;}
.stone-item-img--case-1{background:url('../img/sub/funeral/goods_stone_item_04.jpg') no-repeat center / cover;}
.stone-item-group strong{
  grid-column:1;font-size:var(--font24);font-weight:var(--fw-bold);
  line-height:1.5;letter-spacing:-.48rem;color:var(--bk-deep);
}

/* Facility CTA — Figma 194:165 */
.facility-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:30rem;margin-top:100rem;}
.facility-cta{
  position:relative;display:flex;align-items:center;
  height:180rem;padding:0 40rem;overflow:hidden;color:var(--wh);
}
.facility-cta--consult{background:linear-gradient(89.64deg,var(--main-light) 0%,var(--main) 99.9%);}
.facility-cta--process{background:#75542b;}
.facility-cta .facility-cta-img{position:absolute;pointer-events:none;}
.facility-cta--consult .facility-cta-img{
  top:-34rem;left:350rem;width:371rem;height:248rem;
}
.facility-cta--consult .facility-cta-img::before{
  content:"";position:absolute;inset:0;
  background:url('../img/sub/funeral/facility_cta_consult.jpg') no-repeat center / cover;
  opacity:.4;
}
.facility-cta--consult .facility-cta-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#424f25 3.5%,rgba(66,79,37,0) 78.4%);
}
.facility-cta--process .facility-cta-img{
  top:-56rem;right:-80rem;width:476rem;height:292rem;
  background:url('../img/sub/funeral/facility_cta_process.jpg') no-repeat center / cover;
}
.facility-cta--process .facility-cta-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(270deg,rgba(117,84,43,0) 36.5%,#75542b 99.6%);
}
.facility-cta .txt{position:relative;z-index:1;}
.facility-cta strong{display:block;font-size:var(--font24);font-weight:var(--fw-bold);letter-spacing:-.48rem;line-height:1.5;}
.facility-cta span{display:block;margin-top:6rem;font-size:var(--font18);letter-spacing:-.36rem;line-height:1.5;}

@media screen and (max-width:1024px){
  .funeral-top{padding:0 0 80rem;}
  #funeral-process .funeral-top>.inner{padding:0;}
  #funeral-process .funeral-top .sec-head{padding:0 var(--pad-x);}
  .funeral-top .sub-tab{margin:40rem 0;}
  #facility-con .sec-head{margin-bottom:40rem;}
  .funeral-step{flex-direction:column-reverse !important;padding:0  var(--pad-x) 32rem;}
  .funeral-step .con-img{aspect-ratio:335/222;}
  .funeral-step .txt-box{padding:32rem 24rem;}
  .funeral-step .body{margin-top:24rem;}
  .funeral-keep{padding:80rem 0;}
  .funeral-keep .inner .sec-head{margin-bottom:40rem;}
  .funeral-keep-lst .swiper-slide{width:min(854rem, 86vw);}
  .funeral-keep-lst .keep-card{flex-direction:column;height:100%;}
  .funeral-keep-lst .con-img{
    width:100%;min-width:0;max-width:none;
    height:auto;aspect-ratio:16/10;
  }
  .funeral-keep-lst .txt{width:100%;min-width:0;padding:24rem 20rem;}
  .cost-basic-card{padding:40rem 32rem;}
  .cost-basic-in{flex-direction:column;align-items:flex-start;gap:32rem;}
  .cost-basic-divider{width:100%;height:1px;border-bottom:1px dashed rgba(255,255,255,.35); border-right:none;}
  .cost-basic-side{flex-direction:column;align-items:flex-start;gap:28rem;width:100%;}
  .cost-basic-card .price strong{font-size:48rem;}
  .cost-detail{margin-top:40rem;padding:0;}
  .funeral-goods-top{padding-bottom:60rem;}
  .goods-block{flex-direction:column;align-items:stretch;gap:24rem;padding:40rem 0;}
  .goods-visual,.goods-info{flex:none;width:100%;}
  .goods-main{aspect-ratio:335/196;}
  .goods-label{right:16rem;bottom:16rem;font-size:var(--font16);letter-spacing:-.32rem;}
  .goods-info .goods-thumbs{margin-top:20rem;}
  .goods-info h3{font-size:28rem;line-height:1.5;letter-spacing:-.56rem;}
  .goods-info .desc{margin-top:12rem;font-size:var(--font16);letter-spacing:-.32rem;}
  .goods-thumbs{flex-wrap:nowrap;gap:8rem;}
  .goods-thumbs li{width:calc((100% - 24rem) / 4);}
  .goods-thumb{width:100%;}
  .goods-stone-banner{padding:56rem 0;}
  .goods-stone-banner::before{
    background:linear-gradient(180deg,rgba(51,36,22,.51) 31%,rgba(51,36,22,0) 74%);
  }
  .goods-stone-banner .banner-txt p{margin-top:12rem;font-size:var(--font16);letter-spacing:-.32rem;}
  .goods-stone-banner .banner-txt h3{font-size:26rem;line-height:1.5;letter-spacing:-.52rem;}
  .goods-stone-body{padding:56rem 0;}
  .stone-feats{flex-direction:column;}
  .stone-feat + .stone-feat{margin-top:32rem;}
  .stone-feat .txt{margin-top:16rem;}
  .stone-feat .con-img{aspect-ratio:335/220;}
  .stone-feat h4{font-size:var(--font20);letter-spacing:-.4rem;}
  .stone-feat p{font-size:var(--font16);letter-spacing:-.32rem;}
  .stone-items{flex-direction:column;gap:20rem;margin-top:48rem;}
  .stone-item-group{column-gap:12rem;row-gap:16rem;}
  .stone-item-group .con-img{aspect-ratio:161.5/157.5;}
  .stone-item-group strong{font-size:var(--font20);letter-spacing:-.4rem;}
  .facility-cta-row{grid-template-columns:1fr;gap:16rem;margin-top:48rem;}
  .facility-cta{height:140rem;padding:0 24rem;}
  .facility-cta strong{font-size:var(--font20);letter-spacing:-.4rem;}
  .facility-cta span{font-size:var(--font16);letter-spacing:-.32rem;}
  .facility-cta--consult .facility-cta-img{left:auto;right:-40rem;top:-20rem;width:240rem;height:180rem;}
  .facility-cta--process .facility-cta-img{right:-60rem;top:-40rem;width:280rem;height:200rem;}
}
@media screen and (max-width:800px){
  .funeral-steps{margin-top:40rem;}
  .cost-basic-card{padding:32rem 24rem;}
  .cost-basic-card .price strong{font-size:40rem;}
  .cost-group li{align-items:center;justify-content:space-between;}
  .cost-group .dots{display:none;}
  .cost-notes li{align-items:flex-start;gap:5rem;}
  .cost-notes li::before{margin-top:8rem;}
  .goods-info .desc br{display:none;}
  .cost-cta{width:100%;padding:14rem 32rem;}

  .goods-stone-banner{width:100%;height:auto;padding:56rem 0;aspect-ratio:335 / 254;align-items: flex-start;}
}
