/* 오타이산 — 공용 스타일
   public/ 에서 손으로 관리하는 유일한 파일이다. build.js 가 덮어쓰지 않는다. */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#10294D; --navy-deep:#081727; --navy-soft:#1B3D6B; --navy-line:#24406B;
  --blue:#1B4FA0; --blue-dark:#143B7A; --blue-tint:#EEF3FB;
  --gold:#C6870F; --gold-dark:#9E6B09; --gold-tint:#FDF6E7;
  --ink:#10294D; --body:#56607A; --muted:#8892A6;
  --bg:#FFFFFF; --ice:#F6F8FC; --line:#E2E8F1;
}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans KR','Malgun Gothic',-apple-system,sans-serif;
  color:var(--body); background:var(--bg); line-height:1.75;
  -webkit-text-size-adjust:100%; overflow-x:hidden; word-break:keep-all;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.sec{padding:84px 0}
.sec-ice{background:var(--ice)}
.sec-navy{background:var(--navy);color:#C6D2E4}
section[id]{scroll-margin-top:66px}

.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:12px 18px;z-index:999}
.skip:focus{left:12px;top:12px}

.eyebrow{display:block;text-align:center;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.sec-navy .eyebrow{color:#E9BC5A}
h2.sec-title{font-size:clamp(23px,3.9vw,35px);font-weight:900;color:var(--ink);
  text-align:center;line-height:1.35;letter-spacing:-.025em}
.sec-navy h2.sec-title{color:#fff}
.sec-lead{text-align:center;color:var(--muted);font-size:15px;margin-top:14px;
  max-width:680px;margin-left:auto;margin-right:auto}
.sec-navy .sec-lead{color:#9FB0CB}
.rule{width:52px;height:3px;background:var(--gold);margin:20px auto 46px;border-radius:2px}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{display:flex;align-items:baseline;gap:8px;font-weight:900;font-size:22px;
  color:var(--navy);letter-spacing:-.03em}
.logo b{color:var(--blue)}
.logo small{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.12em}
.nav-menu{display:flex;gap:22px;list-style:none}
.nav-menu a{font-size:14px;font-weight:500;color:#586179;transition:color .2s}
.nav-menu a:hover,.nav-menu a.cur{color:var(--blue)}
.nav-menu a.cur{font-weight:700}
.burger{display:none;width:34px;height:34px;border:0;background:none;cursor:pointer;
  flex-direction:column;justify-content:center;gap:5px}
.burger span{display:block;height:2px;background:#586179;border-radius:2px}

/* HERO */
.hero{position:relative;background:linear-gradient(160deg,#1B4478 0%,#10294D 48%,#07162A 100%);
  color:#fff;padding:146px 0 88px;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 82% 12%,rgba(198,135,15,.26),transparent 52%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;text-align:center}
.hero h1{font-size:clamp(18px,2.4vw,24px);font-weight:800;letter-spacing:-.01em;
  color:#9DB6DC;margin-bottom:16px}
.hero-copy{font-size:clamp(27px,5vw,52px);font-weight:900;line-height:1.28;
  letter-spacing:-.035em;margin-bottom:20px}
.hero-copy em{font-style:normal;color:#F5C463}
.hero-sub{font-size:clamp(14px,1.7vw,17px);font-weight:300;color:#B6C5DD;
  max-width:720px;margin:0 auto;line-height:1.9}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  max-width:840px;margin:36px auto 0}
.fact{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:16px;padding:20px 12px}
.fact b{display:block;font-size:22px;font-weight:900;color:#fff;letter-spacing:-.03em;margin-bottom:4px}
.fact b i{font-style:normal;color:#F5C463}
.fact span{font-size:11.5px;color:#9FB0CB;line-height:1.5}

.lineup{display:flex;gap:14px;overflow-x:auto;padding:34px 0 6px;list-style:none;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lineup::-webkit-scrollbar{display:none}
.lineup li{flex:0 0 auto;width:158px}
.lineup a{display:block;text-align:center;padding:15px 12px;border-radius:18px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);transition:.3s;height:100%}
.lineup a:hover{transform:translateY(-7px);background:rgba(255,255,255,.15)}
.thumb{height:104px;border-radius:12px;background:#fff;display:flex;align-items:center;
  justify-content:center;margin-bottom:11px;padding:8px;overflow:hidden}
.thumb img{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.li-name{display:block;font-size:13.5px;font-weight:700;color:#fff;line-height:1.45}
.li-sub{display:block;font-size:11px;color:#8FA3C4;margin-top:3px}
.li-price{display:block;font-size:12.5px;font-weight:800;color:#F5C463;margin-top:5px}

.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 36px;
  border-radius:999px;font-weight:800;font-size:15.5px;transition:.25s;cursor:pointer;border:0;
  font-family:inherit}
.btn-solid{background:var(--gold);color:#fff;box-shadow:0 14px 30px rgba(198,135,15,.32)}
.btn-solid:hover{background:var(--gold-dark);transform:translateY(-3px)}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 14px 30px rgba(27,79,160,.28)}
.btn-blue:hover{background:var(--blue-dark);transform:translateY(-3px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-sm{padding:13px 26px;font-size:14.5px}

/* 서브페이지 히어로 */
.hero-sub-page{background:linear-gradient(160deg,#1B4478 0%,#10294D 55%,#07162A 100%);
  color:#fff;padding:124px 0 58px;position:relative;overflow:hidden}
.hero-sub-page::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 84% 16%,rgba(198,135,15,.22),transparent 54%);pointer-events:none}
.hero-sub-page .wrap{position:relative;z-index:2}
.crumb{font-size:12.5px;color:#8FA3C4;margin-bottom:15px}
.crumb a:hover{color:#fff}
.crumb span{margin:0 7px;opacity:.5}
.hero-sub-page h1{font-size:clamp(25px,4.4vw,40px);font-weight:900;color:#fff;
  letter-spacing:-.035em;line-height:1.3;margin-bottom:15px}
.hero-sub-page p{font-size:clamp(14px,1.7vw,16.5px);color:#B6C5DD;font-weight:300;
  line-height:1.9;max-width:730px}

/* 본문(서브페이지 산문) */
.prose{max-width:880px;margin:0 auto;font-size:15.5px}
.prose h2{font-size:clamp(20px,3vw,27px);font-weight:900;color:var(--ink);letter-spacing:-.028em;
  line-height:1.4;margin:52px 0 16px;padding-bottom:13px;border-bottom:2px solid var(--line)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;font-weight:800;color:var(--ink);margin:32px 0 10px;letter-spacing:-.02em}
.prose p{line-height:2;margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 20px 20px}
.prose li{line-height:1.95;margin-bottom:8px}
.prose a{color:var(--blue);font-weight:600;border-bottom:1px solid rgba(27,79,160,.3)}
.prose a:hover{border-bottom-color:var(--blue)}
.prose strong{color:var(--ink);font-weight:700}
.prose table{margin:22px 0}
.prose figure{margin:28px 0}

/* GRID / CARDS */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;
  border-top:3px solid var(--blue);transition:.25s}
.card:hover{box-shadow:0 14px 32px rgba(16,41,77,.09);transform:translateY(-4px)}
.card h3{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:10px;letter-spacing:-.02em}
.card p{font-size:14.5px;line-height:1.85;color:var(--body)}
.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;
  background:var(--gold-tint);color:var(--gold-dark);font-size:11.5px;font-weight:700;margin-bottom:12px}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.split h2{text-align:left;font-size:clamp(21px,3.2vw,31px);font-weight:900;color:var(--ink);
  line-height:1.42;letter-spacing:-.028em;margin-bottom:20px}
.split p{font-size:15.5px;line-height:2.05;margin-bottom:16px}
.split-fig{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;
  box-shadow:0 18px 44px -20px rgba(16,41,77,.35)}
.split-fig img{border-radius:14px}
.split-fig figcaption{font-size:12.5px;color:var(--muted);margin-top:14px;text-align:center;line-height:1.7}
.deflist{list-style:none;margin-top:6px}
.deflist li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.deflist li:last-child{border-bottom:0}
.deflist b{flex:0 0 104px;font-size:14.5px;font-weight:800;color:var(--blue)}
.deflist span{font-size:14.5px;line-height:1.75}

/* TABLE */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;background:#fff;min-width:620px}
th,td{padding:15px 17px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line);
  vertical-align:top}
thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}
tbody tr:last-child td{border-bottom:0}
tbody th{font-weight:700;color:var(--ink);background:var(--ice);white-space:nowrap}
td.hl{color:var(--gold-dark);font-weight:700}
.note{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.85}

/* STEPS */
.steps{counter-reset:s;display:grid;gap:15px;max-width:840px;margin:0 auto}
.step{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:23px 26px 23px 72px}
.step::before{content:counter(s);position:absolute;left:23px;top:23px;width:32px;height:32px;
  border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:14.5px;
  display:flex;align-items:center;justify-content:center}
.step h3{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:6px}
.step p{font-size:14.5px;line-height:1.85}

/* CALLOUT / ALERT */
.callout{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-left:5px solid var(--blue);border-radius:14px;padding:26px 30px}
.callout h3{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:9px}
.callout p{font-size:14.5px;line-height:1.9}
.callout a{color:var(--blue);font-weight:700}
.alert{max-width:900px;margin:0 auto;background:var(--gold-tint);border:1px solid #F0DFB8;
  border-left:5px solid var(--gold);border-radius:16px;padding:28px 32px}
.alert h3{font-size:18px;font-weight:900;color:var(--gold-dark);margin-bottom:8px;letter-spacing:-.02em}
.alert>p{font-size:14.5px;line-height:1.9;color:#6B5320;margin-bottom:16px}
.alert ul{list-style:none;display:grid;gap:10px}
.alert ul li{display:flex;gap:11px;font-size:14.5px;line-height:1.8;color:var(--ink);font-weight:600}
.alert ul li b{flex:0 0 auto;color:var(--gold-dark)}
.prose .callout,.prose .alert{margin:26px auto}

/* 구매 바로가기 */
.buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.buy{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:18px;transition:.25s;height:100%}
.buy:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(16,41,77,.12);border-color:#C9D6E8}
.buy-thumb{background:#fff;border:1px solid var(--line);border-radius:12px;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;margin-bottom:14px}
.buy-thumb img{width:100%;height:100%;object-fit:contain}
.buy-name{display:block;font-size:14.5px;font-weight:800;color:var(--ink);line-height:1.5;letter-spacing:-.02em}
.buy-form{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.buy-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.buy-price{font-size:17px;font-weight:900;color:var(--ink);letter-spacing:-.03em}
.buy-go{font-size:12.5px;font-weight:800;color:#fff;background:var(--gold);
  padding:8px 14px;border-radius:999px;white-space:nowrap}
.buy:hover .buy-go{background:var(--gold-dark)}
.buy-note{max-width:820px;margin:26px auto 0;text-align:center;font-size:12.5px;
  color:var(--muted);line-height:1.9}
.buy-note a{color:var(--blue);font-weight:700}

/* 주제별 카드(네이버 캐러셀과 같은 원천) */
.ot-cards__list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
/* 9장이면 4열에서 마지막 줄에 1개만 남는다. 3열로 떨어뜨려 3x3 으로 맞춘다. */
.ot-cards__list[data-n="9"]{grid-template-columns:repeat(3,1fr)}
.ot-cards__list[data-n="6"]{grid-template-columns:repeat(3,1fr)}
.ot-cards__item{display:flex}
.ot-cards__link{display:flex;flex-direction:column;width:100%;background:#fff;
  border:1px solid var(--line);border-radius:18px;padding:16px;transition:.25s}
.ot-cards__link:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(16,41,77,.12)}
.ot-cards__thumb{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;
  aspect-ratio:1/1;overflow:hidden;margin-bottom:13px}
.ot-cards__img{width:100%;height:100%;object-fit:contain}
.ot-cards__name{display:block;font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.ot-cards__go{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}

/* 핵심 요약 (AEO) — 생성형 검색이 그대로 떼어 가는 블록 */
.answer{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-left:5px solid var(--blue);border-radius:18px;padding:32px 36px;
  box-shadow:0 14px 40px -22px rgba(16,41,77,.45)}
.answer h2{font-size:clamp(18px,2.6vw,23px);font-weight:900;color:var(--ink);
  letter-spacing:-.025em;margin-bottom:18px;padding-bottom:14px;
  border-bottom:1px solid var(--line)}
.answer ul{list-style:none;display:grid;gap:13px}
.answer li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.85;color:var(--body)}
.answer li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;
  border-radius:50%;background:var(--gold)}
.answer-src{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--muted)}
@media (max-width:680px){ .answer{padding:24px 22px} .answer li{font-size:15px} }

/* FAQ */
.faq{max-width:880px;margin:0 auto;display:grid;gap:11px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{width:100%;border:0;background:none;cursor:pointer;text-align:left;padding:20px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:inherit}
.faq-q span.qt{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.6}
.faq-q span.qn{color:var(--gold-dark);font-weight:900;font-style:italic;margin-right:9px}
.faq-q .arw{flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .3s;margin-top:-4px}
.faq-item.open .faq-q .arw{transform:rotate(225deg);margin-top:4px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 24px 22px;font-size:14.5px;line-height:1.95;color:var(--body)}

/* FOOTER */
/* 아래 여백은 하단 고정 배너가 광고 고지를 가리지 않게 하려는 것이다. */
footer{background:var(--navy-deep);color:#8896B0;padding:64px 0 124px;font-size:13px}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:42px;
  border-bottom:1px solid #16273D;padding-bottom:36px}
footer h4{color:#fff;font-size:15px;font-weight:900;letter-spacing:.08em;margin-bottom:16px}
footer h5{color:#C2CEE1;font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:16px}
footer p{font-size:12.5px;line-height:1.95;opacity:.85}
footer p+p{margin-top:11px}
footer ul{list-style:none}
footer ul li{margin-bottom:9px}
footer ul a{font-size:12.5px;opacity:.85;transition:.2s}
footer ul a:hover{opacity:1;color:#fff}
.f-disc{margin-top:26px;font-size:12px;line-height:1.95;opacity:.62}
.copy{margin-top:20px;font-size:11.5px;opacity:.45;text-align:center}

/* STICKY CTA */
#sticky{position:fixed;left:0;right:0;bottom:0;z-index:950;transform:translateY(120%);
  transition:transform .45s cubic-bezier(.22,1,.36,1)}
#sticky.show{transform:translateY(0)}
.sticky-box{position:relative;background:linear-gradient(105deg,#17406F 0%,#10294D 55%,#0A1B33 100%);
  border-top:3px solid var(--gold);
  box-shadow:0 -18px 50px -12px rgba(8,23,39,.55)}
.sticky-close{position:absolute;top:9px;right:13px;border:0;background:none;cursor:pointer;
  font-size:21px;line-height:1;color:rgba(255,255,255,.45);padding:2px 6px}
.sticky-close:hover{color:#fff}
.sticky-inner{padding:15px 19px;display:flex;align-items:center;justify-content:center;
  gap:20px;flex-wrap:wrap}
.sticky-thumb{display:block;width:60px;height:60px;flex:0 0 auto;background:#fff;
  border-radius:12px;padding:5px}
.sticky-thumb img{width:100%;height:100%;object-fit:contain}
.sticky-tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.06em;
  color:#1A1206;background:var(--gold);padding:3px 10px;border-radius:999px;margin-bottom:5px}
.sticky-txt strong{display:block;font-size:17px;font-weight:800;color:#fff;
  letter-spacing:-.025em;line-height:1.4}
.sticky-txt strong b{color:#F5C463;font-weight:900;margin-left:4px}
.sticky-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#fff;
  font-weight:900;font-size:15.5px;padding:15px 32px;border-radius:12px;white-space:nowrap;
  box-shadow:0 8px 22px rgba(198,135,15,.45);transition:.25s;
  animation:stickyPulse 2.4s ease-in-out infinite}
.sticky-btn i{font-style:normal;transition:transform .25s}
.sticky-btn:hover{background:#B87C0C;transform:translateY(-2px);animation:none}
.sticky-btn:hover i{transform:translateX(4px)}
@keyframes stickyPulse{
  0%,100%{box-shadow:0 8px 22px rgba(198,135,15,.45)}
  50%{box-shadow:0 8px 30px rgba(198,135,15,.85)}
}
@media (prefers-reduced-motion:reduce){
  .sticky-btn{animation:none}
  #sticky{transition:none}
}

/* RESPONSIVE */
@media (max-width:1000px){
  .buy-grid,.ot-cards__list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:960px){
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:32px}
  .f-grid{grid-template-columns:1fr;gap:28px}
  .nav-menu{gap:15px}
  .nav-menu a{font-size:13px}
}
@media (max-width:760px){
  .buy-grid,.ot-cards__list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .sec{padding:56px 0}
  .hero{padding:114px 0 64px}
  .hero-sub-page{padding:104px 0 48px}
  .burger{display:flex}
  .nav-menu{position:fixed;top:66px;left:0;right:0;background:#fff;flex-direction:column;
    gap:0;padding:0 20px;max-height:0;overflow:hidden;transition:max-height .35s ease;
    border-bottom:1px solid var(--line)}
  .nav-menu.open{max-height:420px}
  .nav-menu li{border-bottom:1px solid var(--ice)}
  .nav-menu a{display:block;padding:14px 0;font-size:14.5px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .hero-facts{grid-template-columns:1fr 1fr}
  .card{padding:22px}
  .step{padding:20px 20px 20px 60px}
  .step::before{left:17px;top:20px}
  .deflist li{flex-direction:column;gap:4px}
  .deflist b{flex:none}
  .alert,.callout{padding:22px 20px}
  .sticky-inner{gap:11px;padding:13px}
  .sticky-thumb{display:none}
  .sticky-txt{text-align:center}
  .sticky-txt strong{font-size:15px}
  .sticky-btn{width:100%;text-align:center;justify-content:center}
}
