/* =====================================================
   SeeU Dive Design System v1.2
   파일 위치: assets/css/design-system.css
   - 섹션 구분선 / 패널 / 카드 / CTA / 갤러리 리듬을 공통 관리합니다.
   - 페이지별 CSS(style.css, discover.css, scuba.css) 뒤에 연결하세요.
===================================================== */

:root{
  --seeu-container:1160px;
  --seeu-page-x:22px;
  --seeu-section-gap:96px;
  --seeu-section-head-gap:48px;
  --seeu-grid-gap:34px;
  --seeu-card-gap:20px;
  --seeu-card-radius:32px;
  --seeu-card-radius-sm:28px;
  --seeu-media-radius:32px;
  --seeu-card-padding:64px;
  --seeu-section-title-size:clamp(40px,3vw,54px);
  --seeu-copy-title-size:clamp(34px,3vw,48px);
  --seeu-card-title-size:23px;
  --seeu-body-size:18px;
  --seeu-body-line:1.9;
  --seeu-body-gap:34px;
  --seeu-card-copy-line:1.75;
  --seeu-media-height:520px;
  --seeu-gallery-height:280px;
  --seeu-divider-width:min(220px,38vw);
  --seeu-divider-gap:70px;
  --seeu-divider-mobile-width:140px;
  --seeu-divider-mobile-gap:54px;
}

/* =====================================================
   1. Page Container
===================================================== */
.discover-main,
.scuba-main,
.about-main{
  max-width:var(--seeu-container);
  padding:72px var(--seeu-page-x);
}

.discover-main .section-block,
.scuba-main .section-block,
.about-main .section-block{
  margin-bottom:var(--seeu-section-gap);
}

.discover-main .section-block:last-child,
.scuba-main .section-block:last-child,
.about-main .section-block:last-child{
  margin-bottom:0;
}

/* =====================================================
   2. Section Divider
   - 모든 구분선은 섹션 내부가 아니라 섹션 바깥 위에 그립니다.
   - 카드/패널형 섹션에서도 라인이 박스 안으로 들어가지 않습니다.
===================================================== */
.discover-main > .section-block,
.scuba-main > .section-block,
.about-main > .section-block{
  position:relative;
}

.discover-main > .section-block + .section-block,
.scuba-main > .section-block + .section-block,
.about-main > .section-block + .section-block{
  padding-top:0 !important;
  margin-top:var(--seeu-divider-gap);
}

.discover-main > .section-block + .section-block::before,
.scuba-main > .section-block + .section-block::before,
.about-main > .section-block + .section-block::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(var(--seeu-divider-gap) * -0.55);
  transform:translateX(-50%);
  display:block;
  width:var(--seeu-divider-width);
  height:1px;
  margin:0 !important;
  background:linear-gradient(
    to right,
    transparent,
    rgba(219,231,239,.35) 8%,
    rgba(15,127,189,.42) 50%,
    rgba(219,231,239,.35) 92%,
    transparent
  );
  pointer-events:none;
}

/* CTA/강조 패널은 구분선과 박스 사이 호흡을 조금 더 넓게 둡니다. */
.discover-main > .discover-cta.section-block,
.scuba-main > .scuba-cta.section-block,
.about-main > .about-location-box.section-block{
  margin-top:88px;
}

.discover-main > .discover-cta.section-block::before,
.scuba-main > .scuba-cta.section-block::before,
.about-main > .about-location-box.section-block::before{
  top:-46px;
}

/* =====================================================
   3. Section Head
===================================================== */
.discover-section-head,
.scuba-section-head,
.about-section-head{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:48px;
  align-items:center;
  margin-bottom:var(--seeu-section-head-gap);
}

.discover-section-head h2,
.scuba-section-head h2,
.about-section-head h2{
  font-size:var(--seeu-section-title-size);
  line-height:1.1;
  letter-spacing:-.04em;
  margin:8px 0 0;
  color:var(--navy);
}

.discover-section-head p,
.scuba-section-head p,
.about-section-head p{
  max-width:520px;
  margin:0;
  line-height:1.75;
  color:var(--muted);
}

/* =====================================================
   4. Split Layout
===================================================== */
.discover-split,
.scuba-split,
.about-story-grid,
.about-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--seeu-grid-gap);
  align-items:stretch;
}

