/* ===================================================================
   생각탐구 홈페이지 공용 CSS (school-analysis.html의 네이비 스타일과는 별개)
   대상: "소개"·"문의&공지" 드롭다운 하위 페이지 + 초등/중등/고등/갤러리
   (본문에만 적용, 상단 nav/.navlinks·footer는 wireframe.css 그대로 유지)
   색상: 다크 틸그린 + 민트 포인트 + 크림 배경 (참고 이미지 4장, 2026-08-15)
   페이지 구성(히어로 → 통계 배지 → 카드 → 비교표 → CTA)은
   tlcanalytics.earth 참고
   ※ 고교분석(school-analysis.html)은 네이비 SNU 스타일 그대로 유지 — 이 파일과 무관
=================================================================== */
:root{
  --snu-bg:#FFFFFF;
  --snu-card:#FFFFFF;
  --snu-navy:#16282B;
  --snu-mint:#8FBFA0;
  /* 밝은 배경에 쓰는 딥 틸. --snu-mint 는 어두운 배경 전용이라 흰 배경에서는 대비가 부족하다
     (#8FBFA0 on #fff = 1.9:1). 이 값은 4.5:1 을 넘어 본문 크기에도 쓸 수 있다. */
  --snu-teal:#2F5D52;
  --snu-amber:#D9A62E;
  --snu-line:#E3E5E1;
  --snu-txt:#20302C;
  --snu-muted:#5C6F68;
  --snu-green:#3F9146;
  --snu-red:#C24B3F;
  --snu-alt:#F1F2EE;
}

main.snu-page{max-width:none;margin:0;padding:0;font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif;color:var(--snu-txt);background:var(--snu-bg)}
main.snu-page .notice{max-width:1180px;margin:16px auto 0}
main.snu-page h1,main.snu-page h2,main.snu-page h3{font-family:'Noto Sans KR',system-ui,sans-serif}

/* 히어로 */
.snu-hero{background:var(--snu-navy);color:#fff;padding:56px 24px;border-radius:0}
.snu-hero-inner{max-width:1180px;margin:0 auto}
.snu-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--snu-mint);margin-bottom:10px}
.snu-h1{font-family:'Noto Serif KR',serif;font-size:38px;font-weight:700;margin:0 0 10px;line-height:1.3}
.snu-sub{font-size:16px;color:rgba(255,255,255,.75);max-width:640px;line-height:1.7;margin:0}

.snu-container{max-width:1180px;margin:0 auto;padding:0 24px}
.snu-section{padding:48px 0;border-bottom:1px solid var(--snu-line)}
.snu-section:last-of-type{border-bottom:none}
.snu-section-head{margin-bottom:24px}
.snu-section-head .snu-eyebrow{color:var(--snu-navy);opacity:.85}
.snu-section-head h2{font-family:'Noto Serif KR',serif;font-size:26px;font-weight:700;color:var(--snu-txt);margin:6px 0 0}

/* 통계 배지 줄 */
.snu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.snu-stat{background:var(--snu-card);border:1px solid var(--snu-line);border-radius:0;padding:20px;text-align:center}
.snu-stat b{display:block;font-family:'Noto Serif KR',serif;font-size:28px;color:var(--snu-navy);font-weight:800}
.snu-stat span{display:block;font-size:13px;color:var(--snu-muted);margin-top:4px}

/* 카드 — 상단 포인트 라인 + 크림 배경 (참고 이미지 스타일) */
.snu-card{background:var(--snu-alt);border:none;border-top:4px solid var(--snu-mint);border-radius:0;padding:28px;box-shadow:0 1px 4px rgba(22,40,43,.06)}
.snu-card h3{font-size:20px;line-height:1.35}
.snu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.snu-grid.two{grid-template-columns:repeat(2,1fr)}
.snu-row{display:flex;gap:40px;align-items:flex-start}
.snu-row .snu-photo{flex:0 0 32%}
.snu-row .snu-photo img{width:100%;height:auto;border-radius:0;display:block;border:1px solid var(--snu-line)}
.snu-row .snu-body{flex:1}
.snu-body p{font-size:15px;line-height:1.75;color:var(--snu-muted);margin:0 0 14px}

