@charset "utf-8";
/* 초기화 */
html{overflow-y:scroll}
body{margin:0;padding:0;font-size:14px;font-family:'Noto Sans KR','Malgun Gothic',dotum,sans-serif;background:#fff;color:#333}
html,h1,h2,h3,h4,h5,h6,form,fieldset,img{margin:0;padding:0;border:0}
h1,h2,h3,h4,h5,h6{font-size:1em}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
ul,dl,dt,dd{margin:0;padding:0;list-style:none}
legend{position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label,input,button,select,img{vertical-align:middle;font-size:1em}
input,button{margin:0;padding:0;font-family:inherit;font-size:1em}
input[type="submit"]{cursor:pointer}button{cursor:pointer}
textarea,select{font-family:inherit;font-size:1em}
p{margin:0;padding:0;word-break:break-all}hr{display:none}
a{color:#333;text-decoration:none}
*,:after,:before{box-sizing:border-box}
.sound_only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* 팝업 */
#hd_pop{z-index:10000;position:relative;margin:0 auto;height:0}
#hd_pop h2{position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops{position:absolute;border:1px solid #e9e9e9;background:#fff}.hd_pops img{max-width:100%}
.hd_pops_footer{padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after{display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button{padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject{background:#000;text-align:left}
.hd_pops_footer .hd_pops_close{background:#393939;position:absolute;top:0;right:0}

/* ===========================================
   헤더 (기존 유지)
   =========================================== */
#hd{position:fixed;top:0;left:0;width:100%;z-index:9999}
#hd_h1{position:absolute;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a{position:absolute;left:-9999px}
#hd_bar{background:rgba(0,0,0,0.5);transition:background 0.3s,box-shadow 0.3s;position:relative;z-index:2}
.hd_scrolled #hd_bar{background:rgba(255,255,255,0.98);box-shadow:0 2px 10px rgba(0,0,0,0.08)}
.hd_menu_open #hd_bar{background:rgba(255,255,255,0.98)}
#hd:not(.hd_index) #hd_bar{background:rgba(255,255,255,0.98);box-shadow:0 1px 5px rgba(0,0,0,0.06)}
.hd_bar_inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;height:90px;padding:0 40px}
#logo{flex-shrink:0;margin-right:20px}
#logo a{display:flex;align-items:center;gap:10px}
#logo img{height:50px;width:auto}
.logo_text{font-size:26px;font-weight:900;color:#c9a96e;letter-spacing:-1px;white-space:nowrap}
.logo_text em{font-style:normal}
/* 전화번호 버튼 (병아리 동일) */
.hd_util{display:flex;align-items:center;flex-shrink:0}
.btn_phone_ring{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  height:50px;padding:0 30px;border-radius:999px;
  background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);
  color:#fff;font-size:20px;font-weight:900;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;transition:all .3s;
}
.btn_phone_ring:hover{color:#c9a96e;border-color:rgba(201,169,110,.5);background:rgba(255,255,255,.25)}
.hd_scrolled .btn_phone_ring,.hd_menu_open .btn_phone_ring,#hd:not(.hd_index) .btn_phone_ring{
  color:#333;border-color:rgba(0,0,0,.15);background:rgba(255,255,255,.55)
}
.hd_scrolled .btn_phone_ring:hover,.hd_menu_open .btn_phone_ring:hover,#hd:not(.hd_index) .btn_phone_ring:hover{color:#c9a96e;border-color:rgba(201,169,110,.4)}

/* 우측 고정 퀵바 */
.quickbar{position:fixed;right:0;top:60%;transform:translateY(-50%);z-index:230;display:flex;flex-direction:column;gap:10px}
.qb-btn{width:56px;padding:14px 0;border:0;cursor:pointer;border-radius:18px 0 0 18px;background:#111827;color:#fff;font-weight:900;letter-spacing:-.2px;box-shadow:0 18px 40px rgba(2,8,23,.18);transition:transform .22s ease,filter .22s ease}
.qb-btn:hover{transform:translateX(-4px);filter:brightness(1.03)}
.qb-cs{height:176px;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.75em;white-space:nowrap;font-size:16px;background:linear-gradient(135deg,#0b0f14 0%,#111827 35%,#0b0f14 70%,#141a22 100%);text-shadow:0 1px 0 rgba(0,0,0,.35),0 -1px 0 rgba(255,255,255,.18)}
body.sidebar-open .quickbar{opacity:0;pointer-events:none;transform:translateY(-50%) translateX(16px)}
.qb-top{height:64px;background:#64748b;font-weight:400;letter-spacing:.02em}
@media(max-width:1020px){.quickbar{top:62%}.qb-btn{width:50px;border-radius:16px 0 0 16px}.qb-cs{height:150px}}

/* 사이드바 (병아리 동일) */
.dimmer{position:fixed;inset:0;background:rgba(2,8,23,.55);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:210}
.dimmer.on{opacity:1;pointer-events:auto}
.sidebar{position:fixed;top:0;right:0;width:360px;max-width:92vw;height:100vh;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);z-index:10050;border-left:1px solid rgba(15,23,42,.10);box-shadow:-20px 0 60px rgba(2,8,23,.18);transform:translateX(110%);transition:transform .45s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;overflow-y:auto}
.sidebar.on{transform:translateX(0)}
.side-top{padding:16px;border-bottom:1px solid rgba(15,23,42,.10);display:flex;align-items:center;justify-content:space-between}
.side-brand{display:flex;align-items:center;gap:10px}
.side-logo-img{width:46px;height:46px;object-fit:contain}
.side-brand-text{font-size:22px;font-weight:900;color:#333}
.sidebar-close{width:42px;height:42px;border:0;border-radius:12px;background:rgba(0,0,0,.06);color:#000;font-size:28px;font-weight:900;line-height:42px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sidebar-close:hover{background:rgba(0,0,0,.12)}
.side-badge{margin:12px 16px;font-size:14px;color:#334155;line-height:1.6;font-weight:900;background:rgba(12,123,209,.08);border:1px solid rgba(12,123,209,.18);padding:12px 14px;border-radius:16px}
.side-badge b{color:#0f172a;font-weight:1000}
.side-nav{padding:10px}
.side-group{border:1px solid rgba(15,23,42,.10);border-radius:16px;overflow:hidden;margin:10px 6px}
.side-head{padding:14px 14px;background:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:1000;cursor:pointer;font-size:15px}
.side-head small{color:#64748b;font-weight:900;font-size:12px}
.side-list{display:none;padding:8px;background:rgba(2,8,23,.02);border-top:1px solid rgba(15,23,42,.06)}
.side-list a{display:block;padding:10px 12px;border-radius:12px;font-weight:900;color:#334155;font-size:13px}
.side-list a:hover{background:rgba(12,123,209,.10);color:#0f172a}
.side-group.on .side-list{display:block}
.mobile_menu_btn{display:none;background:transparent;border:0;font-size:28px;color:#fff;padding:5px;cursor:pointer}
.hd_scrolled .mobile_menu_btn,.hd_menu_open .mobile_menu_btn,#hd:not(.hd_index) .mobile_menu_btn{color:#333}
#gnb{flex:1;height:90px;position:relative}
#gnb_1st{display:flex;align-items:center;justify-content:center;height:90px;margin:0;padding:0;list-style:none}
.gnb_li{position:relative;flex:1;text-align:center}
.gnb_1da{display:block;line-height:90px;font-size:18px;font-weight:700;color:#fff;transition:color 0.3s;white-space:nowrap;position:relative}
.hd_scrolled .gnb_1da,.hd_menu_open .gnb_1da,#hd:not(.hd_index) .gnb_1da{color:#333}
.gnb_li:hover .gnb_1da,.gnb_li.active .gnb_1da{color:#c9a96e !important}
.gnb_li:hover .gnb_1da:after,.gnb_li.active .gnb_1da:after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:#c9a96e}
.gnb_sub{display:none;position:absolute;top:90px;left:0;width:100%;text-align:center;padding:18px 0 22px;z-index:10}
.gnb_sub a{display:block;padding:6px 0;font-size:14px;color:rgba(255,255,255,0.75);transition:color 0.2s;line-height:2}
.gnb_sub a:hover{color:#c9a96e}
#gnb_drop_bg{display:none;position:absolute;top:90px;left:0;width:100%;height:0;background:rgba(0,0,0,0.78);z-index:1;border-top:1px solid rgba(255,255,255,0.06)}
.hd_menu_open #gnb_drop_bg{height:auto;min-height:200px}

/* 모바일 메뉴 */
#mobile_gnb_all{display:none;position:fixed;top:0;right:0;width:300px;height:100%;background:#fff;z-index:100000;box-shadow:-3px 0 15px rgba(0,0,0,0.2);overflow-y:auto}
#mobile_gnb_bg{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:99999}
.mobile_gnb_header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #eee;background:#1a1a2e}
.mobile_logo{display:flex;align-items:center;gap:8px}
.mobile_logo img{height:35px}.mobile_logo span{font-size:20px;font-weight:900;color:#c9a96e}
.mobile_gnb_close{background:transparent;border:0;font-size:22px;color:#fff}
.mobile_gnb_ul{padding:0}
.mobile_gnb_li > a{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:16px;font-weight:600;color:#333;border-bottom:1px solid #f0f0f0}
.mobile_gnb_li > a i{color:#aaa;transition:transform 0.3s}
.mobile_gnb_li.open > a{color:#c9a96e}
.mobile_gnb_li.open > a i{transform:rotate(180deg)}
.mobile_gnb_sub{display:none;background:#f9f9f9}
.mobile_gnb_sub li a{display:block;padding:13px 20px 13px 40px;font-size:14px;color:#666;border-bottom:1px solid #eee}
.mobile_gnb_sub li a:hover{color:#c9a96e}

/* ===========================================
   슬라이더 (기존 유지)
   =========================================== */
#main_slider{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden}
#main_slider .swiper{width:100%;height:100%}
#main_slider .swiper-slide{position:relative;overflow:hidden}
.swiper-fade .swiper-slide{pointer-events:none}
.swiper-fade .swiper-slide-active{pointer-events:auto}
.slide_bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;transition:transform 8s ease}
.swiper-slide-active .slide_bg{transform:scale(1.05)}
.slide_bg_fallback{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#0f3460,#1a1a2e);z-index:0}
.slide_video_wrap{overflow:hidden}
.slide_video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:1;display:block}
.slide_overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.3);z-index:2}
.slide_content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:3;width:90%;max-width:800px}
.slide_title{font-size:50px;font-weight:900;color:#fff;margin-bottom:22px;text-shadow:0 2px 15px rgba(0,0,0,0.4);letter-spacing:-1px;opacity:0;transform:translateY(30px);transition:all 0.8s ease 0.3s}
.swiper-slide-active .slide_title{opacity:1;transform:translateY(0)}
.slide_desc{font-size:18px;font-weight:300;color:rgba(255,255,255,0.9);line-height:1.9;margin-bottom:35px;text-shadow:0 1px 8px rgba(0,0,0,0.3);opacity:0;transform:translateY(30px);transition:all 0.8s ease 0.5s}
.swiper-slide-active .slide_desc{opacity:1;transform:translateY(0)}
.slide_btn{display:inline-block;padding:16px 48px;background:#2d86d9;color:#fff;font-size:17px;font-weight:700;border-radius:3px;opacity:0;transform:translateY(30px);transition:all 0.8s ease 0.7s,background 0.3s}
.swiper-slide-active .slide_btn{opacity:1;transform:translateY(0)}
.slide_btn:hover{background:#2474c0;box-shadow:0 5px 25px rgba(45,134,217,0.4)}
#main_slider .swiper-button-next,#main_slider .swiper-button-prev{color:#fff;width:55px;height:55px;background:rgba(255,255,255,0.1);transition:background 0.3s}
#main_slider .swiper-button-next:hover,#main_slider .swiper-button-prev:hover{background:rgba(255,255,255,0.25)}
#main_slider .swiper-button-next:after,#main_slider .swiper-button-prev:after{font-size:24px;font-weight:bold}
#main_slider .swiper-button-prev{left:20px}#main_slider .swiper-button-next{right:20px}
#main_slider .swiper-pagination{bottom:30px !important}
#main_slider .swiper-pagination-bullet{width:12px;height:12px;background:rgba(255,255,255,0.5);opacity:1;margin:0 5px;border-radius:50%}
#main_slider .swiper-pagination-bullet-active{background:#2d86d9;transform:scale(1.2)}

/* ===========================================
   공통 섹션 레이아웃 (병아리.zip)
   =========================================== */
.section{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:54px 0}
.section-inner{width:80%;max-width:1536px;margin:0 auto}
@media(max-width:1024px){.section-inner{width:92%}}
.sec-head{text-align:center;margin-bottom:22px}
.sec-head h2{margin:0;font-size:26px;letter-spacing:-.6px;font-weight:900}
.sec-head p{margin:10px auto 0;max-width:820px;color:#475569;line-height:1.75;font-weight:800}

/* ===========================================
   다이렉트 상품안내 (병아리.zip 동일)
   =========================================== */
.direct-products{padding:74px 0 86px}
.direct-products .sec-head{margin-bottom:34px}
.direct-title{text-align:center;font-size:40px !important;font-weight:900 !important;letter-spacing:-1.2px;margin-bottom:12px}
.direct-sub{margin:12px auto 0;max-width:820px;text-align:center;color:#475569;font-weight:850;line-height:1.75}
.direct-grid{display:grid;gap:18px;padding:12px 0}
.direct-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1200px){.direct-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.direct-grid--4{grid-template-columns:1fr}}

.direct-card{
  aspect-ratio:1/1;position:relative;display:block;overflow:hidden;border-radius:22px;
  color:#fff;text-decoration:none;box-shadow:0 22px 60px rgba(2,8,23,.18);
  transform:translateY(40px);opacity:0;
  transition:transform .62s cubic-bezier(.2,.8,.2,1),opacity .62s ease,filter .26s ease;
  transition-delay:calc(var(--d) * 120ms);
}
.direct-products.is-visible .direct-card{transform:translateY(0);opacity:1}
.direct-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(2,8,23,.10) 0%,rgba(2,8,23,.58) 72%),var(--cardbg);
  background-size:cover;background-position:center;background-repeat:no-repeat;
  transition:transform .65s ease,filter .26s ease;
}
.direct-card::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.06);opacity:.9;pointer-events:none}
.direct-card:hover{filter:grayscale(1)}
.direct-card:hover::before{filter:grayscale(1);transform:scale(1.06)}
.direct-card .card-inner{position:relative;z-index:2;padding:34px 28px}
.direct-kicker{color:#f3c74a;font-weight:900;font-size:20px;letter-spacing:-.02em;margin:0 0 10px}
.direct-name{font-size:32px;font-weight:1000;letter-spacing:-.03em;line-height:1.08;margin:0 0 10px;text-shadow:0 6px 18px rgba(0,0,0,.35)}
.direct-desc{font-size:12px;margin:0 0 16px;font-weight:850;opacity:.92}
.direct-cta{position:relative;display:inline-flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(255,255,255,.40);background:rgba(0,0,0,.18);color:#fff;font-size:15px;overflow:hidden;width:max-content}
.direct-cta i{font-style:normal;opacity:.9}
.direct-cta::before{content:"";position:absolute;inset:0;width:0%;background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.10));transition:width .65s ease;z-index:0}
.direct-cta span,.direct-cta i{position:relative;z-index:1}
.direct-card:hover .direct-cta::before{width:100%}

/* SVG 보더 드로잉 */
.card-border{overflow:visible;position:absolute;inset:16px;z-index:3;pointer-events:none}
.card-border rect{fill:none;stroke:rgba(255,255,255,.86);stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.2s ease;filter:drop-shadow(0 10px 18px rgba(2,8,23,.20))}
.direct-products.is-visible .direct-card.draw-border .card-border rect{stroke-dashoffset:0}

/* ===========================================
   내 가족의 장례처럼 (sangjo-consult)
   =========================================== */
.sangjo-consult{
  position:relative;
  background:radial-gradient(1200px 400px at 20% 30%,rgba(255,255,255,.06),transparent 60%),linear-gradient(135deg,#071223 0%,#0b1f3a 45%,#0a254f 100%);
  padding:80px 0 90px;text-align:center;
}
.sangjo-frame{width:80%;max-width:1536px;height:500px;margin:0 auto 36px;padding:14px;border:1px solid rgba(255,255,255,.55);overflow:hidden;background:rgba(255,255,255,.02);backdrop-filter:blur(2px)}
.sangjo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.sangjo-desc{color:rgba(255,255,255,.88);font-size:20px;line-height:1.65;font-weight:650;margin:0}
.sangjo-desc strong{font-weight:950;color:#fff}
.sangjo-title{margin:18px 0 0;font-size:34px;font-weight:900;letter-spacing:-0.04em;color:#f7c948}
@media(max-width:1024px){.sangjo-frame{width:92%;height:300px}.sangjo-desc{font-size:17px}.sangjo-title{font-size:28px}}
@media(max-width:768px){.sangjo-consult{padding:50px 0 60px}.sangjo-frame{width:94%;height:220px;margin-bottom:24px}.sangjo-desc{font-size:15px;line-height:1.6}.sangjo-title{font-size:24px;margin-top:12px}}

/* 메달 이미지 */
.medal-img{position:absolute;bottom:40px;left:80px;z-index:2;pointer-events:none;width:clamp(100px,10vw,150px);filter:drop-shadow(0 22px 40px rgba(0,0,0,.35))}
.animate-from-left{opacity:0;transform:translateX(-60px);animation:slideInLeft 1.2s ease-out forwards}
.medal-img{animation:slideInLeft 1.2s ease-out forwards,medalPulse 3.5s ease-in-out infinite}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:translateX(0)}}
@keyframes medalPulse{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(max-width:1024px){.medal-img{left:20px;bottom:34px;width:100px;opacity:.95}}
@media(max-width:768px){.medal-img{position:relative;left:auto;bottom:auto;display:block;margin:0 auto 16px;width:80px}}

/* ===========================================
   장례소개 (wide-funeral)
   =========================================== */
.wide-funeral{background:radial-gradient(1200px 520px at 30% 45%,rgba(0,0,0,.06),transparent 60%),#f3f5f7;padding:clamp(48px,5vw,84px) 0;overflow:hidden}
.wide-funeral__inner{width:80%;max-width:1536px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(22px,3vw,48px);align-items:center;position:relative}
@media(max-width:1024px){.wide-funeral__inner{width:92%}}
.wide-funeral__left{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-start;padding:10px 0}
.wf-title{margin:0;font-size:clamp(28px,2.6vw,44px);line-height:1.18;letter-spacing:-0.04em;color:#0f172a;font-weight:1000}
.wf-strong{font-weight:1100}
.wf-accent{color:#f59e0b;font-weight:1100}
.wf-desc{margin:18px 0 0;color:rgba(15,23,42,.70);font-weight:850;line-height:1.85;font-size:clamp(14px,1.15vw,16px)}
.wf-flower{position:absolute;left:-10px;bottom:0;width:min(260px,55vw);height:min(260px,40vw);pointer-events:none}
.flower-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left bottom;display:block}
.wide-funeral__right{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.wf-card{position:relative;border-radius:18px;overflow:hidden;min-height:210px;box-shadow:0 18px 45px rgba(2,8,23,.14);transition:transform .22s ease,filter .22s ease;border:1px solid rgba(15,23,42,.10);background:#0b1220}
.wf-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,23,.20) 0%,rgba(2,8,23,.56) 78%),var(--wfbg);background-size:cover;background-position:center;transition:transform .6s ease,filter .22s ease}
.wf-card:hover{transform:translateY(-3px)}
.wf-card:hover::before{transform:scale(1.05);filter:saturate(1.03)}
.wf-card__top{position:relative;z-index:1;padding:18px 18px 0}
.wf-card__name{display:block;color:#fff;font-weight:1100;letter-spacing:-0.03em;font-size:26px;text-shadow:0 10px 26px rgba(0,0,0,.35)}
.wf-card__logo{position:absolute;left:18px;top:66px;width:46px;height:46px;background:url("../img/logo.png") center/contain no-repeat;filter:drop-shadow(0 10px 22px rgba(0,0,0,.30));opacity:0.95;z-index:1}
.wf-card__btn{position:absolute;right:16px;bottom:16px;z-index:1;display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:999px;background:#f59e0b;color:#0b1220;font-weight:1100;font-size:14px;box-shadow:0 14px 26px rgba(245,158,11,.30);transition:filter .22s ease,transform .22s ease}
.wf-card:hover .wf-card__btn{filter:brightness(1.03);transform:translateY(-1px)}
.wf-card--150,.wf-card--260,.wf-card--360,.wf-card--490{--wfbg:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,0))}
@media(max-width:1024px){.wide-funeral__inner{grid-template-columns:1fr}.wide-funeral__left{min-height:420px}.wide-funeral__right{gap:16px}}
@media(max-width:560px){.wide-funeral{padding:44px 0}.wide-funeral__left{min-height:360px}.wide-funeral__right{grid-template-columns:1fr}.wf-card__name{font-size:24px}}

/* ===========================================
   장례 후기 (funeral-review)
   =========================================== */
.funeral-review{position:relative;background:#0a244b;padding:clamp(56px,5vw,84px) 0;overflow:hidden}
.funeral-review::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 420px at 20% 35%,rgba(255,255,255,.10),transparent 60%),radial-gradient(700px 360px at 80% 55%,rgba(255,255,255,.07),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.06));opacity:.12;animation:reviewBgCalm 10s ease-in-out infinite}
@keyframes reviewBgCalm{0%,100%{opacity:.10}50%{opacity:.15}}
.funeral-review .sec-head h2{color:#fff}
.funeral-review .sec-head p{color:rgba(255,255,255,.78)}
.funeral-review .section-inner{padding-bottom:26px}
.review-slider{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}
.review-track{display:flex;transform:translate3d(0,0,0);will-change:transform;padding-left:max(18px,5vw);gap:32px;padding-right:max(18px,5vw)}
.review-slide{flex:0 0 100%;display:grid;grid-template-columns:1fr;gap:18px;padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:0 26px 70px rgba(0,0,0,.28);height:auto}
@media(min-width:1024px){.review-slide{flex:0 0 calc((100% - 32px)/2);grid-template-columns:340px 1fr;gap:28px;padding:28px;height:clamp(380px,22vw,460px);align-items:stretch}}
.review-img{border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(2,8,23,.18);height:100%}
.review-img img{width:100%;height:100%;object-fit:cover;display:block}
.review-text{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding:10px 0}
.review-text::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(15,23,42,.18),transparent)}
.review-text h3{margin:10px 0 6px;font-size:22px;font-weight:1000;letter-spacing:-.04em;color:#0f172a}
.review-place{display:inline-block;margin:8px 0 14px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:900;background:rgba(12,123,209,.08);border:1px solid rgba(12,123,209,.18);color:#0f172a;width:max-content}
.review-text p{margin:0;padding-top:16px;border-top:1px dashed rgba(15,23,42,.14);color:#475569;line-height:1.85;font-weight:850;font-size:14.5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;text-overflow:ellipsis;max-height:calc(1.85em * 6);word-break:keep-all}
.review-dots{width:max-content;margin:18px auto 0;display:flex;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.review-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.50);cursor:pointer;transition:.18s ease}
.review-dot.is-active{background:rgba(255,255,255,.92);width:26px}
@media(max-width:1023px){.review-img,.review-text{height:auto}.review-img{aspect-ratio:16/9}.review-track{gap:20px}}

/* ===========================================
   무료상담 신청 (contact)
   =========================================== */
.contact{border-radius:26px;border:1px solid rgba(15,23,42,.10);background:#fff;box-shadow:0 18px 40px rgba(2,8,23,.10);overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr}
@media(max-width:1020px){.contact{grid-template-columns:1fr}}

/* 좌측 안내 */
.contactl-imglike{background:#f3f3f3;padding:46px 54px;display:flex;flex-direction:column;justify-content:center;gap:26px}
.contactl-imglike .cl-top{display:flex;align-items:center;gap:16px}
.contactl-imglike .cl-logo{width:50px;height:50px;object-fit:contain;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}
.contactl-imglike .cl-brand{font-size:42px;font-weight:1000;letter-spacing:-0.04em;color:#000;line-height:1.05}
.contactl-imglike .cl-msg{font-size:30px;font-weight:1000;letter-spacing:-0.04em;line-height:1.45;color:#0b1220}
.contactl-imglike .cl-phone{font-family:'GmarketSans','Montserrat','Pretendard Variable','Noto Sans KR',system-ui,sans-serif;font-weight:900;letter-spacing:-0.02em;font-size:72px;color:#f59e0b;text-shadow:-1.5px 0 0 currentColor,1.5px 0 0 currentColor,0 -1.5px 0 currentColor,0 1.5px 0 currentColor}
@media(max-width:1020px){.contactl-imglike{padding:34px 22px;text-align:center;align-items:center}.contactl-imglike .cl-top{justify-content:center}.contactl-imglike .cl-brand{font-size:34px}.contactl-imglike .cl-msg{font-size:22px}.contactl-imglike .cl-phone{font-size:46px}}

/* 우측 폼 */
.contactr-formlike{padding:34px 34px 30px;border-left:1px solid rgba(15,23,42,.10)}
@media(max-width:1020px){.contactr-formlike{border-left:0;border-top:1px solid rgba(15,23,42,.10)}}
.fr-form{display:flex;flex-direction:column;gap:16px}
.fr-field{width:100%;margin:0}
.fr-field input,.fr-field select,.fr-field textarea{width:100%;box-sizing:border-box;border:1px solid #ccc;background:#f3fbff;border-radius:8px;padding:14px 16px;font-size:15px;font-weight:500;color:#555;outline:none}
.fr-field input::placeholder,.fr-field textarea::placeholder{color:#999;opacity:1;font-weight:500}
.fr-textarea textarea{min-height:120px;resize:vertical;padding-bottom:44px}
.fr-textarea{position:relative}
.fr-help{position:absolute;left:16px;bottom:14px;font-size:13px;font-weight:600;color:rgba(122,122,122,.75);pointer-events:none}
.fr-field input:focus,.fr-field select:focus,.fr-field textarea:focus{background:#fdf0ff;box-shadow:none;border-color:#aaa}
.fr-agree{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #ccc;background:#f3fbff;border-radius:8px;padding:12px 14px;font-size:14px;font-weight:600;color:#777;cursor:pointer}
.fr-agree input{width:18px !important;height:18px !important;flex:0 0 auto;accent-color:#2d86d9}
.fr-submit{display:block;width:min(520px,82%);margin:6px auto 0;height:84px;border:0;border-radius:10px;background:#2d86d9;color:#fff;font-size:34px;font-weight:1000;letter-spacing:-0.02em;cursor:pointer;box-shadow:none}
.fr-submit:hover{filter:brightness(1.02)}
@media(max-width:768px){.contactr-formlike{padding:22px 18px}.fr-field input,.fr-field select,.fr-field textarea{font-size:14px;padding:12px}.fr-submit{height:64px;font-size:24px;width:88%}}

/* ===========================================
   서브페이지 레이아웃
   =========================================== */

/* 서브 비주얼 배너 */
.sub_visual{
  position:relative;width:100%;height:280px;overflow:hidden;margin-top:90px;
  display:flex;align-items:center;justify-content:center;
}
.sub_visual_bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#0b1f3a 0%,#0a254f 40%,#071223 100%);
  z-index:0;
}
.sub_visual_bg::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(800px 300px at 20% 40%,rgba(255,255,255,.06),transparent 60%),
    radial-gradient(600px 250px at 80% 60%,rgba(255,255,255,.04),transparent 60%);
  pointer-events:none;
}
.sub_visual_overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.15);
  z-index:1;
}
.sub_visual_content{
  position:relative;z-index:2;text-align:center;
}
.sub_visual_title{
  font-size:42px;font-weight:900;color:#fff;letter-spacing:-0.04em;
  margin:0 0 16px;text-shadow:0 4px 20px rgba(0,0,0,.3);
}

/* 브레드크럼 */
.sub_breadcrumb{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 20px;border-radius:999px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.15);
}
.sub_breadcrumb a{
  color:rgba(255,255,255,.7);font-size:14px;font-weight:600;
  transition:color .2s;
}
.sub_breadcrumb a:hover{color:#fff}
.bc_sep{color:rgba(255,255,255,.35);font-size:14px}
.bc_current{color:#f7c948;font-size:14px;font-weight:700}

/* 서브페이지 container */
body:not(:has(.hd_index)) #wrapper{padding-top:0}
body:not(:has(.hd_index)) #container_wr{
  max-width:1536px;margin:0 auto;padding:50px 30px 80px;
}
body:not(:has(.hd_index)) #container{
  min-height:400px;margin:0;
  background:#fff;border-radius:16px;
  box-shadow:0 4px 30px rgba(0,0,0,.06);
  padding:40px;
}

/* 서브페이지 content 영역 기본 스타일 */
#container .cnt_ctt{line-height:1.8;font-size:15px;color:#444}
#container .cnt_ctt h3{font-size:22px;font-weight:800;color:#0f172a;margin:30px 0 15px;padding-bottom:10px;border-bottom:2px solid #2d86d9}
#container .cnt_ctt p{margin:10px 0}
#container .cnt_ctt img{border-radius:8px;margin:15px 0}

/* 게시판 리스트 서브페이지 보정 */
#container .tbl_head01{border-top:2px solid #2d86d9}
#container .tbl_head01 thead th{background:#f8fafc;font-weight:700;color:#0f172a;padding:14px 10px;font-size:14px}
#container .tbl_head01 tbody td{padding:13px 10px;font-size:14px;border-bottom:1px solid #eee}
#container .tbl_head01 tbody tr:hover td{background:#f0f7ff}

/* 게시판 뷰 */
#container .bo_v_tit{font-size:22px;font-weight:800;color:#0f172a;padding:20px 0;border-bottom:2px solid #2d86d9;margin-bottom:20px}
#container .bo_v_con{line-height:1.9;font-size:15px;color:#333;padding:20px 0}

/* 페이지네이션 */
#container .pg_wrap{text-align:center;margin:30px 0}
#container .pg_wrap .pg_page,
#container .pg_wrap .pg_current{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 10px;margin:0 2px;
  border-radius:8px;font-size:14px;font-weight:600;
  transition:all .2s;
}
#container .pg_wrap .pg_page{color:#555;border:1px solid #e0e0e0;background:#fff}
#container .pg_wrap .pg_page:hover{background:#f0f7ff;border-color:#2d86d9;color:#2d86d9}
#container .pg_wrap .pg_current{background:#2d86d9;color:#fff;border:1px solid #2d86d9}
#container .pg_wrap .pg_start,
#container .pg_wrap .pg_prev,
#container .pg_wrap .pg_next,
#container .pg_wrap .pg_end{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;border-radius:8px;font-size:14px;
  color:#777;border:1px solid #e0e0e0;background:#fff;
}

/* 검색 폼 */
#container .local_sch{margin:20px 0;display:flex;gap:8px;justify-content:center}
#container .local_sch input[type="text"]{
  border:1px solid #ddd;border-radius:8px;padding:10px 16px;
  font-size:14px;width:250px;outline:none;
}
#container .local_sch input[type="text"]:focus{border-color:#2d86d9}
#container .local_sch button{
  background:#2d86d9;color:#fff;border:0;border-radius:8px;
  padding:10px 24px;font-size:14px;font-weight:700;cursor:pointer;
}
#container .local_sch button:hover{background:#2474c0}

/* 글쓰기 버튼 */
#container .btn_b01{
  display:inline-flex;align-items:center;gap:6px;
  background:#2d86d9;color:#fff;border:0;border-radius:8px;
  padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;
  transition:background .2s;
}
#container .btn_b01:hover{background:#2474c0}

/* 반응형 */
@media(max-width:768px){
  .sub_visual{height:160px;margin-top:65px}
  .sub_visual_title{font-size:24px}
  .sub_breadcrumb{padding:6px 14px;gap:8px}
  .sub_breadcrumb a,.bc_sep,.bc_current{font-size:12px}
  body:not(:has(.hd_index)) #container_wr{padding:15px 15px 40px}
  body:not(:has(.hd_index)) #container{padding:15px 12px;border-radius:12px}
}

/* ===========================================
   콘텐츠 / 컨테이너
   =========================================== */
#wrapper{}
#container_wr{max-width:1200px;margin:0 auto;padding:0 20px;zoom:1}
#container_wr:after{display:block;visibility:hidden;clear:both;content:""}
#container{position:relative;min-height:400px;font-size:14px;width:100%;zoom:1}
#container:after{display:block;visibility:hidden;clear:both;content:""}

/* ===========================================
   푸터 (기존 유지)
   =========================================== */
#ft{background:#1a1a2e;color:#aaa}
#ft h1{position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr{max-width:1200px;margin:0 auto;padding:50px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}
#ft_left{flex:1;min-width:300px}#ft_right{flex:1;min-width:280px;text-align:right}
#ft_logo a{display:flex;align-items:center;gap:8px;text-decoration:none;margin-bottom:20px}
#ft_logo img{height:38px;opacity:0.85}
#ft_logo span{font-size:22px;font-weight:900;color:#c9a96e}#ft_logo em{font-style:normal}
.ft_info{font-size:13px;line-height:2;color:#777}
#ft_link{margin-bottom:20px}
#ft_link a{display:inline-block;color:#bbb;font-size:13px;padding:0 12px;border-right:1px solid #444}
#ft_link a:last-child{border-right:0}#ft_link a:hover{color:#fff}#ft_link a strong{color:#fff}
.ft_tel{margin-top:10px}
.ft_tel strong{display:block;font-size:14px;color:#ddd;margin-bottom:8px}
.ft_tel_num{display:block;font-size:34px;font-weight:900;color:#c9a96e;letter-spacing:-1px;margin-bottom:8px}
.ft_tel p{font-size:13px;color:#777;line-height:1.8}
#ft_copy{text-align:center;padding:20px;border-top:1px solid #2a2a3e;font-size:12px;color:#555}#ft_copy b{color:#999}
/* KBY 스킨 */
.lt_style{border:1px solid #e8e8e8;background:#fff;margin-bottom:15px;padding:15px}
.lt_style h2{font-size:16px;padding-bottom:10px;border-bottom:2px solid #c9a96e;margin-bottom:10px}
.lt_style h2 a{color:#333;font-weight:700}
.lt_style li{line-height:2.2em;border-bottom:1px dotted #eee}
.lt_style li a{color:#555}.lt_style li a:hover{color:#c9a96e}

/* 반응형 */
@media(max-width:1200px){.hd_bar_inner{padding:0 20px}.gnb_1da{font-size:16px}}
@media(max-width:768px){
  /* 헤더 */
  #gnb{display:none !important}#gnb_drop_bg{display:none !important}
  .hd_bar_inner{height:65px;padding:0 15px}
  #logo img{height:36px}.logo_text{font-size:20px}
  .hd_util{display:flex !important;align-items:center;gap:10px;margin-left:auto}
  .mobile_menu_btn{display:block !important;background:transparent;border:0;font-size:28px;padding:6px;cursor:pointer;color:#fff}
  .hd_scrolled .mobile_menu_btn,.hd_menu_open .mobile_menu_btn,#hd:not(.hd_index) .mobile_menu_btn{color:#333}
  .btn_phone_ring{height:38px;padding:0 14px;font-size:14px;font-weight:800;border:2px solid #2d86d9 !important;color:#2d86d9 !important;background:transparent !important;border-radius:8px}
  /* 섹션 공통 */
  .section-inner{width:94%}
  .sec-head h2{font-size:20px}.sec-head p{font-size:13px;line-height:1.6}
  /* 다이렉트 상품 */
  .direct-products{padding:40px 0 50px}
  .direct-title{font-size:24px !important}.direct-sub{font-size:13px}
  .direct-kicker{font-size:16px}.direct-name{font-size:22px}.direct-desc{font-size:11px}
  .direct-cta{font-size:13px;padding:8px 12px}
  .direct-card .card-inner{padding:24px 20px}
  .direct-card{border-radius:14px}
  /* 장례소개 */
  .wide-funeral__inner{flex-direction:column;gap:30px}
  .wide-funeral{padding:40px 0}
  .wf-title{font-size:24px !important}.wf-desc{font-size:13px !important}
  .wide-funeral__right{grid-template-columns:1fr 1fr;gap:12px}
  /* 후기 */
  .funeral-review{padding:40px 0}
  .review-text h3{font-size:18px}.review-text p{font-size:13px}
  .review-place{font-size:11px}
  /* 문의 */
  .contactl-imglike .cl-phone{font-size:40px}
  /* 퀵바 */
  .qb-cs{height:80px;font-size:12px;letter-spacing:.1em;padding:6px 0}
  /* 슬라이더 */
  #main_slider{height:100vh;min-height:500px}
  .slide_title{font-size:22px;margin-bottom:12px}.slide_desc{font-size:14px;margin-bottom:20px}.slide_btn{padding:12px 24px;font-size:14px}
  #main_slider .swiper-button-next,#main_slider .swiper-button-prev{width:36px;height:36px}
  #main_slider .swiper-button-next:after,#main_slider .swiper-button-prev:after{font-size:16px}
  /* 레이아웃 */
  #container_wr{padding:0 15px}
  #ft_wr{flex-direction:column;padding:30px 15px}#ft_right{text-align:left}.ft_tel_num{font-size:26px}
}
@media(max-width:660px){
  #main_slider{width:100%;height:0;min-height:0;padding-bottom:calc(75% + 200px);position:relative;overflow:hidden}
  #main_slider .swiper{position:absolute;top:0;left:0;width:100%;height:100%}
  #main_slider .swiper-slide{height:100%}
  .slide_video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover}
  .slide_bg{background-size:cover;background-position:center}