.discover-copy-card,
.scuba-copy-card,
.about-story-copy,
.about-split-copy{
  min-height:var(--seeu-media-height);
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--seeu-card-radius);
  padding:var(--seeu-card-padding);
  box-shadow:var(--shadow);
}

.discover-copy-card h3,
.scuba-copy-card h3,
.about-story-copy h3,
.about-split-copy h2{
  font-size:var(--seeu-copy-title-size);
  line-height:1.16;
  letter-spacing:-.04em;
  margin:0 0 36px;
  color:var(--navy);
}

.discover-copy-card p,
.scuba-copy-card p,
.about-story-copy p,
.about-split-copy p{
  font-size:var(--seeu-body-size);
  line-height:var(--seeu-body-line);
  margin:0 0 var(--seeu-body-gap);
  color:var(--muted);
}

.discover-copy-card p:last-child,
.scuba-copy-card p:last-child,
.about-story-copy p:last-child,
.about-split-copy p:last-child{
  margin-bottom:0;
}

.discover-image-card,
.scuba-media-card,
.about-story-image,
.about-split-image{
  height:100%;
}

.discover-image-card img,
.scuba-media-card img,
.scuba-media-card video,
.about-story-image img,
.about-split-image img{
  width:100%;
  height:100%;
  min-height:var(--seeu-media-height);
  object-fit:cover;
  object-position:center center;
  display:block;
  border-radius:var(--seeu-media-radius);
}

.scuba-media-card{
  border-radius:var(--seeu-media-radius);
  overflow:hidden;
}

.scuba-media-card img,
.scuba-media-card video{
  border-radius:0;
}

/* =====================================================
   5. Card / Grid Rhythm
===================================================== */
.discover-option-grid,
.discover-card-grid,
.discover-gallery-grid,
.faq-grid,
.scuba-course-grid,
.scuba-card-grid,
.scuba-license-grid,
.scuba-specialty-grid,
.scuba-gallery-grid,
.scuba-faq-grid,
.about-value-grid,
.about-proof-grid,
.about-space-grid{
  gap:var(--seeu-card-gap);
}

.discover-option-card,
.discover-card-grid article,
.faq-grid article,
.scuba-course-card,
.scuba-card-grid article,
.scuba-license-grid article,
.scuba-specialty-card,
.scuba-journey-card,
.scuba-faq-grid article,
.about-value-card,
.about-proof-card{
  border-radius:var(--seeu-card-radius-sm);
}

.discover-option-card h3,
.discover-card-grid h3,
.faq-grid h3,
.scuba-course-card h3,
.scuba-card-grid h3,
.scuba-license-grid h3,
.scuba-specialty-card h3,
.scuba-faq-grid h3,
.about-value-card h3,
.about-proof-card h3,
.about-location-box h3{
  font-size:var(--seeu-card-title-size);
  line-height:1.28;
}

.discover-option-card p,
.discover-card-grid p,
.faq-grid p,
.process-list p,
.scuba-course-card p,
.scuba-card-grid p,
.scuba-license-grid p,
.scuba-specialty-card p,
.scuba-journey-card p,
.scuba-msd-card p,
.scuba-faq-grid p,
.scuba-process-list p,
.about-value-card p,
.about-proof-card p,
.about-location-box p{
  line-height:var(--seeu-card-copy-line);
}

/* =====================================================
   6. Gallery
===================================================== */
.discover-gallery-grid img,
.discover-gallery-grid video,
.scuba-gallery-grid img,
.scuba-gallery-grid video,
.about-space-grid img{
  height:var(--seeu-gallery-height);
  object-fit:cover;
  display:block;
  border-radius:24px;
  box-shadow:var(--shadow);
  background:#052b4f;
}

/* =====================================================
   7. CTA Panel
===================================================== */
.discover-cta,
.scuba-cta,
.about-location-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:42px;
  border-radius:34px;
  background:linear-gradient(135deg,var(--navy),#0f7fbd);
  color:#fff;
  box-shadow:var(--shadow);
}

.discover-cta h2,
.scuba-cta h2,
.about-location-box h3{
  margin:0 0 12px;
  font-size:clamp(30px,3vw,44px);
  line-height:1.18;
  letter-spacing:-.04em;
}

