/* ===== 로켓스페이스 rocketspace.kr =====
   Wix 사이트를 정적 HTML/CSS/JS로 재구축
   ==================================== */

/* ---------- Fonts (Wix 업로드 한글 폰트) ---------- */
@font-face{font-family:"rs-head";src:url("../fonts/eb5304b8784847aead21a09394801fe4.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"rs-body";src:url("../fonts/b9d94e4bd35d439fb3183d12ea5dc6aa.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"rs-title";src:url("../fonts/f4477666c2f74fa4abaeb909c85d80a7.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"rs-small";src:url("../fonts/9f69c56aaed3483ea6eeb3275218dac0.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"rs-price";src:url("../fonts/af9443cf40214c97bf64589a60016221.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"rs-desk";src:url("../fonts/931128317f8f4d2c955e91a75485408d.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  --navy:#1e3054;
  --navy-2:#293b5f;
  --ink:#283b62;
  --body:#545454;
  --muted:#a0a09f;
  --gold:#cbb492;
  --accent:#5272b2;
  --soft:#fafafa;
  --ko:"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;
  --f-head:"rs-head",var(--ko);
  --f-body:"rs-body",var(--ko);
  --f-title:"rs-title",var(--ko);
  --f-small:"rs-small",var(--ko);
  --f-price:"rs-price",var(--ko);
  --f-desk:"rs-desk",var(--ko);
  --header-h:100px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--body);font-family:var(--f-body);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
p{margin:0}
h1,h2,h3{margin:0;font-weight:400}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:999;background:#fff;color:var(--ink);padding:10px 16px;border:2px solid var(--ink)}

.wrap{width:980px;max-width:100%;margin:0 auto;position:relative}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:120;height:var(--header-h);
  background:rgba(255,255,255,.6);
  backdrop-filter:saturate(180%) blur(6px);
  -webkit-backdrop-filter:saturate(180%) blur(6px);
  box-shadow:0 0 5px 0 rgba(0,0,0,.7);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
body.hdr-hidden .site-header{transform:translateY(-100%)}
body.nav-open .site-header{transform:none}
@media (prefers-reduced-motion:reduce){.site-header{transition:none}}
.site-header .wrap{height:100%;display:flex;align-items:center}
.brand{display:flex;align-items:flex-start;gap:24px;padding-left:40px;height:100%}
.brand .mark{width:76px;height:75px;margin-top:4px;object-fit:contain}
.brand .word{width:103px;height:47px;margin-top:19px;object-fit:contain}
.gnb{margin-left:auto;padding-right:166px;display:flex;align-items:center}
.gnb a{
  font-family:var(--f-title);font-size:14px;color:var(--ink);
  height:30px;display:flex;align-items:center;justify-content:center;padding:0;
  transition:opacity .2s;
}
.gnb a:hover{opacity:.55}
.gnb a:nth-child(1){width:56px}
.gnb a:nth-child(2){width:69px}
.gnb a:nth-child(3){width:82px}
.gnb a:nth-child(4){width:98px}
.burger{display:none;margin-left:auto;width:26px;height:26px;position:relative}
.burger span{position:absolute;left:0;width:100%;height:2px;background:var(--ink);transition:.3s}
.burger span:nth-child(1){top:5px}
.burger span:nth-child(2){top:12px}
.burger span:nth-child(3){top:19px}
body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .burger span:nth-child(2){opacity:0}
body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* 모바일 오버레이 메뉴 */
.m-nav{
  position:fixed;inset:0;z-index:110;background:rgba(30,48,84,.97);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  opacity:0;visibility:hidden;transition:opacity .3s;
}
body.nav-open .m-nav{opacity:1;visibility:visible}
.m-nav a{font-family:var(--f-title);font-size:22px;color:#fff;padding:18px 30px}

/* ---------- Hero ---------- */
.hero{position:relative;height:778px}
.hero-media{position:relative;height:677px}
.hero-overlay{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none}
.hero-overlay>.wrap{height:100%}
.badge-wrap{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none}
.kakao-badge,.hero-card{pointer-events:auto}
.hero-slider{position:relative;width:100%;height:677px;overflow:hidden;background:var(--navy)}
.hs-track{display:flex;height:100%;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.hs-track>figure{margin:0;flex:0 0 100%;height:100%}
.hs-track img{width:100%;height:100%;object-fit:cover}
.hs-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  color:#fff;opacity:0;transition:opacity .25s;text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.hero-slider:hover .hs-nav{opacity:.85}
.hs-nav:hover{opacity:1}
.hs-prev{left:14px}
.hs-next{right:14px}
.hs-nav svg{width:26px;height:26px}

/* 카카오 ID 배지 */
.kakao-badge{
  position:absolute;top:0;right:13px;z-index:4;
  width:227px;height:67px;background:rgba(30,48,84,.9);
  display:flex;align-items:center;gap:10px;padding-left:19px;
}
.kakao-badge img{width:25px;height:25px;object-fit:contain}
.kakao-badge span{font-family:var(--f-body);font-size:14px;line-height:21px;color:#fff}

/* 히어로 카피 박스 */
.hero-card{
  position:absolute;top:308px;left:20px;z-index:5;
  width:348px;height:414px;background:rgba(30,48,84,.9);
  color:#fff;
}
.hero-card .hc-in{padding:50px 29px 0}
.hero-card h1{font-family:var(--f-head);font-weight:700;font-size:28px;line-height:42px}
.hero-card .lead{margin-top:14px;font-size:16px;line-height:24px}
.hero-card .price-label{margin-top:42px;text-align:center;font-family:var(--f-small);font-size:15px}
.hero-card .price-label small{font-size:9px;vertical-align:baseline;margin-left:2px}
.hero-card .price{margin-top:19px;text-align:center;font-family:var(--f-head);font-weight:700;font-size:28px;line-height:normal}
.btn-line{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:2px solid #fff;color:#fff;font-family:"Open Sans",var(--ko);font-size:14px;line-height:1.4;
  transition:background-color .25s,color .25s;
}
.btn-line:hover{background:#fff;color:var(--navy)}
.btn-line:hover img{filter:none}
.hero-card .cta-row{margin-top:18px;text-align:center}
.hero-card .btn-line{width:198px;height:45px}
.hero-card .btn-line img{width:26px;height:25px;object-fit:contain}

/* ---------- 서비스 ---------- */
.sec-service{background:#fff;padding:138px 0 118px}
.sec-title{font-family:var(--f-head);font-weight:700;font-size:28px;line-height:normal;color:var(--ink);text-align:center;margin:0}
.svc-grid{
  margin-top:87px;display:grid;grid-template-columns:repeat(3,311px);
  grid-template-rows:366px 400px auto;justify-content:space-between;row-gap:0;
}
.svc{text-align:center}
.svc img{width:127px;height:126px;margin:0 auto;object-fit:contain}
.svc h3{margin-top:39px;font-family:var(--f-title);font-size:20px;line-height:1.2;color:var(--ink)}
.svc{align-self:start}
.svc ul{margin:19px 0 0;padding:0;list-style:none}
.svc li{font-size:15px;line-height:24px;color:var(--body)}
.svc li small{font-size:9px}

/* ---------- 둘러보기 헤딩 ---------- */
.tour-head{background:#fff;padding:25px 0 121px}

/* ---------- 특징 스트립 ---------- */
.strip{color:#fff;overflow:hidden}
.strip-a{background:var(--navy);height:438px}
.strip-b{background:var(--navy-2);height:434px}
.strip-c{background:var(--navy);height:434px}
.strip .wrap{height:100%;display:flex;align-items:center}
.strip figure{margin:0;flex:0 0 295px}
.strip figure img{width:295px;height:348px;object-fit:cover}
.strip .copy{flex:1 1 auto}
.strip h3{font-family:var(--f-title);font-size:18px;line-height:1.2}
.strip .sub{margin-top:26px;font-size:16px;line-height:24px;color:var(--gold)}
.strip .desc{margin-top:27px;font-size:16px;line-height:24px;color:#ccc}
.strip .price{margin-top:40px;font-family:var(--f-price);font-size:18px;line-height:1.2;color:var(--accent)}
.strip .price b{font-weight:700}
.strip .btn-line{width:142px;height:40px;margin-top:45px}

.strip-a figure{margin-left:131px;align-self:flex-start;margin-top:-43px}
.strip-a .copy{margin-left:54px;padding-right:134px}
.strip-a .btn-row{text-align:right}
.strip-b .copy{margin-left:160px}
.strip-b figure{margin-left:88px;margin-right:142px;align-self:flex-start;margin-top:82px}
.strip-c figure{margin-left:159px;align-self:flex-start;margin-top:55px}
.strip-c .copy{margin-left:88px;padding-right:100px}

/* ---------- 사진 슬라이더 ---------- */
.photo-strip{background:var(--soft);padding:19px 0}
.photo-viewport{position:relative}
.photo-rail{
  margin:0;padding:0;list-style:none;
  display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;
}
.photo-rail::-webkit-scrollbar{display:none}
.photo-rail>li{flex:0 0 356px;scroll-snap-align:start}
.ph{display:block;width:356px;height:475px;padding:0;overflow:hidden;cursor:pointer;background:#e9e9e9}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s}
.ph:hover img{transform:scale(1.05);filter:brightness(.92)}
.ph:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.ph-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:23px;height:39px;color:#fff;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.6));
  opacity:.9;transition:opacity .2s;
}
.ph-nav svg{width:100%;height:100%}
.ph-nav:hover{opacity:1}
.ph-nav[disabled]{opacity:0;pointer-events:none}
.ph-prev{left:28px}
.ph-next{right:28px}

/* ---------- 찾아오는 길 ---------- */
.sec-location{background:#fff;padding:101px 0 189px}
.loc-grid{margin-top:72px;display:flex;align-items:flex-start;gap:0}
.loc-info{flex:0 0 350px;padding-left:20px}
.loc-info h3{font-family:var(--f-title);font-size:18px;line-height:23.4px;color:var(--ink)}
.loc-info p{margin-top:5px;font-size:16px;line-height:24px;color:var(--muted)}
.loc-info .blk+.blk{margin-top:49px}
.loc-map{flex:0 0 627px;max-width:100%;height:339px;margin-left:0}
.loc-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(0)}

/* ---------- Footer ---------- */
.site-footer{background:var(--gold);color:#fff;padding:50px 0 33px}
.foot-top{display:flex;align-items:flex-start;justify-content:space-between;padding:0 21px 0 20px}
.foot-desk h3{font-family:var(--f-desk);font-size:18px;line-height:1.2}
.foot-desk .kid{margin-top:12px;font-family:var(--f-desk);font-size:18px;line-height:1.2}
.foot-desk .hours{margin-top:57px;font-size:15px;line-height:20px}
.foot-biz{text-align:right;font-size:14px;line-height:18.2px}
.foot-biz p+p{margin-top:1px}
.foot-logo{margin-top:55px;display:flex;justify-content:center}
.foot-logo-m{display:none}
.foot-logo img{width:106px;height:46px;object-fit:contain}

/* ---------- 플로팅 상담 버튼 ---------- */
.fab{position:fixed;right:20px;bottom:20px;z-index:200;width:62px;height:62px;
  transition:transform .2s;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.fab:hover{transform:scale(1.06)}
.fab img{width:100%;height:100%}

/* ================= 태블릿 ================= */
@media (max-width:1060px){
  .wrap{padding:0 20px}
  .brand{padding-left:0}
  .gnb{padding-right:0}
  .hero-card{left:20px}
  .kakao-badge{right:20px}
  .svc-grid{grid-template-columns:repeat(3,1fr);column-gap:24px}
  .strip-a figure{margin-left:0}
  .strip-a .copy{margin-left:40px;padding-right:0}
  .strip-b .copy{margin-left:0}
  .strip-b figure{margin-left:40px;margin-right:0}
  .strip-c figure{margin-left:0}
  .strip-c .copy{margin-left:40px;padding-right:0}
  .loc-info{flex:0 0 300px;padding-left:0}
  .loc-map{flex:1 1 auto}
  .loc-map{margin-left:24px}
  .foot-top{padding:0}
}

/* ================= 모바일 ================= */
@media (max-width:767px){
  :root{--header-h:87px}
  .wrap{padding:0 20px}

  .gnb{display:none}
  .burger{display:block}
  .brand{gap:14px}
  .brand .mark{width:67px;height:67px}
  .brand .word{width:85px;height:39px}

  /* 히어로: 이미지 위 · 카피 아래 */
  .hero{height:auto}
  .hero-media{height:auto}
  .hero-overlay{position:static;height:auto;pointer-events:auto}
  .hero-overlay>.wrap{height:auto;padding:0}
  .badge-wrap{padding:0}
  .hero-slider{height:470px}
  .hs-nav{display:none}
  .kakao-badge{top:auto;bottom:0;right:0;width:210px;height:57px;padding-left:12px;gap:8px}
  .kakao-badge img{width:30px;height:30px}
  .kakao-badge span{font-size:15px}
  .hero-card{position:static;width:100%;height:auto;background:rgba(30,48,84,.9);padding-bottom:42px}
  .hero-card .hc-in{padding:39px 21px 0}
  .hero-card h1{font-size:30px;line-height:46px}
  .hero-card .lead{margin-top:22px;font-size:18px;line-height:27px}
  .hero-card .price-label{margin-top:52px;text-align:left;font-size:15px}
  .hero-card .price-label small{font-size:12px}
  .hero-card .price{margin-top:16px;text-align:center;font-size:27px}
  .hero-card .cta-row{margin-top:31px}
  .hero-card .btn-line{width:244px;height:61px;font-size:17px;gap:10px}
  .hero-card .btn-line img{width:36px;height:36px}

  /* 서비스 */
  .sec-service{padding:37px 0 40px}
  .sec-title{font-size:28px;line-height:42px}
  .svc-grid{margin-top:33px;grid-template-columns:1fr;grid-template-rows:none;row-gap:28px}
  .svc img{width:144px;height:140px}
  .svc h3{margin-top:38px;font-size:26px}
  .svc ul{margin-top:20px}
  .svc li{font-size:17px;line-height:27px}
  .svc li small{font-size:13px}

  /* 둘러보기 헤딩은 원본 모바일과 동일하게 미노출 */
  .tour-head{display:none}

  /* 스트립: 이미지 위 · 텍스트 아래 */
  .strip{height:auto!important;padding:0 0 105px}
  .strip .wrap{display:flex;flex-direction:column;align-items:stretch;padding:0 22px}
  .strip figure{order:-1;flex:0 0 auto;margin:-54px 0 0!important;align-self:auto!important;transform:none}
  .strip figure img{width:100%;height:390px}
  .strip .copy{margin:44px 0 0!important;padding:0!important}
  .strip h3{font-size:21px}
  .strip .sub{margin-top:24px;font-size:17px;line-height:26px}
  .strip .desc{margin-top:26px;font-size:17px;line-height:26px}
  .strip-c .sub,.strip-c .desc{font-size:16px;line-height:24px}
  .strip .price{margin-top:31px;font-size:21px}
  .strip .btn-line{width:195px;height:51px;margin-top:26px}
  .strip .btn-row{text-align:center!important}

  /* 사진 슬라이더 */
  .photo-strip{padding:22px 0}
  .photo-rail{gap:12px;padding:0 20px}
  .photo-rail>li{flex:0 0 76vw}
  .ph{width:76vw;height:calc(76vw * 1.334)}
  .ph:hover img{transform:none;filter:none}
  .ph-nav{display:none}

  /* 찾아오는 길 */
  .sec-location{padding:56px 0 40px}
  .loc-grid{margin-top:44px;display:block}
  .loc-info{padding-left:0}
  .loc-info h3{font-size:21px;line-height:1.3}
  .loc-info p{margin-top:8px;font-size:16px;line-height:24px}
  .loc-info .blk+.blk{margin-top:38px}
  .loc-map{margin:38px 0 0;height:300px}

  /* 푸터 */
  .site-footer{padding:15px 0 20px}
  .foot-top{display:block;padding:0 12px}
  .foot-desk h3{font-size:18px}
  .foot-desk .kid{margin-top:12px;font-size:17px}
  .foot-desk .hours{margin-top:16px;font-size:15px;line-height:20px}
  .foot-biz{margin-top:14px;text-align:center;font-size:12px;line-height:16px}
  .foot-biz p[style]{margin-top:14px!important}
  .foot-logo{display:none}
  .foot-logo-m{display:flex;margin-top:28px;margin-bottom:0}
  .foot-logo-m img{width:85px;height:37px}
  .site-footer{padding:15px 0 26px}

  .fab{width:61px;height:61px;right:14px;bottom:16px}
}

/* ================= about-1 페이지 ================= */
.about-hero{padding:91px 0 0;text-align:center}
.about-hero h1{font-family:var(--f-head);font-size:56px;line-height:1.2;color:var(--ink)}
.about-hero .lead{margin-top:15px;font-family:var(--f-title);font-size:20px;color:var(--ink)}
.about-hero .desc{margin-top:50px;font-size:18px;line-height:32.4px;color:var(--ink)}
.about-band{margin-top:66px;height:383px;overflow:hidden;background:#ccad9f}
.about-band img{width:100%;height:100%;object-fit:cover}
.about-lead{padding:84px 0 0;text-align:center}
.about-lead h2{font-family:var(--f-price);font-size:38px;line-height:1.32;color:var(--ink)}
.about-lead p{margin-top:38px;font-size:16px;line-height:28.8px;color:var(--ink)}
.about-gallery{margin-top:74px;display:grid;grid-template-columns:repeat(3,1fr);max-width:1329px;margin-left:auto;margin-right:auto}
.about-gallery img{width:100%;aspect-ratio:443/431;object-fit:cover}
.about-gallery img:nth-child(4){grid-column:2}
.about-driver{padding:130px 0 90px;text-align:center}
.about-driver h2{font-family:var(--f-price);font-size:38px;line-height:1.2;color:var(--ink)}
.about-driver .soon{margin-top:135px;display:inline-flex;align-items:center;justify-content:center;
  width:137px;height:45px;background:#0b2f5b;color:#fff;font-family:var(--f-desk);font-size:17px}

@media (max-width:767px){
  .about-hero{padding:44px 0 0}
  .about-hero h1{font-size:32px}
  .about-hero .lead{margin-top:14px;font-size:17px;line-height:1.5}
  .about-hero .desc{margin-top:28px;font-size:16px;line-height:27px}
  .about-band{margin-top:36px;height:180px}
  .about-lead{padding:44px 0 0}
  .about-lead h2{font-size:26px}
  .about-lead p{margin-top:24px;font-size:16px;line-height:27px}
  .about-gallery{margin-top:40px;grid-template-columns:repeat(2,1fr)}
  .about-gallery img:nth-child(4){grid-column:auto}
  .about-driver{padding:60px 0 50px}
  .about-driver h2{font-size:24px}
  .about-driver .soon{margin-top:50px}
}


/* ---------- 사진 라이트박스 ---------- */
.lightbox{
  position:fixed;inset:0;z-index:300;background:#12141a;
  display:flex;align-items:center;justify-content:center;
}
.lightbox[hidden]{display:none}
.lb-stage img{animation:lbZoom .28s ease-out}
@keyframes lbZoom{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lb-stage img{animation:none}}
.lb-bar{
  position:absolute;left:40px;top:34px;right:120px;z-index:2;
  display:flex;align-items:baseline;gap:14px;pointer-events:none;
}
.lb-title{
  font-family:var(--f-title);font-size:20px;line-height:1.3;color:#fff;
  font-weight:400;margin:0;
}
.lb-count{font-family:var(--f-body);font-size:14px;color:rgba(255,255,255,.6)}
.lb-close{
  position:absolute;top:28px;right:34px;z-index:3;width:34px;height:34px;
  color:#fff;opacity:.8;transition:opacity .2s
}
.lb-close:hover{opacity:1}
.lb-close svg{width:22px;height:22px;margin:0 auto}
.lb-stage{margin:0;max-width:calc(100% - 200px);max-height:calc(100% - 160px);display:flex}
.lb-stage img{
  max-width:100%;max-height:calc(100vh - 160px);width:auto;height:auto;
  object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:23px;height:39px;color:#fff;opacity:.75;transition:opacity .2s;
}
.lb-nav:hover{opacity:1}
.lb-nav svg{width:100%;height:100%}
.lb-prev{left:34px}
.lb-next{right:34px}
body.lb-open{overflow:hidden}

@media (max-width:767px){
  .lb-bar{left:20px;right:64px;top:20px;flex-direction:column;gap:4px}
  .lb-title{font-size:17px}
  .lb-close{top:16px;right:16px}
  .lb-stage{max-width:100%;max-height:calc(100% - 150px)}
  .lb-stage img{max-height:calc(100vh - 190px)}
  .lb-nav{width:20px;height:34px;opacity:.9}
  .lb-prev{left:12px}
  .lb-next{right:12px}
}
