/* About-Tour.html(병원 둘러보기) 페이지 전용 스타일. CSSBASE(about-base+unify) 뒤에 로드 */

/* ===== 이 페이지의 히어로만 밝은 톤/어두운 텍스트 + 패러럭스 ===== */
.tour-hero img{position:absolute;left:0;top:-16%;width:100%;height:132%;object-fit:cover;object-position:center 40%;will-change:transform;}
.tour-hero{height:clamp(300px,38vw,380px);}
.tour-hero .scrim{background:linear-gradient(105deg,rgba(240,242,244,.66) 0%,rgba(240,242,244,.4) 52%,rgba(240,242,244,.12) 100%);}
.tour-hero .crumb{font-family:"Space Grotesk",sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(102,102,102,.7);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.tour-hero .crumb a{color:rgba(102,102,102,.7);}
.tour-hero .crumb a:hover{color:#333;}
.tour-hero .crumb .sep{opacity:.4;}
.tour-hero .crumb .cur{color:var(--point);}
.tour-hero h1{font-size:clamp(28px,4vw,52px);letter-spacing:-.04em;line-height:1.08;color:#666666;}
.tour-hero h1 .en{display:block;font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:.32em;letter-spacing:.04em;color:rgba(102,102,102,.6);margin-top:12px;text-transform:uppercase;}
.tour-hero p.lead{font-size:clamp(14px,1.3vw,17px);color:rgba(102,102,102,.85);margin-top:18px;line-height:1.7;max-width:680px;font-weight:300;}

/* ===== 섹션 라벨 (메인 참고) ===== */
.sec-label{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-family:"Space Grotesk",sans-serif;}
.sec-label .num{font-size:14px;font-weight:600;color:var(--point);letter-spacing:.06em;}
.sec-label .ln{width:30px;height:1px;background:var(--point);opacity:.55;}
.sec-label .lab{font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--body);}

/* ===== 인트로 ===== */
.tour-intro{padding:clamp(64px,7vw,110px) var(--pad) clamp(8px,1.5vw,20px);}
.tour-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:end;}
.tour-intro .display{font-size:clamp(26px,3.4vw,50px);font-weight:300;line-height:1.14;letter-spacing:-.04em;color:var(--ink);}
.tour-intro .display .pt{color:var(--point);}
.tour-intro .lead{font-size:clamp(15px,1.35vw,18px);color:var(--body);line-height:1.85;padding-bottom:6px;}
.tour-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(28px,3.5vw,44px);}
.tour-jump a{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--body);border:1px solid var(--line);padding:9px 18px;border-radius:0 10px 0 10px;transition:.2s;}
.tour-jump a:hover{color:#fff;background:var(--point);border-color:var(--point);}

/* ===== 층별 섹션 ===== */
.tour-floor{padding:clamp(42px,5vw,84px) var(--pad);}
.tour-floor.soft{background:var(--soft);}
.tf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(22px,2.6vw,38px);flex-wrap:wrap;}
.tf-head h2{font-size:clamp(24px,3vw,42px);font-weight:300;letter-spacing:-.035em;line-height:1.1;color:var(--ink);}
.tf-head h2 .fl{font-family:"Space Grotesk",sans-serif;font-size:.46em;font-weight:500;color:var(--point);letter-spacing:.03em;margin-left:14px;text-transform:uppercase;}
.tf-cap{font-size:clamp(14px,1.2vw,16px);color:var(--body);line-height:1.7;max-width:400px;text-align:right;}