.discover-cta p,
.scuba-cta p,
.about-location-box p{
  margin:0;
  color:rgba(255,255,255,.82);
}

/* =====================================================
   8. Responsive
===================================================== */
@media(max-width:920px){
  :root{
    --seeu-section-gap:72px;
    --seeu-section-head-gap:34px;
    --seeu-card-padding:36px 28px;
    --seeu-media-height:320px;
  }

  .discover-section-head,
  .scuba-section-head,
  .about-section-head,
  .discover-split,
  .scuba-split,
  .about-story-grid,
  .about-split,
  .discover-card-grid,
  .discover-option-grid,
  .discover-gallery-grid,
  .faq-grid,
  .scuba-gallery-grid,
  .about-value-grid,
  .about-proof-grid,
  .about-space-grid,
  .scuba-faq-grid,
  .scuba-journey-line,
  .scuba-pro-line{
    grid-template-columns:1fr;
  }

  .discover-main > .section-block + .section-block,
  .scuba-main > .section-block + .section-block,
  .about-main > .section-block + .section-block{
    margin-top:var(--seeu-divider-mobile-gap);
  }

  .discover-main > .section-block + .section-block::before,
  .scuba-main > .section-block + .section-block::before,
  .about-main > .section-block + .section-block::before{
    width:var(--seeu-divider-mobile-width);
    top:calc(var(--seeu-divider-mobile-gap) * -0.52);
  }

  .discover-main > .discover-cta.section-block,
  .scuba-main > .scuba-cta.section-block,
  .about-main > .about-location-box{
    margin-top:64px;
  }

  .discover-main > .discover-cta.section-block::before,
  .scuba-main > .scuba-cta.section-block::before,
  .about-main > .about-location-box::before{
    top:-32px;
  }

  .discover-copy-card,
  .scuba-copy-card,
  .about-story-copy,
  .about-split-copy,
  .scuba-media-card,
  .discover-image-card,
  .about-story-image,
  .about-split-image{
    height:auto;
    min-height:auto;
  }

  .discover-image-card img,
  .scuba-media-card img,
  .scuba-media-card video,
  .about-story-image img,
  .about-split-image img{
    height:var(--seeu-media-height);
    min-height:0;
  }

  .discover-cta,
  .scuba-cta,
  .about-location-box{
    display:block;
  }

  .discover-cta .btn,
  .scuba-cta .btn,
  .about-location-box .btn{
    margin-top:22px;
  }
}

@media(max-width:620px){
  :root{
    --seeu-page-x:18px;
    --seeu-gallery-height:240px;
  }

  .discover-main,
  .scuba-main,
  .about-main{
    padding:56px var(--seeu-page-x);
  }

  .discover-option-grid,
  .discover-card-grid,
  .process-list,
  .about-value-grid,
  .about-proof-grid,
  .scuba-course-grid,
  .scuba-card-grid,
  .scuba-license-grid,
  .scuba-specialty-grid,
  .scuba-summary-grid,
  .scuba-process-list{
    grid-template-columns:1fr;
  }
}


/* =====================================================
   9. About Page Extension
   - 소개 페이지도 같은 섹션 구분선 / 카드 / 패널 리듬을 사용합니다.
===================================================== */
.about-value-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.about-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.about-space-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}

.about-value-card,
.about-proof-card{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.about-value-card span,
.about-proof-card span{
  display:inline-flex;
  color:var(--blue);
  font-weight:900;
  font-size:12px;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.about-proof-card{
  overflow:hidden;
  padding:0;
}

.about-proof-card > div{
  padding:24px;
}

.about-proof-media{
  display:block;
  height:260px;
  background:#f7fbff;
  border-bottom:1px solid var(--line);
}

.about-proof-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:14px;
}

.about-check-list{
  margin:26px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
}

.about-check-list li{
  position:relative;
  padding-left:28px;
  color:var(--ink);
  line-height:1.65;
}

.about-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--blue);
}

.about-location-box{
  margin-top:var(--seeu-divider-gap);
}

.about-main > .about-space.section-block{
  margin-bottom:0;
}

.about-space-grid + .about-location-box{
  margin-top:42px;
}

@media(max-width:1080px){
  .about-value-grid,
  .about-proof-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:920px){
  .about-space-grid{
    grid-template-columns:1fr;
  }

  .about-location-box{
    margin-top:42px;
  }
}

