/* 색상과 넓이는 여기에서 한 번에 변경할 수 있습니다. */
:root{--pink:#ac326b;--pink-dark:#882650;--blush:#fbf3f6;--ink:#302b30;--muted:#746c73;--line:#e9e0e5;--width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:16px;line-height:1.7;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:5px}img{display:block;width:100%;object-fit:cover}.wrap{width:min(var(--width),calc(100% - 96px));margin:auto}.header{height:96px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #f4edf0}.header-inner{height:100%;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;font-size:23px;font-weight:750;letter-spacing:-1px;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:3px;font-weight:500;margin-top:5px}.brand-mark{font-family:Georgia,serif;font-style:italic;font-size:55px;line-height:1;color:var(--pink);margin-right:12px}.brand-mark span{color:#d99bb5}.corporate{font-size:13px;align-self:flex-start;margin-top:12px;margin-left:3px}.header nav{display:flex;gap:44px;margin-left:auto;font-size:15px;font-weight:600}.header nav a:hover{color:var(--pink)}.header-phone{font-size:15px;color:var(--pink);border-left:1px solid var(--line);padding-left:35px;white-space:nowrap}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:#f5edef}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#f7edf0 0%,#f7edf0eb 27%,#f7edf030 78%),linear-gradient(0deg,#eee4ed4d,#f4d9e333),url('../assets/hero.jpg') center 52%/cover}.hero-content{position:relative;padding-top:87px;padding-bottom:28px}.eyebrow{color:var(--pink);font-size:12px;letter-spacing:2.3px;font-weight:700;margin:0 0 20px}h1{font-family:Georgia,"Batang",serif;font-size:clamp(36px,4.5vw,62px);letter-spacing:-2.5px;line-height:1.42;font-weight:400;margin:20px 0 22px}h1 em{font-style:normal;color:var(--pink-dark)}.hero-description{line-height:1.9;color:#5d535c;margin-bottom:32px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:52px;padding:12px 24px;font-size:14px;border-radius:3px;font-weight:600}.primary{background:var(--pink);color:white}.primary:hover{background:var(--pink-dark)}.light{background:#ffffffcf;border:1px solid #ddcbd4}.hero-foot{display:flex;justify-content:space-between;margin-top:88px;border-top:1px solid #85637326;padding-top:22px;font-size:12px;letter-spacing:1px;color:#665361}.hero-foot a{font-size:10px}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}h2{font-size:clamp(25px,3vw,36px);font-weight:600;letter-spacing:-1.5px;line-height:1.45;margin:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{color:var(--muted);font-size:14px;margin:0;line-height:1.9}.regions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.regions button{border:1px solid var(--line);color:#655c64;background:white;border-radius:30px;padding:9px 23px;font-size:14px;min-height:44px}.regions button[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff}.pilgrimage-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:stretch}.map-panel{background:#faf8f9;border:1px solid #f0e9ed;border-radius:12px;padding:23px 26px 18px;position:relative}.map-top,.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.sample-label{font-size:11px;color:var(--pink);background:#f3e4eb;padding:3px 9px;border-radius:4px;white-space:nowrap}.map-container{position:relative;width:min(100%,460px);margin:0 auto;aspect-ratio:580/620}.map-container svg{width:100%;height:100%;display:block}.province{fill:#eee6eb;stroke:#fff;stroke-width:1.25;stroke-linejoin:round}.province.active{fill:#dfb9cb}.map-label{fill:#897783;font-size:15px;text-anchor:middle;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;min-width:32px;border:4px solid #fff;background:var(--pink);color:#fff;border-radius:50%;box-shadow:0 2px 10px #67334726;font-size:11px;line-height:1;padding:0;z-index:2}.marker[aria-pressed=true]{background:#722046;box-shadow:0 0 0 7px #ad326b23}.marker:hover{scale:1.12}.map-bottom{font-size:11px}.map-bottom i{display:inline-block;width:8px;height:8px;background:var(--pink);border-radius:50%;margin-right:5px}.site-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.site-list button{font-size:12px;border:1px solid #e3d6dd;background:#fff;padding:5px 10px;border-radius:4px;min-height:36px;color:#71636d}.site-list button[aria-pressed=true]{color:var(--pink);border-color:var(--pink);background:#fcf1f6}.map-source{font-size:10px;color:#81717c;margin:12px 0 0}.detail{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.detail-photo{height:226px;position:relative;background:#eee3e9}.detail-photo img{height:100%;filter:saturate(.65)}.detail-photo .photo-caption{position:absolute;bottom:10px;left:16px;font-size:11px;background:#ffffffed;padding:4px 9px;border-radius:3px}.detail-content{padding:26px 30px}.detail-heading{display:flex;align-items:center;gap:10px;margin-bottom:5px}.detail h3{font-size:25px;letter-spacing:-1px;margin:0 0 16px}.detail .intro{font-size:14px;color:var(--muted);margin:0 0 19px;line-height:1.9}.detail dl{margin:0 0 22px;padding-top:17px;border-top:1px solid var(--line)}dl>div{display:grid;grid-template-columns:78px 1fr;gap:10px;margin:10px 0;font-size:14px}dt{color:var(--muted)}dd{margin:0}.naver-button{width:100%;border:1px solid var(--line);background:#faf9fa;color:#766c74;min-height:46px;padding:10px;text-align:center;display:block;font-size:14px;border-radius:4px}.naver-button[aria-disabled=true]{cursor:default}.verification{font-size:11px;color:#8b7b86;margin:12px 0 0}.empty{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:42px;min-height:400px}.empty h3{font-size:24px}.empty p{color:var(--muted)}.sample-notice{display:flex;gap:10px;color:#81737d;font-size:12px;margin:19px 0 0;line-height:1.8}.sample-notice span{color:var(--pink);font-weight:600;flex-shrink:0}.overseas{background:var(--blush)}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.travel-photo{aspect-ratio:1.28;position:relative;overflow:hidden;border-radius:6px}.travel-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#15262780)}.travel-photo img{height:100%;transition:transform .6s}.travel-card:hover img{transform:scale(1.04)}.travel-photo>span{position:absolute;z-index:1;bottom:21px;left:23px;font-size:11px;letter-spacing:2px;color:white}.travel-card h3{font-size:23px;letter-spacing:-.8px;margin:20px 0 5px}.travel-card p{font-size:14px;color:var(--muted);margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-intro>p:last-child{color:var(--muted);font-size:15px;line-height:2;margin-top:24px}.contact{border-left:1px solid var(--line);padding-left:60px}.contact-label{font-size:13px;color:var(--pink)}.contact-number{display:flex;align-items:center;justify-content:space-between;font-size:clamp(24px,3vw,37px);letter-spacing:-1px;font-weight:500;margin:5px 0 28px}.contact-number span{font-size:24px;color:var(--pink)}.contact dl>div{margin:16px 0}footer{background:#f8f7f8;border-top:1px solid var(--line);padding:40px 0 22px;color:#7a7078;font-size:12px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.footer-top .brand{font-size:19px;color:#68525f;gap:18px}.footer-top .brand small{font-size:9px;letter-spacing:2px;margin:0}.footer-contacts{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;display:flex;justify-content:space-between;font-size:11px}.skip{position:fixed;top:-100px;left:10px;z-index:50;background:white;padding:12px}.skip:focus{top:10px}
@media(min-width:1500px){.hero-content{padding-top:115px}.hero-foot{margin-top:110px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header-inner{gap:24px}.header nav{gap:25px}.header-phone{padding-left:20px}.pilgrimage-grid{grid-template-columns:1.15fr 1fr;gap:18px}.map-panel{padding:20px 15px}.detail-content{padding:24px}.detail-photo{height:210px}.about{gap:35px}.contact{padding-left:30px}.travel-grid{gap:18px}.hero-image{background-position:center,right center}.hero-content{padding-top:68px}.hero-foot{margin-top:70px}}
@media(max-width:720px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.header{height:78px}.header-inner{gap:15px}.brand{font-size:20px}.brand-mark{font-size:42px;margin-right:8px}.brand small{font-size:8px}.corporate{font-size:10px;margin-top:8px}.header-phone{margin-left:auto;padding:0;border:0;font-size:12px}.header-phone>span{display:none}.menu-toggle{display:flex;order:3;flex-direction:column;justify-content:center;gap:6px;width:40px;height:44px;background:none;border:0;padding:9px}.menu-toggle span{display:block;width:22px;height:2px;background:#4d3d47}.header nav{display:none;position:absolute;top:78px;left:0;right:0;margin:0;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #3f16340a}.header nav.open{display:flex;flex-direction:column;gap:0}.header nav a{padding:12px 0}.hero-content{padding-top:57px}.hero-image{background:linear-gradient(90deg,#f7edf0e8,#f7edf096),url('../assets/hero.jpg') 65% center/cover}.hero .eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:40px;letter-spacing:-2px}.hero-description{font-size:14px}.hero-actions{gap:9px}.button{padding:11px 16px;gap:19px;font-size:13px}.hero-foot{margin-top:62px;font-size:10px}.hero-foot a{display:none}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:16px;font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.7px}.regions{gap:7px}.regions button{padding:8px 17px;font-size:13px}.pilgrimage-grid{grid-template-columns:1fr;gap:20px}.map-container{max-width:390px}.map-top{font-size:12px}.detail-photo{height:240px}.detail-content{padding:25px}.map-bottom{font-size:10px}.sample-notice{font-size:11px}.travel-grid{grid-template-columns:1fr;gap:32px}.travel-photo{aspect-ratio:1.65}.travel-card h3{font-size:22px;margin-top:16px}.about{grid-template-columns:1fr;gap:28px}.contact{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-number{font-size:34px;justify-content:flex-start;gap:25px}.footer-contacts{gap:7px 20px}.footer-bottom{gap:12px;flex-wrap:wrap}.footer-top .brand small{display:none}.empty{min-height:280px}.footer-top{margin-bottom:20px}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.header-inner{gap:6px}.brand{font-size:18px}.header-phone{font-size:11px}h1{font-size:35px}.hero-description br{display:none}.button{gap:10px;padding:10px 13px}.contact-number{font-size:29px}.regions button{padding:8px 13px}.map-bottom{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* 2차 가독성 조정: 섹션 구조를 유지하고 PC 콘텐츠와 글자를 확대합니다. */
:root { --width: 1440px; }
h1 { font-weight: 700; }
@media (min-width: 721px) {
  .header { height: 104px; }
  html { scroll-padding-top: 120px; }
  .header nav, .header-phone { font-size: 18px; }
  .hero-content { padding-top: 105px; padding-bottom: 36px; }
  h1 { font-size: clamp(60px, 6.2vw, 88px); line-height: 1.3; }
  .hero-description { font-size: 20px; }
  .hero-actions .button { font-size: 17px; min-height: 60px; padding: 14px 28px; }
  .hero-foot { margin-top: 96px; font-size: 14px; }
  .hero-foot a { font-size: 12px; }
  h2 { font-size: clamp(32px, 3.3vw, 44px); }
  .eyebrow { font-size: 14px; }
  .section-heading > p { font-size: 17px; }
  .regions { gap: 10px; margin-bottom: 34px; }
  .regions button { font-size: 17px; min-height: 52px; padding: 11px 28px; }
  .map-container { width: min(100%, 575px); }
  .map-panel { padding: 28px 30px 22px; }
  .map-top { font-size: 16px; }
  .map-bottom { font-size: 13px; flex-wrap: wrap; }
  .marker { width: 40px; height: 40px; font-size: 14px; }
  .sample-label { font-size: 13px; }
  .site-list button { font-size: 14px; min-height: 42px; padding: 7px 12px; }
  .map-source { font-size: 12px; }
  .detail-photo { height: 280px; }
  .detail-photo .photo-caption { font-size: 13px; }
  .detail-content { padding: 32px 36px; }
  .detail h3 { font-size: 31px; }
  .detail .intro { font-size: 17px; }
  dl > div { font-size: 17px; grid-template-columns: 90px 1fr; margin: 14px 0; }
  .naver-button { font-size: 17px; min-height: 56px; }
  .verification, .sample-notice { font-size: 13px; }
  .travel-photo { aspect-ratio: 1.24; }
  .travel-photo > span { font-size: 13px; }
  .travel-card h3 { font-size: 28px; }
  .travel-card p { font-size: 17px; }
  .about-intro > p:last-child { font-size: 18px; }
  .contact-label { font-size: 16px; }
  .contact-number { font-size: clamp(32px, 3.3vw, 44px); }
  footer { font-size: 14px; }
  .footer-bottom { font-size: 13px; }
}
/* 태블릿에서는 확대된 글씨에 맞춰 간격만 줄입니다. */
@media (min-width: 721px) and (max-width: 1000px) {
  .header-inner { gap: 18px; }
  .header nav { gap: 20px; }
  .header-phone { padding-left: 16px; }
  .hero-content { padding-top: 80px; }
  .map-panel { padding: 22px 16px; }
  .map-top { font-size: 14px; }
  .detail-content { padding: 25px 22px; }
  .detail h3 { font-size: 27px; }
  .detail-photo { height: 260px; }
  .detail dl > div { grid-template-columns: 72px 1fr; font-size: 15px; }
  .detail .intro { font-size: 16px; }
  .contact-number { font-size: 32px; }
}
/* 휴대폰은 고정 확대 대신 화면 너비에 맞춰 자연스럽게 커집니다. */
@media (max-width: 720px) {
  h1 { font-size: clamp(38px, 10.8vw, 60px); line-height: 1.35; }
  .hero-content { padding-top: 64px; padding-bottom: 32px; }
  .hero-description { font-size: 16px; }
  .header nav { font-size: 18px; }
  .header-phone { font-size: 14px; }
  h2 { font-size: 29px; }
  .regions button { font-size: 15px; padding: 9px 18px; }
  .detail .intro, .travel-card p { font-size: 16px; }
  .detail h3, .travel-card h3 { font-size: 26px; }
  .detail dl > div { font-size: 16px; }
}
@media (max-width: 360px) {
  .header-phone { font-size: 12px; }
  .regions button { padding: 9px 14px; }
  h2 { font-size: 27px; }
  .detail-content { padding: 22px; }
  .detail dl > div { grid-template-columns: 68px 1fr; }
}

/* 제공받은 정식 로고: 원본 비율 유지, PC와 모바일별 너비 조절 */
.brand { flex-shrink: 0; }
.brand-logo { width: 270px; height: auto; object-fit: contain; }
.footer-top .brand-logo { width: 220px; }
@media (min-width: 721px) and (max-width: 1000px) {
  .header .brand-logo { width: 220px; }
  .header-inner { gap: 14px; }
  .header nav { gap: 16px; }
}
@media (max-width: 720px) {
  .header .brand-logo { width: clamp(140px, 40vw, 220px); }
  .footer-top .brand-logo { width: 190px; }
  .header-inner { gap: 8px; }
  .menu-toggle { flex-shrink: 0; }
}
@media (max-width: 360px) {
  .header .brand-logo { width: 132px; }
  .header-inner { gap: 6px; }
}
/* 성지순례 목록은 영역 안에서 스크롤하며 기존 화면 배치를 유지합니다. */
.pilgrimage .site-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:6px;align-content:start;scrollbar-gutter:stable}
.pilgrimage .site-list button{text-align:left;min-height:44px;overflow-wrap:anywhere}
.pilgrimage .detail{align-self:start;min-width:0}
.pilgrimage .detail dd,.pilgrimage .intro{white-space:pre-line;overflow-wrap:anywhere}
.pilgrimage .official-website{margin-top:10px}
.pilgrimage .map-top{flex-wrap:wrap}
.pilgrimage .regions button:disabled{opacity:.55;cursor:wait}
@media(max-width:720px){.pilgrimage .site-list{grid-template-columns:1fr;max-height:264px}}
/* 성지순례 영역의 가독성 및 선택 결과 안내 */
.pilgrimage .site-list-title{font-size:18px;margin:20px 0 4px}
.pilgrimage .site-list-help{font-size:14px;color:var(--muted);margin:0 0 8px}
.pilgrimage .site-list button{font-size:16px}
.pilgrimage .site-list button[aria-pressed=true]::before{content:'✓ ';font-weight:700}
.pilgrimage .regions button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.pilgrimage .back-to-sites{display:none}
@media(min-width:721px){.pilgrimage .detail{position:sticky;top:120px}}
@media(max-width:720px){
  .pilgrimage .regions button{font-size:16px}
  .pilgrimage .detail{scroll-margin-top:90px}
  .pilgrimage .back-to-sites{display:block;margin-top:16px}
}
/* 기존 지도 영역과 지역 이름을 지역 필터에 연결합니다. */
.pilgrimage .province[data-region],.pilgrimage .map-region{cursor:pointer}
.pilgrimage .province[data-region]:hover{fill:#dfb9cb}
.pilgrimage .map-region rect{fill:transparent;stroke:transparent;stroke-width:2}
.pilgrimage .map-region:hover .map-label,.pilgrimage .map-region[aria-pressed=true] .map-label{fill:var(--pink-dark);font-weight:700;text-decoration:underline}
.pilgrimage .map-region:focus-visible{outline:none}
.pilgrimage .map-region:focus-visible rect{stroke:var(--pink)}
.pilgrimage .map-region[aria-disabled=true]{cursor:wait}

/* 실제 성지 좌표 마커: 작은 표시점과 44px 터치 영역을 분리합니다. */
.pilgrimage .marker{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;display:grid;place-items:center;font-size:0}
.pilgrimage .marker::before{content:'';width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--pink);box-shadow:0 1px 5px #86415b66}
.pilgrimage .marker[aria-pressed=true],.pilgrimage .marker:hover,.pilgrimage .marker:focus-visible{background:transparent;box-shadow:none;transform:translate(-50%,-50%)}
.pilgrimage .marker[aria-pressed=true]{z-index:5}
.pilgrimage .marker:focus{z-index:8}
.pilgrimage .marker[aria-pressed=true]::before,.pilgrimage .marker:focus-visible::before{background:#722046;box-shadow:0 0 0 4px #eec0d3;transform:scale(1.15)}
.pilgrimage .marker[hidden]{display:none}
.pilgrimage .map-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:9}
.pilgrimage .map-controls button{width:44px;height:44px;border:1px solid #e5c5d5;border-radius:8px;background:#fff;color:var(--pink-dark);font-size:22px;cursor:pointer}
.pilgrimage .map-container{overflow:hidden}
.pilgrimage #korea-map.zoomed{touch-action:none;cursor:grab}
.pilgrimage #korea-map.zoomed .map-region{visibility:hidden}

/* 지도 UX: 좌표를 이동하지 않고 가까운 마커를 묶어 선택합니다. */
.pilgrimage .map-cluster{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:3px solid #fff;background:var(--pink);color:#fff;font-size:16px;font-weight:700;box-shadow:0 1px 5px #86415b66;z-index:4;padding:0}
.pilgrimage .map-cluster.has-selected{background:#722046;outline:3px solid #eec0d3;z-index:6;font-size:14px}
.pilgrimage .marker[aria-pressed=true]::before{width:20px;height:20px;border:3px solid #fff;box-shadow:0 0 0 4px #ac326b55}
.pilgrimage .map-tip{position:absolute;bottom:8px;left:8px;right:8px;background:#fffffff2;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--pink-dark);pointer-events:none;z-index:7;overflow-wrap:anywhere}
.pilgrimage .map-choices{position:absolute;left:8px;right:8px;bottom:8px;max-height:65%;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #dba6bf;border-radius:8px;padding:10px;z-index:10;box-shadow:0 3px 14px #67334726}
.pilgrimage .map-choices strong{display:block;font-size:14px;color:var(--pink-dark)}
.pilgrimage .map-choices button{min-height:44px;background:var(--blush);border:1px solid var(--line);border-radius:5px;margin:4px 4px 0 0;padding:8px;font-size:14px;text-align:left}
.pilgrimage .map-choices button[data-site-id]{display:block;width:100%;overflow-wrap:anywhere}
.pilgrimage .map-tip[hidden],.pilgrimage .map-choices[hidden]{display:none}
@media(max-width:720px){.pilgrimage .map-container{width:min(100%,390px)}.pilgrimage .map-bottom{font-size:12px;flex-wrap:wrap}}

/* 해외여행 공식 상품 연결 */
#overseas .modetour-link{margin-top:18px;min-height:48px;font-size:16px;gap:12px}
#overseas .modetour-link[hidden]{display:none}
#overseas .modetour-notice{margin:22px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:720px){#overseas .modetour-link{width:100%}}

/* 회사소개: 이 영역 안에서만 적용 */
#about.company-about{display:block}
#about .company-greeting{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;padding:20px 0 64px;border-bottom:1px solid var(--line)}
#about .company-kicker{font-size:14px;color:var(--pink);margin:0 0 12px;font-weight:600}
#about h2{font-size:clamp(26px,2.8vw,36px);line-height:1.65;letter-spacing:-1.4px}
#about h2 em{font-style:normal;color:var(--pink-dark)}
#about .company-since{display:inline-block;margin-top:28px;font-size:12px;letter-spacing:3px;color:var(--muted)}
#about .company-message p{font-size:16px;line-height:1.95;color:#635761;margin:0 0 20px}
#about .company-message .company-signature{margin:30px 0 0;color:var(--ink);text-align:right}
#about .company-signature strong{font-size:21px;margin-left:12px;letter-spacing:3px;font-weight:600}
#about h3{font-size:26px;letter-spacing:-.8px;margin:0 0 26px}
#about .company-history{padding:64px 0}
#about .company-block-heading{text-align:center;margin-bottom:40px}
#about .company-timeline{list-style:none;margin:0;padding:0;position:relative}
#about .company-timeline::before{content:'';position:absolute;top:12px;bottom:24px;width:1px;background:#e6bfd0;left:50%}
#about .company-timeline>li{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:24px}
#about .company-timeline>li::before{content:'';position:absolute;left:50%;top:12px;transform:translateX(-50%);width:9px;height:9px;background:#cf85a5;border:3px solid #fff;border-radius:50%;box-sizing:content-box}
#about .company-timeline>li:nth-child(even) .timeline-entry{grid-column:2}
#about .company-timeline>li:nth-child(odd) .timeline-entry{text-align:right}
#about .timeline-entry h4{font-size:23px;color:var(--pink-dark);line-height:1.5;margin:0 0 8px;font-weight:500}
#about .timeline-entry ul{list-style:none;padding:0;margin:0;font-size:16px;color:#635761;line-height:1.8}
#about .timeline-entry ul li+li{margin-top:5px}
#about .company-timeline>.milestone::before{width:12px;height:12px;background:var(--pink);box-shadow:0 0 0 3px var(--blush)}
#about .milestone h4{font-size:28px;font-weight:700}
#about .company-strengths{padding:40px 0 64px;border-top:1px solid var(--line)}
#about .company-strength-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#about .company-strength-grid article{padding:28px;background:var(--blush);border:1px solid #f1dfe8;border-radius:10px}
#about .company-strength-grid article>span{font-size:12px;color:var(--pink);letter-spacing:2px}
#about .company-strength-grid h4{font-size:20px;margin:12px 0;font-weight:600}
#about .company-strength-grid p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}
#about .company-information{border-top:1px solid var(--line);padding-top:44px;display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
#about .company-phone{display:inline-flex;align-items:center;gap:22px;min-height:48px;font-size:clamp(25px,3vw,34px);color:var(--pink-dark)}
#about .company-information dl{margin:0}
#about .company-information dl>div{font-size:16px;margin:0 0 16px;grid-template-columns:70px 1fr}
#about .company-information dd{overflow-wrap:anywhere}
#about .company-information dd a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){
 #about .company-greeting{grid-template-columns:1fr;gap:28px;padding-top:8px;padding-bottom:40px}
 #about .company-since{margin-top:18px}
 #about .company-history{padding:44px 0 28px}
 #about .company-block-heading{text-align:left;margin-bottom:30px}
 #about .company-timeline::before{left:8px}
 #about .company-timeline>li{display:block;padding:0 0 30px 36px}
 #about .company-timeline>li::before{left:8px}
 #about .company-timeline>li:nth-child(odd) .timeline-entry{text-align:left}
 #about .company-strength-grid{grid-template-columns:1fr;gap:12px}
 #about .company-strength-grid article{padding:22px}
 #about .company-strengths{padding:32px 0 40px}
 #about .company-information{grid-template-columns:1fr;gap:26px;padding-top:32px}
}

/* 해외여행 4개 지역 카드 */
#overseas .travel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){#overseas .travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#overseas .travel-grid{grid-template-columns:1fr}}

/* 유럽 세부지역 선택 */
#overseas .europe-toggle{margin-top:18px;border:0;min-height:48px;font-size:16px;gap:12px}
#overseas .europe-categories{margin-top:32px;padding:28px;border:1px solid #e9d1dd;border-radius:10px;background:#fff;scroll-margin-top:115px}
#overseas .europe-categories[hidden]{display:none}
#overseas .europe-categories>h3{font-size:24px;margin:0 0 8px;color:var(--pink-dark)}
#overseas .europe-help{font-size:14px;color:var(--muted);margin:0 0 24px}
#overseas .europe-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#overseas .europe-category{padding:20px;background:var(--blush);border:1px solid var(--line);border-radius:8px;min-width:0}
#overseas .europe-category h4{font-size:18px;margin:0 0 12px;color:var(--pink-dark)}
#overseas .europe-category p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 8px}
#overseas .europe-category .modetour-pending{margin-top:18px;font-size:13px}
@media(max-width:1100px){#overseas .europe-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#overseas .europe-toggle{width:100%}#overseas .europe-categories{padding:20px;scroll-margin-top:95px}#overseas .europe-category-grid{grid-template-columns:1fr}}

/* 해외여행 상위 7개 지역 선택 */
#overseas .overseas-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#overseas .overseas-regions button{min-height:72px;padding:16px;border:1px solid #dfbfd0;border-radius:8px;background:#fff;color:var(--pink-dark);font-size:16px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
#overseas .overseas-regions button[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff;font-weight:700;box-shadow:inset 0 0 0 2px #fff5}
#overseas .region-pending{color:var(--muted);font-size:16px;margin:16px 0 0}
#overseas .region-pending[hidden],#overseas .europe-help[hidden]{display:none}
@media(max-width:720px){#overseas .overseas-regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#overseas .overseas-regions button{padding:12px;min-height:72px}}

/* 성지 탐색: PC 양쪽 동일 높이, 긴 내용은 각 영역 안에서 스크롤 */
@media(min-width:721px){
  #pilgrimage .pilgrimage-grid{height:clamp(800px,90vh,960px);min-height:0}
  #pilgrimage .map-panel{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  #pilgrimage .map-panel> :not(.site-list){flex-shrink:0}
  #pilgrimage .map-container{width:min(100%,390px)}
  #pilgrimage .site-list{flex:1 1 0;min-height:0;max-height:none;overflow-y:auto}
  #pilgrimage .detail{position:static;align-self:stretch;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
}
@media(max-width:720px){
  #pilgrimage .pilgrimage-grid{height:auto}
  #pilgrimage .map-panel,#pilgrimage .detail{height:auto;max-height:none}
  #pilgrimage .detail{overflow:visible}
  #pilgrimage .site-list{max-height:none;overflow:visible;overscroll-behavior:auto}
}

/* 회사소개: 인사말과 실제 사진 교체용 공간 */
#about .company-greeting{grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:48px;align-items:start}
#about .company-ceo-copy{min-width:0}
#about .company-message{margin-top:30px}
#about .company-since{margin-top:18px}
#about .company-ceo-photo{margin:0;min-width:0;border:1px solid #e6bfd0;border-radius:12px;overflow:hidden;background:var(--blush)}
#about .company-photo-placeholder{aspect-ratio:4/5;display:grid;place-items:center;color:var(--pink-dark);font-size:20px;letter-spacing:2px}
#about .company-ceo-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
#about .company-ceo-photo figcaption{padding:18px 20px;border-top:1px solid #e6bfd0;background:white;color:var(--pink-dark);font-size:16px}
#about .company-strength-grid article{background:white;border-color:#e6bfd0}
#about .company-promise{padding:28px 32px;margin-bottom:40px;background:var(--blush);border-left:3px solid var(--pink)}
#about .company-promise h3{font-size:24px;margin-bottom:16px;color:var(--pink-dark)}
#about .company-promise p{font-size:16px;line-height:1.9;margin:0;color:var(--muted)}
@media(max-width:720px){#about .company-greeting{grid-template-columns:1fr;gap:28px}#about .company-ceo-photo{width:100%;max-width:400px;justify-self:center}#about .company-promise{padding:24px 20px}#about .company-promise h3{font-size:22px}}

/* CEO 인사말의 라벨·본문·사진 카드 균형 */
#about .company-greeting{align-items:center;column-gap:clamp(28px,4vw,64px)}
#about .company-greeting .company-kicker{font-size:12px;letter-spacing:2px;margin:0 0 16px}
#about .company-greeting h2{font-size:clamp(26px,2.4vw,34px);line-height:1.65}
#about .company-greeting h2 em{color:var(--pink)}
#about .company-greeting .company-since{font-size:11px;letter-spacing:2px;margin-top:24px;color:#8b737f}
#about .company-message{max-width:590px;margin-top:18px}
#about .company-message p{line-height:2;margin:0 0 22px}
#about .company-message p:last-child{margin-bottom:0}
#about .company-ceo-photo{width:100%;max-width:420px;justify-self:center;box-shadow:0 8px 28px #88265006}
#about .company-ceo-photo figcaption{padding:22px 24px;display:flex;align-items:baseline;justify-content:center;gap:14px}
#about .company-ceo-photo figcaption span{font-size:14px;color:var(--muted)}
#about .company-ceo-photo figcaption strong{font-size:21px;font-weight:600;letter-spacing:3px;color:var(--ink)}
@media(max-width:720px){#about .company-greeting{gap:32px}#about .company-message{max-width:none}#about .company-ceo-photo{max-width:360px}#about .company-greeting h2{font-size:26px;letter-spacing:-1px}}
/* 제공된 대표 사진의 전체 구도 보존 */
#about .company-ceo-photo img{aspect-ratio:auto;height:auto;object-fit:contain;background:#fff}
#about .company-ceo-photo{max-width:520px}
@media(max-width:720px){#about .company-ceo-photo{max-width:400px}}

/* CEO 첫 화면 미세조정: 구조와 원본 사진을 유지 */
#about .company-message{max-width:560px;margin-top:22px}
#about .company-message p{line-height:2.05;margin-bottom:24px}
#about .company-message p:last-child{margin-bottom:0}
#about .company-greeting .company-since{margin-top:32px}
#about .company-ceo-photo figcaption span{font-size:13px;color:#80717a}
#about .company-ceo-photo figcaption strong{font-size:18px;font-weight:500;letter-spacing:2px;color:#6f5e68}
#about .ceo-tone-filter{position:absolute;pointer-events:none}
#about .company-ceo-photo img{filter:url(#ceo-soft-pink)}
@media(max-width:720px){#about .company-message{max-width:100%}#about .company-message p{line-height:2;margin-bottom:22px}#about .company-greeting .company-since{margin-top:28px}}