/* ===== 모자이크 그리드 ===== */
.tf-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(130px,13.5vw,200px);gap:clamp(12px,1.2vw,20px);grid-auto-flow:dense;}
.g-item{grid-column:span 6;grid-row:span 1;overflow:hidden;position:relative;background:var(--soft);border-radius:0 20px 0 20px;cursor:pointer;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:brightness(1.03) contrast(.96) saturate(.95);}
.g-item:hover img{transform:scale(1.05);}
.g-item.big{grid-column:span 8;grid-row:span 2;}
.g-item.tall{grid-row:span 2;}
.g-item.wide{grid-column:span 12;}
.g-item.s4{grid-column:span 4;}
.g-cap{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,11,15,.52),rgba(8,11,15,0) 52%);opacity:0;display:flex;align-items:flex-end;padding:16px 18px;transition:.25s;}
.g-item:hover .g-cap{opacity:1;}
.g-cap span{font-family:"Space Grotesk",sans-serif;font-size:12px;color:#fff;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}

/* ===== 스테이트먼트 밴드 (메인 참고, 밝은 톤) ===== */
.tour-band{position:relative;height:clamp(340px,40vw,540px);overflow:hidden;background:#e7ebee;margin:clamp(20px,3vw,40px) var(--pad);border-radius:0 28px 0 28px;}
.tour-band img{position:absolute;left:0;top:-16%;width:100%;height:148%;object-fit:cover;object-position:center 42%;will-change:transform;}
.tour-band .scrim{display:none;}
.tour-band .inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;color:#666666;padding:0 clamp(34px,5vw,64px);}
.tour-band .bk{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:22px;display:flex;align-items:center;gap:16px;text-shadow:0 2px 16px rgba(20,26,32,.4);}
.tour-band .bk::before{content:"";width:42px;height:1px;background:var(--point);}
.tour-band blockquote{font-size:clamp(26px,3.4vw,50px);font-weight:300;line-height:1.26;letter-spacing:-.03em;max-width:900px;color:#fff;text-shadow:0 4px 28px rgba(20,26,32,.45);}
.tour-band blockquote .pt{color:var(--point);font-weight:500;}
.tour-band cite{display:block;margin-top:24px;font-style:normal;font-size:14px;letter-spacing:.06em;color:rgba(255,255,255,.85);font-family:"Space Grotesk",sans-serif;text-shadow:0 2px 16px rgba(20,26,32,.4);}

/* ===== CTA ===== */
.tour-cta{margin:clamp(30px,4vw,60px) var(--page-pad) clamp(70px,8vw,120px);padding:clamp(44px,5vw,72px) clamp(34px,5vw,72px);background:var(--soft);border-radius:0 28px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;}
.tour-cta .h{font-size:clamp(22px,2.6vw,38px);font-weight:300;letter-spacing:-.03em;line-height:1.2;color:var(--ink);}
.tour-cta .s{font-size:15px;color:var(--body);margin-top:14px;line-height:1.7;}
.tour-cta .cta{display:inline-flex;align-items:center;gap:12px;background:#666666;color:#fff;font-size:16px;font-weight:700;padding:18px 34px;border-radius:0 14px 0 14px;transition:.25s;white-space:nowrap;}
.tour-cta .cta:hover{background:var(--point);transform:translateY(-2px);}

/* ===== 스크롤 리빌 ===== */
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .tf-grid .reveal:nth-child(2){transition-delay:.06s;}
  .tf-grid .reveal:nth-child(3){transition-delay:.12s;}
  .tf-grid .reveal:nth-child(4){transition-delay:.18s;}
}

/* ===== 라이트박스 ===== */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.lightbox.open{opacity:1;pointer-events:auto;}
.lb-close{position:fixed;top:24px;right:32px;color:#fff;font-size:36px;font-weight:300;cursor:pointer;opacity:.7;transition:.2s;line-height:1;font-family:sans-serif;}
.lb-close:hover{opacity:1;}
.lb-stage{display:flex;flex-direction:column;align-items:center;}
.lb-img{max-width:84vw;max-height:82vh;object-fit:contain;display:block;border-radius:0 24px 0 24px;}
.lb-cap{text-align:center;color:rgba(255,255,255,.75);font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;margin-top:16px;text-transform:uppercase;}
.lb-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:1001;color:#fff;font-size:56px;font-weight:300;line-height:1;cursor:pointer;opacity:.55;transition:opacity .2s;user-select:none;padding:16px;font-family:sans-serif;}
.lb-arrow:hover{opacity:1;}
.lb-prev{left:clamp(6px,3vw,40px);}
.lb-next{right:clamp(6px,3vw,40px);}

/* ===== 반응형 ===== */
@media(max-width:768px){
  .tour-intro-grid{grid-template-columns:1fr;gap:16px;}
  .tf-head{align-items:flex-start;}
  .tf-cap{text-align:left;}
  .tf-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(118px,26vw,175px);}
  .g-item,.g-item.s4{grid-column:span 3;}
  .g-item.big{grid-column:span 6;grid-row:span 2;}
  .g-item.wide{grid-column:span 6;}
  .g-item.tall{grid-column:span 3;grid-row:span 2;}
}
@media(max-width:520px){
  .tf-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;}
  .g-item,.g-item.s4,.g-item.big,.g-item.wide,.g-item.tall{grid-column:span 1;grid-row:span 1;aspect-ratio:4/3;}
  .g-item.big{grid-column:span 2;}
}