@media(max-width:620px){
  .about-value-grid,
  .about-proof-grid{
    grid-template-columns:1fr;
  }

  .about-proof-media{
    height:230px;
  }
}

/* =====================================================
   SeeU Dive Design System v2.0 Refinement
   - 타이포그래피 / 여백 / 카드 / 버튼 / 호버 / 모바일 리듬 보정
   - 이 파일은 style.css + 페이지별 css 뒤에 연결합니다.
===================================================== */
:root{
  --seeu-container:1160px;
  --seeu-page-x:22px;

  --seeu-space-1:8px;
  --seeu-space-2:12px;
  --seeu-space-3:20px;
  --seeu-space-4:28px;
  --seeu-space-5:40px;
  --seeu-space-6:64px;
  --seeu-space-7:96px;

  --seeu-section-gap:96px;
  --seeu-section-head-gap:44px;
  --seeu-grid-gap:34px;
  --seeu-card-gap:20px;

  --seeu-radius-sm:24px;
  --seeu-radius-md:28px;
  --seeu-radius-lg:32px;
  --seeu-radius-xl:40px;

  --seeu-card-radius:32px;
  --seeu-card-radius-sm:28px;
  --seeu-media-radius:32px;
  --seeu-card-padding:60px;

  --seeu-section-title-size:clamp(38px,3vw,52px);
  --seeu-copy-title-size:clamp(32px,3vw,46px);
  --seeu-card-title-size:23px;
  --seeu-body-size:17px;
  --seeu-body-line:1.86;
  --seeu-body-gap:28px;
  --seeu-card-copy-line:1.72;

  --seeu-media-height:520px;
  --seeu-gallery-height:280px;
  --seeu-divider-width:min(220px,38vw);
  --seeu-divider-gap:72px;
  --seeu-divider-mobile-width:140px;
  --seeu-divider-mobile-gap:54px;

  --shadow:0 18px 46px rgba(5,43,79,.12);
  --seeu-shadow-soft:0 14px 38px rgba(5,43,79,.10);
  --seeu-shadow-hover:0 24px 58px rgba(5,43,79,.16);
  --seeu-transition:.24s ease;
}

html{
  scroll-behavior:smooth;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* 공통 Hero 텍스트 리듬 */
.discover-hero-content,
.scuba-hero-content,
.about-hero-content,
.scuba-detail-hero-content,
.discover-detail-hero-content{
  padding-inline:6px;
}

.discover-hero h1,
.scuba-hero h1,
.about-hero h1,
.scuba-detail-hero h1,
.discover-detail-hero h1{
  font-size:clamp(38px,5.15vw,70px);
  line-height:1.12;
  letter-spacing:-.055em;
  margin:18px 0 20px;
}

.discover-hero p,
.scuba-hero p,
.about-hero p,
.scuba-detail-hero p,
.discover-detail-hero p{
  font-size:clamp(15px,1.65vw,19px);
  line-height:1.82;
}

.eyebrow{
  letter-spacing:.17em;
  line-height:1.35;
}

/* Section Head - 큰 제목과 설명 위치를 정돈 */
.section-head,
.discover-section-head,
.scuba-section-head,
.about-section-head{
  align-items:center;
}

.discover-section-head h2,
.scuba-section-head h2,
.about-section-head h2{
  word-break:keep-all;
}

.discover-section-head p,
.scuba-section-head p,
.about-section-head p{
  word-break:keep-all;
  font-size:16px;
}

/* 섹션 구분선은 브랜드 장식처럼 더 은은하게 */
.discover-main > .section-block + .section-block::before,
.scuba-main > .section-block + .section-block::before,
.about-main > .section-block + .section-block::before{
  opacity:.92;
  background:linear-gradient(
    to right,
    transparent,
    rgba(219,231,239,.25) 8%,
    rgba(15,127,189,.34) 50%,
    rgba(219,231,239,.25) 92%,
    transparent
  );
}

/* Split 카드와 이미지 높이/호흡 통일 */
.discover-copy-card,
.scuba-copy-card,
.about-story-copy,
.about-split-copy{
  padding:var(--seeu-card-padding);
  border-radius:var(--seeu-radius-lg);
  box-shadow:var(--seeu-shadow-soft);
}

.discover-copy-card h3,
.scuba-copy-card h3,
.about-story-copy h3,
.about-split-copy h2{
  word-break:keep-all;
  margin-bottom:32px;
}

.discover-copy-card p,
.scuba-copy-card p,
.about-story-copy p,
.about-split-copy p{
  word-break:keep-all;
}

.discover-image-card img,
.scuba-media-card,
.about-story-image img,
.about-split-image img{
  box-shadow:var(--seeu-shadow-soft);
}

/* 카드 계열: 정보는 차분하게, 호버는 가볍게 */
.discover-option-card,
.discover-card-grid article,
.faq-grid article,
.scuba-course-card,
.scuba-card-grid article,
.scuba-license-grid article,
.scuba-specialty-card,
.scuba-journey-card,
.scuba-faq-grid article,
.about-value-card,
.about-proof-card,
.process-list div,
.scuba-process-list div{
  box-shadow:var(--seeu-shadow-soft);
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition), border-color var(--seeu-transition);
}