/* 요금제형 카드 (교육비 등) — MOST POPULAR 뱃지 패턴 */
.snu-plan{background:var(--snu-card);border:1px solid var(--snu-line);border-radius:0;padding:26px;position:relative;overflow:hidden}
.snu-plan.featured{border:2px solid var(--snu-navy);background:var(--snu-navy);color:#fff}
.snu-plan.featured h3,.snu-plan.featured .snu-price{color:#fff}
.snu-plan.featured li{color:rgba(255,255,255,.75);border-top-color:rgba(255,255,255,.15)}
.snu-plan-badge{position:absolute;top:14px;right:14px;background:var(--snu-mint);color:var(--snu-navy);border-radius:0;font-size:11px;font-weight:800;padding:4px 12px;letter-spacing:.05em}
.snu-plan h3{font-size:18px;margin:8px 0 4px;color:var(--snu-txt)}
.snu-plan .snu-price{font-family:'Noto Serif KR',serif;font-size:26px;font-weight:800;color:var(--snu-navy);margin:8px 0 16px}
.snu-plan ul{list-style:none;margin:0;padding:0}
.snu-plan li{font-size:13.5px;color:var(--snu-muted);padding:7px 0;border-top:1px solid var(--snu-alt)}
.snu-plan li:first-child{border-top:none}

/* 크레덴셜/체크리스트 */
.snu-list{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.snu-list li{font-size:14px;line-height:2;color:var(--snu-muted);position:relative;padding-left:16px}
.snu-list li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:0;background:var(--snu-green)}

/* 인용/후기 블록 */
.snu-quote{background:var(--snu-alt);border-left:4px solid var(--snu-mint);border-radius:0;padding:22px 26px;font-size:15px;line-height:1.85;color:var(--snu-txt)}
.snu-quote cite{display:block;margin-top:12px;font-size:13px;color:var(--snu-muted);font-style:normal}

/* 표 — 전 항목 가운데 정렬 */
.snu-table{width:100%;border-collapse:collapse;background:var(--snu-card);border-radius:0;overflow:hidden}
.snu-table th,.snu-table td{text-align:center;padding:12px 14px;font-size:13.5px;border:1px solid var(--snu-line)}
.snu-table thead th{background:var(--snu-navy);color:#fff;font-weight:700;border-color:var(--snu-navy)}
.snu-table tbody tr:nth-child(even){background:var(--snu-alt)}
.snu-table td.check{color:var(--snu-green);font-weight:800}
.snu-table td.x{color:var(--snu-red);font-weight:800}

/* 플레이스홀더 */
.snu-placeholder{border:2px dashed var(--snu-line);background:var(--snu-alt);color:var(--snu-muted);border-radius:0;padding:22px;text-align:center;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.snu-file{display:inline-block;background:#fff;border:1px solid var(--snu-line);padding:3px 9px;font:12px monospace;border-radius:0}

/* CTA */
main.snu-page .cta{max-width:1180px;margin:0 auto 60px;background:var(--snu-navy);border-radius:0}
main.snu-page .cta h2{color:#fff;font-family:'Noto Serif KR',serif;font-weight:700;font-size:24px}
main.snu-page .cta p{color:rgba(255,255,255,.75)}
main.snu-page .cta .btn{background:var(--snu-mint);color:var(--snu-navy);border-radius:0;font-weight:700}

/* FAQ 아코디언 */
main.snu-page .faq-list{border-top:1px solid var(--snu-line)}
main.snu-page .faq-item{border-bottom:1px solid var(--snu-line)}
main.snu-page .faq-q{color:var(--snu-txt)}
main.snu-page .faq-q .faq-badge{background:var(--snu-navy);color:var(--snu-mint);border-radius:0}
main.snu-page .faq-a{color:var(--snu-muted)}

/* 상담/참가 폼 */
main.snu-page .board-tabs,main.snu-page .board-table{border-radius:0}
main.snu-page .cf-field input,main.snu-page .cf-field select,main.snu-page .cf-field textarea,main.snu-page .btn-submit-form,main.snu-page .consult-form-area{border-radius:0}
main.snu-page .btn-submit-form{background:var(--snu-navy)}
main.snu-page .board-tab.active{border-bottom-color:var(--snu-mint)}
main.snu-page .badge-notice{background:var(--snu-navy);color:var(--snu-mint);border-radius:0}
main.snu-page .board-table th,main.snu-page .board-table td{text-align:center}
main.snu-page .req-badge{background:var(--snu-navy);border-radius:0}

/* 프로세스 스텝 */
.snu-process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.snu-step{background:var(--snu-card);border:1px solid var(--snu-line);border-radius:0;padding:18px;position:relative;padding-top:30px}
.snu-step .snu-step-no{position:absolute;top:10px;left:16px;font-size:11px;font-weight:800;color:var(--snu-mint);letter-spacing:.05em}
.snu-step strong{display:block;font-size:15px;margin-bottom:4px}
.snu-step span{font-size:12.5px;color:var(--snu-muted)}

/* 강조 문단 */
.snu-lead{font-size:16px;color:var(--snu-txt);line-height:1.85;margin-top:20px;padding:18px 20px;background:var(--snu-alt);border-radius:0;border-left:4px solid var(--snu-mint)}

/* 필터 칩 */
.snu-chip{display:inline-block;background:var(--snu-alt);color:var(--snu-txt);border:1px solid var(--snu-line);border-radius:0;padding:7px 14px;font-size:13px;cursor:pointer}
.snu-chip.active{background:var(--snu-navy);color:var(--snu-mint);border-color:var(--snu-navy)}
.snu-filters{display:flex;flex-wrap:wrap;gap:8px}

/* 갤러리 — 서울대뉴스 스타일 게시판형 그리드 */
.gallery-breadcrumb{font-size:13px;color:var(--snu-muted);margin-bottom:8px}
.gallery-breadcrumb b{color:var(--snu-navy);font-weight:700}

.gallery-filterbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;background:var(--snu-alt);border:1px solid var(--snu-line);border-radius:0;padding:16px 20px;margin-bottom:28px}
.gallery-search{display:flex;gap:8px;margin-left:auto}
.gallery-search input[type=text]{border:1px solid var(--snu-line);border-radius:0;padding:9px 12px;font-size:13.5px;background:#fff;min-width:180px}
.gallery-search button{background:var(--snu-navy);color:#fff;border:none;border-radius:0;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.gallery-card{display:flex;flex-direction:column}
.gallery-card>a{display:block;text-decoration:none;color:inherit}
.gallery-card .snu-placeholder{aspect-ratio:4/3;border-radius:0;margin:0;min-height:auto}
.gallery-card .gallery-tag{font-size:12px;font-weight:800;color:var(--snu-navy);margin:14px 0 4px}
.gallery-card h3{font-size:15.5px;font-weight:700;line-height:1.4;color:var(--snu-txt);margin:0 0 8px}
.gallery-card p{font-size:13px;color:var(--snu-muted);line-height:1.6;margin:0 0 14px}
.gallery-card .gallery-divider{border-top:1px dashed var(--snu-line);margin-top:auto;padding-top:2px}

.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:36px}
.gallery-pagination button{width:34px;height:34px;border:1px solid var(--snu-line);background:#fff;border-radius:0;font-size:13px;color:var(--snu-muted);cursor:pointer}
.gallery-pagination button.active{background:var(--snu-navy);border-color:var(--snu-navy);color:#fff;font-weight:700}
.gallery-pagination button:disabled{opacity:.35;cursor:default}

@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.gallery-search{margin-left:0;width:100%}.gallery-search input[type=text]{flex:1}}

.gallery-empty-msg{grid-column:1/-1;text-align:center;padding:48px 20px;color:var(--snu-muted);font-size:14px}

/* 자료실 상위 탭 (초등/중등/고등/추천도서/입시+) */
.gallery-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid var(--snu-line);margin-bottom:28px}
.gallery-tab{padding:12px 22px;font-size:15px;font-weight:700;color:var(--snu-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}
.gallery-tab:hover{color:var(--snu-navy)}
.gallery-tab.active{color:var(--snu-navy);border-bottom-color:var(--snu-navy)}
@media(max-width:560px){.gallery-tab{padding:10px 14px;font-size:13.5px}}

/* 추천도서 패널 — 학년 서브탭 + (고등일 때만) 계열 칩, 실제 목록이 생기기 전까지는 '준비 중' */
.booklist-gradebar{margin-bottom:14px}
.booklist-trackbar{margin-bottom:20px}
.booklist-empty{text-align:center;padding:56px 24px;background:var(--snu-alt);border:1px dashed var(--snu-line)}
.booklist-empty-icon{font-size:32px;margin-bottom:14px}
.booklist-empty-title{font-size:16px;font-weight:700;color:var(--snu-txt);margin:0 0 8px}
.booklist-empty-sub{font-size:13.5px;color:var(--snu-muted);line-height:1.7;max-width:480px;margin:0 auto}

/* 갤러리 작품 상세(view) 페이지 */
.gallery-article{max-width:820px;margin:0 auto 40px}
.gallery-article-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--snu-line);margin-bottom:28px}
.gallery-article-meta .gallery-tag{font-size:12px;font-weight:800;color:var(--snu-navy);margin-bottom:8px}
.gallery-article-meta h1{font-family:'Noto Serif KR',serif;font-size:26px;font-weight:700;color:var(--snu-txt);margin:0 0 10px;line-height:1.4}
.gallery-article-date{font-size:13px;color:var(--snu-muted)}
.gallery-article-share{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.gallery-share-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--snu-line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}
.gallery-share-btn.kakao{background:#FEE500;border-color:#FEE500}
.gallery-article-media{margin:0 0 24px;text-align:center}
.gallery-article-media img{width:100%;max-height:480px;object-fit:cover;display:block}
.gallery-article-media figcaption{font-size:13px;color:var(--snu-muted);margin-top:10px}
.gallery-article-body{font-size:15.5px;line-height:1.9;color:var(--snu-txt)}
.gallery-article-body p{margin:0 0 16px}
.gallery-article-nav{display:flex;justify-content:space-between;align-items:center;max-width:820px;margin:32px auto 60px;padding-top:20px;border-top:1px solid var(--snu-line);font-size:13.5px}
.gallery-article-nav a{color:var(--snu-muted);text-decoration:none}
.gallery-article-nav a:hover{color:var(--snu-navy)}
@media(max-width:700px){.gallery-article-head{flex-direction:column}.gallery-article-share{flex-direction:row}}

/* ===== 후기 목록 / 후기 전문 ===== */
/* 영상 후기 — 슬롯이 16:9 비율을 잡고 있어 iframe/video 를 그대로 끼워 넣으면 된다 */
.review-video{margin-bottom:8px}
.review-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:760px;margin:0 auto}
.review-video-slot{margin:0}
.review-video-slot>iframe,.review-video-slot>video,.review-video-ph{display:block;width:100%;aspect-ratio:16/9;border:0}
.review-video-slot>video{background:#000;object-fit:cover}
.review-video-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--snu-alt);border:1px dashed var(--snu-line);color:var(--snu-muted)}
.review-video-ph-icon{font-size:20px;color:var(--snu-mint)}
.review-video-ph-title{font-size:13.5px;font-weight:700;color:var(--snu-txt)}
.review-video-ph-note{font-size:12px}
.review-video-slot figcaption{font-size:12.5px;color:var(--snu-muted);margin-top:8px;text-align:center}

/* 학생 후기 섹션 제목 — 배경·테두리 없이 타이포만으로 처리한다.
   서체는 지정하지 않는다: main.snu-page h2 가 하위 페이지 공통 산세리프를 이미 지정하고 있고
   (specificity 0,1,3) 여기서 명조를 써도 무시되므로, 다른 섹션 제목과 같은 서체로 둔다. */
.review-statement{font-size:30px;font-weight:700;line-height:1.45;color:var(--snu-teal);margin:0 0 28px;letter-spacing:-.01em;word-break:keep-all}
.review-statement-lead{color:var(--snu-muted);font-weight:600}

.review-list{display:grid;grid-template-columns:1fr;gap:18px}
.review-card{display:block;padding:30px 32px;background:var(--snu-card);border:1px solid var(--snu-line);text-decoration:none;color:inherit;transition:border-color .18s,box-shadow .18s,transform .18s}
.review-card:hover{border-color:var(--snu-navy);box-shadow:0 4px 18px rgba(22,40,43,.10);transform:translateY(-2px)}
.review-card-headline{font-family:'Noto Serif KR',serif;font-size:23px;font-weight:800;line-height:1.45;color:var(--snu-navy);margin:0 0 14px;word-break:keep-all}
.review-card-rule{margin:0 0 16px}
.review-card-tag{display:inline-block;padding:5px 12px;background:var(--snu-navy);font-size:12px;font-weight:700;letter-spacing:.02em;color:#fff}
.review-card-excerpt{font-size:15px;line-height:1.85;color:var(--snu-muted);margin:0 0 18px}
.review-card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-top:16px;border-top:1px solid var(--snu-line)}
.review-card-name{font-size:14.5px;font-weight:700;color:var(--snu-txt)}
.review-card-meta{font-weight:400;color:var(--snu-muted)}
.review-card-more{font-size:13.5px;font-weight:700;color:var(--snu-teal);white-space:nowrap}
.review-card:hover .review-card-more{text-decoration:underline}

.review-article-lead{font-family:'Noto Serif KR',serif;font-size:21px;font-weight:700;line-height:1.55;color:var(--snu-teal);margin:18px 0 0;word-break:keep-all}

.review-breadcrumb{font-size:13px;color:var(--snu-muted);margin-bottom:8px}
.review-breadcrumb a{color:var(--snu-muted);text-decoration:none}
.review-breadcrumb a:hover{color:var(--snu-navy)}
.review-article{max-width:760px;margin:0 auto 40px}
.review-article-head{padding-bottom:20px;border-bottom:1px solid var(--snu-line);margin-bottom:28px}
.review-tag{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--snu-teal);margin-bottom:8px}
.review-article-head h1{font-family:'Noto Serif KR',serif;font-size:30px;font-weight:700;color:var(--snu-navy);margin:0 0 6px}
.review-article-meta{font-size:13.5px;color:var(--snu-muted)}
.review-article-body{font-size:16px;line-height:2;color:var(--snu-txt)}
.review-article-body p{margin:0 0 20px}
.review-article-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:760px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--snu-line);font-size:13.5px}
.review-article-nav a{color:var(--snu-muted);text-decoration:none}
.review-article-nav a:hover{color:var(--snu-navy)}
.review-article-nav .review-list-link{font-weight:700;color:var(--snu-navy);flex-shrink:0}
@media(max-width:800px){
  .review-video-grid{grid-template-columns:1fr;gap:16px}
  .review-statement{font-size:24px;margin-bottom:22px}
  .review-card{padding:24px 20px}
  .review-card-headline{font-size:20px}
  .review-card-excerpt{font-size:14.5px}
  .review-card-foot{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:700px){
  .review-statement{font-size:21px}
  .review-card-headline{font-size:18.5px}
  .review-article-head h1{font-size:25px}
  .review-article-lead{font-size:18px}
  .review-article-body{font-size:15.5px;line-height:1.9}
  .review-article-nav{font-size:12.5px}
}

@media(max-width:800px){.snu-stats,.snu-grid,.snu-grid.two,.snu-list,.snu-process{grid-template-columns:1fr;columns:1}.snu-row{flex-direction:column;gap:20px}.snu-row .snu-photo{flex:none;width:60%}.snu-h1{font-size:28px}}