.discover-option-card:hover,
.discover-card-grid article:hover,
.faq-grid article:hover,
.scuba-course-card:hover,
.scuba-card-grid article:hover,
.scuba-license-grid article:hover,
.scuba-specialty-card:hover,
.scuba-journey-card:hover,
.scuba-faq-grid article:hover,
.about-value-card:hover,
.about-proof-card:hover,
.process-list div:hover,
.scuba-process-list div:hover{
  transform:translateY(-4px);
  box-shadow:var(--seeu-shadow-hover);
  border-color:#bddce9;
}

.discover-option-card img,
.scuba-course-card img{
  transition:transform .48s ease;
}

.discover-option-card:hover img,
.scuba-course-card:hover img{
  transform:scale(1.045);
}

.discover-option-card span,
.discover-card-grid span,
.scuba-course-card span,
.scuba-card-grid span,
.scuba-license-grid span,
.scuba-specialty-card span,
.about-value-card span,
.about-proof-card span,
.scuba-journey-card span,
.process-list span,
.scuba-process-list span{
  letter-spacing:.12em;
}

.discover-option-card h3,
.discover-card-grid h3,
.faq-grid h3,
.scuba-course-card h3,
.scuba-card-grid h3,
.scuba-license-grid h3,
.scuba-specialty-card h3,
.scuba-faq-grid h3,
.about-value-card h3,
.about-proof-card h3{
  word-break:keep-all;
  letter-spacing:-.025em;
}

.discover-option-card p,
.discover-card-grid p,
.faq-grid p,
.process-list p,
.scuba-course-card p,
.scuba-card-grid p,
.scuba-license-grid p,
.scuba-specialty-card p,
.scuba-journey-card p,
.scuba-msd-card p,
.scuba-faq-grid p,
.scuba-process-list p,
.about-value-card p,
.about-proof-card p,
.about-location-box p{
  word-break:keep-all;
}

/* Journey / 강조 패널 */
.scuba-journey{
  border-radius:var(--seeu-radius-xl);
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  box-shadow:var(--seeu-shadow-soft);
}

.scuba-msd-card,
.discover-cta,
.scuba-cta,
.about-location-box{
  border-radius:var(--seeu-radius-xl);
  box-shadow:0 22px 54px rgba(5,43,79,.16);
  overflow:hidden;
  position:relative;
}

.scuba-msd-card::after,
.discover-cta::after,
.scuba-cta::after,
.about-location-box::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}

.discover-cta > *,
.scuba-cta > *,
.about-location-box > *,
.scuba-msd-card > *{
  position:relative;
  z-index:1;
}

/* 버튼 시스템 */
.btn,
.choice-tabs a{
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition), background var(--seeu-transition), color var(--seeu-transition), border-color var(--seeu-transition);
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(5,43,79,.18);
}

.btn.primary{
  background:var(--aqua);
  color:#053448;
}

.discover-cta .btn.primary,
.scuba-cta .btn.primary,
.about-location-box .btn.primary{
  background:#ffffff;
  color:var(--navy);
}

/* 갤러리: 사진과 영상이 한 덩어리처럼 보이게 */
.discover-gallery-grid img,
.discover-gallery-grid video,
.scuba-gallery-grid img,
.scuba-gallery-grid video,
.about-space-grid img{
  border-radius:var(--seeu-radius-sm);
  box-shadow:var(--seeu-shadow-soft);
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition);
}

.discover-gallery-grid img:hover,
.discover-gallery-grid video:hover,
.scuba-gallery-grid img:hover,
.scuba-gallery-grid video:hover,
.about-space-grid img:hover{
  transform:translateY(-3px);
  box-shadow:var(--seeu-shadow-hover);
}

/* About 증빙 카드: 문서가 더 신뢰감 있게 보이도록 */
.about-proof-card{
  background:#fff;
}

.about-proof-media{
  background:linear-gradient(180deg,#f7fbff,#ffffff);
}

.about-proof-media img{
  filter:drop-shadow(0 8px 18px rgba(5,43,79,.08));
}

/* 모바일 최적화 */
@media(max-width:920px){
  :root{
    --seeu-section-gap:72px;
    --seeu-section-head-gap:34px;
    --seeu-card-padding:36px 28px;
    --seeu-media-height:320px;
    --seeu-body-size:16px;
    --seeu-body-gap:20px;
  }

  .discover-section-head,
  .scuba-section-head,
  .about-section-head{
    gap:18px;
    align-items:start;
  }

  .discover-section-head p,
  .scuba-section-head p,
  .about-section-head p{
    max-width:none;
  }

  .scuba-journey{
    padding:28px;
    border-radius:var(--seeu-radius-lg);
  }

  .discover-cta,
  .scuba-cta,
  .about-location-box{
    padding:34px 28px;
    border-radius:var(--seeu-radius-lg);
  }
}

@media(max-width:620px){
  :root{
    --seeu-page-x:18px;
    --seeu-gallery-height:240px;
    --seeu-card-gap:16px;
  }

  .discover-hero h1,
  .scuba-hero h1,
  .about-hero h1,
  .scuba-detail-hero h1,
  .discover-detail-hero h1{
    font-size:clamp(34px,10vw,46px);
    letter-spacing:-.05em;
  }

  .discover-section-head h2,
  .scuba-section-head h2,
  .about-section-head h2{
    font-size:clamp(32px,9vw,40px);
  }

  .discover-copy-card h3,
  .scuba-copy-card h3,
  .about-story-copy h3,
  .about-split-copy h2{
    font-size:clamp(28px,8vw,36px);
  }
}

/* =====================================================
   Freediving Page Support
   - 프리다이빙 페이지도 Design System v2 리듬을 공유합니다.
===================================================== */
.freediving-main{
  max-width:var(--seeu-container);
  padding:72px var(--seeu-page-x);
}

.freediving-main .section-block{
  margin-bottom:var(--seeu-section-gap);
}

.freediving-main .section-block:last-child{
  margin-bottom:0;
}

.freediving-main > .section-block{
  position:relative;
}

.freediving-main > .section-block + .section-block{
  padding-top:0 !important;
  margin-top:var(--seeu-divider-gap);
}

.freediving-main > .section-block + .section-block::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(var(--seeu-divider-gap) * -0.55);
  transform:translateX(-50%);
  display:block;
  width:var(--seeu-divider-width);
  height:1px;
  background:linear-gradient(to right, transparent, rgba(219,231,239,.25) 8%, rgba(15,127,189,.34) 50%, rgba(219,231,239,.25) 92%, transparent);
  pointer-events:none;
}

.freediving-section-head{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:48px;
  align-items:center;
  margin-bottom:var(--seeu-section-head-gap);
}

.freediving-section-head h2{
  font-size:var(--seeu-section-title-size);
  line-height:1.1;
  letter-spacing:-.04em;
  margin:8px 0 0;
  color:var(--navy);
  word-break:keep-all;
}

.freediving-section-head p{
  max-width:520px;
  margin:0;
  line-height:1.75;
  color:var(--muted);
  word-break:keep-all;
  font-size:16px;
}

.freediving-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--seeu-grid-gap);
  align-items:stretch;
}

.freediving-copy-card{
  min-height:var(--seeu-media-height);
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--seeu-radius-lg);
  padding:var(--seeu-card-padding);
  box-shadow:var(--seeu-shadow-soft);
}

.freediving-copy-card h3{
  font-size:var(--seeu-copy-title-size);
  line-height:1.16;
  letter-spacing:-.04em;
  margin:0 0 32px;
  color:var(--navy);
  word-break:keep-all;
}

.freediving-copy-card p{
  font-size:var(--seeu-body-size);
  line-height:var(--seeu-body-line);
  margin:0 0 var(--seeu-body-gap);
  color:var(--muted);
  word-break:keep-all;
}

.freediving-copy-card p:last-child{
  margin-bottom:0;
}

.freediving-media-card img,
.freediving-media-card video{
  width:100%;
  height:100%;
  min-height:var(--seeu-media-height);
  object-fit:cover;
  object-position:center center;
  display:block;
  border-radius:var(--seeu-media-radius);
  box-shadow:var(--seeu-shadow-soft);
}

.freediving-course-grid,
.freediving-card-grid,
.freediving-gallery-grid,
.freediving-faq-grid,
.freediving-journey-line,
.freediving-safety-grid{
  gap:var(--seeu-card-gap);
}

.freediving-course-card,
.freediving-card-grid article,
.freediving-faq-grid article,
.freediving-journey-card,
.freediving-safety-card{
  border-radius:var(--seeu-card-radius-sm);
  box-shadow:var(--seeu-shadow-soft);
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition), border-color var(--seeu-transition);
}

.freediving-course-card:hover,
.freediving-card-grid article:hover,
.freediving-faq-grid article:hover,
.freediving-journey-card:hover,
.freediving-safety-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--seeu-shadow-hover);
  border-color:#bddce9;
}

.freediving-course-card h3,
.freediving-card-grid h3,
.freediving-faq-grid h3,
.freediving-journey-card strong,
.freediving-safety-card h3{
  font-size:var(--seeu-card-title-size);
  line-height:1.28;
  word-break:keep-all;
  letter-spacing:-.025em;
}

.freediving-course-card p,
.freediving-card-grid p,
.freediving-faq-grid p,
.freediving-journey-card p,
.freediving-safety-card p{
  line-height:var(--seeu-card-copy-line);
  word-break:keep-all;
}

.freediving-gallery-grid img,
.freediving-gallery-grid video{
  height:var(--seeu-gallery-height);
  object-fit:cover;
  display:block;
  border-radius:var(--seeu-radius-sm);
  box-shadow:var(--seeu-shadow-soft);
  background:#052b4f;
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition);
}

.freediving-gallery-grid img:hover,
.freediving-gallery-grid video:hover{
  transform:translateY(-3px);
  box-shadow:var(--seeu-shadow-hover);
}

.freediving-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:42px;
  border-radius:var(--seeu-radius-xl);
  background:linear-gradient(135deg,var(--navy),#0f7fbd);
  color:#fff;
  box-shadow:0 22px 54px rgba(5,43,79,.16);
  overflow:hidden;
  position:relative;
}

.freediving-cta::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}

.freediving-cta > *{
  position:relative;
  z-index:1;
}

.freediving-cta h2{
  margin:0 0 12px;
  font-size:clamp(30px,3vw,44px);
  line-height:1.18;
  letter-spacing:-.04em;
}

.freediving-cta p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:var(--seeu-card-copy-line);
  word-break:keep-all;
}

.freediving-cta .btn.primary{
  background:#ffffff;
  color:var(--navy);
}

.freediving-main > .freediving-cta.section-block{
  margin-top:88px;
}

.freediving-main > .freediving-cta.section-block::before{
  top:-46px;
}

@media(max-width:920px){
  .freediving-section-head,
  .freediving-split,
  .freediving-course-grid,
  .freediving-card-grid,
  .freediving-gallery-grid,
  .freediving-faq-grid,
  .freediving-journey-line,
  .freediving-safety-grid{
    grid-template-columns:1fr;
  }

  .freediving-main > .section-block + .section-block{
    margin-top:var(--seeu-divider-mobile-gap);
  }

  .freediving-main > .section-block + .section-block::before{
    width:var(--seeu-divider-mobile-width);
    top:calc(var(--seeu-divider-mobile-gap) * -0.52);
  }

  .freediving-section-head{
    gap:18px;
    align-items:start;
  }

  .freediving-section-head p{
    max-width:none;
  }

  .freediving-copy-card,
  .freediving-media-card{
    height:auto;
    min-height:auto;
  }

  .freediving-media-card img,
  .freediving-media-card video{
    height:var(--seeu-media-height);
    min-height:0;
  }

  .freediving-cta{
    display:block;
    padding:34px 28px;
    border-radius:var(--seeu-radius-lg);
  }

  .freediving-cta .btn{
    margin-top:22px;
  }

  .freediving-main > .freediving-cta.section-block{
    margin-top:64px;
  }

  .freediving-main > .freediving-cta.section-block::before{
    top:-32px;
  }
}

@media(max-width:620px){
  .freediving-main{
    padding:56px var(--seeu-page-x);
  }

  .freediving-section-head h2{
    font-size:clamp(32px,9vw,40px);
  }

  .freediving-copy-card h3{
    font-size:clamp(28px,8vw,36px);
  }
}


/* =====================================================
   SeeU Dive Final Polish v1.0
   - 전체 페이지 톤, 상세 페이지, 상담 페이지의 마지막 리듬 보정
===================================================== */

/* 읽기 리듬: 제목과 본문이 한 브랜드처럼 보이도록 */
h1, h2, h3, p, li{
  word-break:keep-all;
}

/* 메인 페이지도 디자인 시스템의 카드 리듬을 공유 */
main > section{
  position:relative;
}
main > section + section{
  margin-top:var(--seeu-section-gap);
}
main > section + section::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(var(--seeu-divider-gap) * -0.55);
  transform:translateX(-50%);
  width:var(--seeu-divider-width);
  height:1px;
  background:linear-gradient(to right, transparent, rgba(219,231,239,.25) 8%, rgba(15,127,189,.34) 50%, rgba(219,231,239,.25) 92%, transparent);
  pointer-events:none;
}

/* 상세 페이지 요약 미디어와 정보 카드의 신뢰감 보정 */
.detail-summary-media,
.scuba-summary-media{
  box-shadow:var(--seeu-shadow-soft);
  border-radius:var(--seeu-radius-lg);
  overflow:hidden;
}

.detail-summary-grid article,
.scuba-summary-grid article,
.detail-info-card,
.scuba-info-card{
  box-shadow:var(--seeu-shadow-soft);
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition), border-color var(--seeu-transition);
}

.detail-summary-grid article:hover,
.scuba-summary-grid article:hover,
.detail-info-card:hover,
.scuba-info-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--seeu-shadow-hover);
  border-color:#bddce9;
}

/* 상담 페이지: 단순 안내 페이지가 아니라 신뢰 전환 페이지로 보이도록 */
.content{
  max-width:var(--seeu-container);
  padding:72px var(--seeu-page-x);
}

.content .two-col{
  gap:var(--seeu-card-gap);
}

.info-box{
  border-radius:var(--seeu-radius-md);
  box-shadow:var(--seeu-shadow-soft);
  transition:transform var(--seeu-transition), box-shadow var(--seeu-transition), border-color var(--seeu-transition);
}

.info-box:hover{
  transform:translateY(-4px);
  box-shadow:var(--seeu-shadow-hover);
  border-color:#bddce9;
}

.info-box h2{
  color:var(--navy);
  letter-spacing:-.03em;
  line-height:1.22;
}

.info-box p{
  color:var(--muted);
  line-height:1.75;
}

.kakao-contact-box{
  margin:42px 0;
  border-radius:var(--seeu-radius-xl);
}

/* 상세 페이지 CTA는 짧고 분명하게 */
.cta-panel, .discover-cta, .scuba-cta, .freediving-cta, .about-location-box{
  isolation:isolate;
}

/* 탭 버튼이 너무 좁아 보이지 않도록 */
.choice-tabs a{
  min-height:44px;
}

@media(max-width:920px){
  main > section + section{
    margin-top:var(--seeu-divider-mobile-gap);
  }
  main > section + section::before{
    width:var(--seeu-divider-mobile-width);
    top:calc(var(--seeu-divider-mobile-gap) * -0.52);
  }
  .content{
    padding:56px var(--seeu-page-x);
  }
}


.section-head h2 .seeu{
    color:var(--hero-seeu);
    font-weight:800;
}

.section-head h2 .banana{
    color:var(--hero-banana);
    font-weight:800;
}