/* ════ 리비에라 테마 (크림 바탕 · 초콜릿 글씨 · 테라코타 · 올리브) — 모든 페이지 공통 ════ */
html.riviera { --bg:#F6EFE4; --bg2:#EDE3D2; --card:#F1E7D7; --line:rgba(59,36,24,.13); --cream:#3B2418; --muted:#5A4334;
  --ink:#3B2418; --terra:#9A7140; --terra-d:#7E5A2E; --olive:#6B4A35; --lemon:#F2C14E; color-scheme:light; }
html.riviera body { background:var(--bg) !important; color:var(--ink) !important; }
html.riviera .bg-cream { background:var(--bg) !important; }
html.riviera .bg-paper { background:var(--card) !important; }
html.riviera .bg-white { background:var(--card) !important; }
html.riviera [class*="bg-cream/"] { background:var(--card) !important; }
html.riviera .text-slate-800, html.riviera .text-slate-700 { color:var(--ink) !important; }
html.riviera .text-slate-600, html.riviera .text-slate-500, html.riviera .text-slate-400 { color:var(--muted) !important; }
html.riviera [class*="border-navy"], html.riviera section { border-color:var(--line) !important; }
html.riviera input, html.riviera textarea, html.riviera select { background:#FBF6EE; color:var(--ink); }
html.riviera table { background:var(--card); }
html.riviera table td { border-color:var(--line); }
html.riviera .text-\[\#d9b07a\] { color:var(--terra) !important; }
html.riviera .text-\[\#efe4cf\] { color:var(--ink) !important; }
html.riviera footer { background:#2B1A11 !important; color:rgba(246,239,228,.62) !important; }
html.riviera footer a:hover { color:#fff; }
html.riviera .k-hl { color:var(--ink); }

/* ── 상단 메뉴: 윗줄(회사) 크게 · 아랫줄(서비스) 작게 ── */
html.riviera .site-head { background:rgba(246,239,228,.94) !important; border-color:var(--line) !important; }
.site-head .logo-badge { background:transparent; padding:0; }
.head-cta { background:var(--terra, #a8784a); color:#fff; } .head-cta:hover { background:var(--ink, #efe4cf); color:#fff; }
.nav2 { display:none; }
@media (min-width:768px) {
  .nav2 { display:flex; flex-direction:column; align-items:center; gap:3px; margin-left:auto; margin-right:28px; }
  .nav2 .top { display:flex; gap:30px; font-size:15.5px; font-weight:700; color:var(--ink); }
  .nav2 .sub { display:flex; gap:6px; font-size:12.5px; font-weight:500; color:var(--muted); }
  .nav2 .sub a + a::before { content:"·"; margin-right:6px; color:var(--line); }
  .nav2 a { transition:color .2s; } .nav2 a:hover, .nav2 a[aria-current] { color:var(--terra); }
}
/* 휴대폰: 회사 메뉴는 ≡ 안에, 서비스 4개는 항상 보이는 한 줄 */
.mnav { position:relative; margin-left:auto; margin-right:10px; }
.mnav summary { list-style:none; cursor:pointer; width:40px; height:40px; display:grid; place-items:center; border-radius:10px; font-size:22px; color:var(--ink); }
.mnav summary::-webkit-details-marker { display:none; }
.mnav[open] summary { background:var(--bg2); }
.mnav nav { position:absolute; right:0; top:46px; min-width:180px; background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:8px; box-shadow:0 18px 40px -16px rgba(59,36,24,.35); display:flex; flex-direction:column; }
.mnav nav a { padding:11px 14px; border-radius:9px; font-weight:700; color:var(--ink); }
.mnav nav a:hover { background:var(--bg2); color:var(--terra); }
@media (min-width:768px) { .mnav { display:none; } }
.chips { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:0 16px 10px; }
.chips::-webkit-scrollbar { display:none; }
.chips a { flex:none; font-size:13px; font-weight:600; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:999px; padding:6px 13px; }
.chips a[aria-current] { background:var(--ink); color:#fff; border-color:var(--ink); }
@media (min-width:768px) { .chips { display:none; } }

/* ── 회사소개 · FAQ · 새소식 공통 ── */
.eyebrow { color:var(--terra); font-weight:700; font-size:13px; letter-spacing:.22em; }
.page-title { font-family:"Noto Serif KR", serif; font-weight:700; font-size:clamp(2.2rem, 5.2vw, 4rem); line-height:1.18; color:var(--ink); }
.lead { color:var(--muted); font-size:clamp(1rem, 1.6vw, 1.15rem); line-height:1.9; }
.card { background:var(--card); border:1px solid var(--line); border-radius:20px; }
.chip { display:inline-block; font-size:13.5px; font-weight:600; color:var(--ink); background:var(--bg2); border-radius:999px; padding:7px 14px; }

/* 읽기 편하게: 본문 글씨 조금 크고 진하게 */
html.riviera main p { letter-spacing:-.01em; }
html.riviera .text-slate-600 { font-weight:500; }
@media (min-width:768px) { html.riviera main .text-center > p.text-slate-600 { font-size:1.06rem; } }

/* ── 포트폴리오: 한 줄에 4개, 마우스를 올리면 어떻게 만들었는지 ── */
html.riviera, html.riviera body { overflow-x:clip; }
.pf-grid.slider { display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px !important; overflow:visible !important; padding:0 !important; margin-left:0; margin-right:0; }
.pf-grid > * { flex:none !important; width:auto !important; }
.pf-grid > a { position:relative; }
.pf-img { position:relative; display:block; overflow:hidden; }
.pf-hover { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:16px; color:#F6EFE4; text-align:left;
  background:linear-gradient(to top, rgba(43,26,17,.95) 0%, rgba(43,26,17,.72) 50%, rgba(43,26,17,.15) 100%);
  clip-path:inset(100% 0 0 0); transition:clip-path .55s cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.pf-hover b { font-size:11.5px; letter-spacing:.14em; color:#F2C14E; font-weight:800; opacity:0; transform:translateY(14px); transition:opacity .4s .12s, transform .4s .12s; }
.pf-hover > span { font-size:14px; line-height:1.55; font-weight:600; opacity:0; transform:translateY(16px); transition:opacity .45s .2s, transform .45s .2s; }
.pf-grid > a:hover .pf-hover, .pf-grid > a:focus-visible .pf-hover { clip-path:inset(0); }
.pf-grid > a:hover .pf-hover > *, .pf-grid > a:focus-visible .pf-hover > * { opacity:1; transform:none; }
.pf-tall .pf-hover { top:auto; height:50%; }
.pf-tall .h-96 { height:20rem; position:relative; }
@media (max-width:1023px) { .pf-grid.slider { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px) { .pf-grid.slider:not(.pf-tall) { grid-template-columns:1fr; } .pf-tall .h-96 { height:15rem; } }
@media (hover:none) {   /* 휴대폰: 마우스가 없으니 설명을 처음부터 아래쪽에 */
  .pf-hover { clip-path:none; top:auto; height:auto; padding:28px 12px 10px; background:linear-gradient(to top, rgba(43,26,17,.92), rgba(43,26,17,0)); }
  .pf-hover > * { opacity:1 !important; transform:none !important; } .pf-hover > span { font-size:12.5px; }
}
.chip-dark { background:rgba(246,239,228,.1); color:#F6EFE4; border:1px solid rgba(246,239,228,.18); }

/* ── 따라다니는 문의 버튼 (cta.js) ── */
.fcta { position:fixed; right:18px; top:0; z-index:40; display:flex; flex-direction:column; gap:8px; opacity:0; pointer-events:none; transition:opacity .35s; }
.fcta.on { opacity:1; pointer-events:auto; }
.fcta a { display:flex; align-items:center; justify-content:center; gap:6px; font-weight:800; font-size:14px; padding:13px 16px; border-radius:16px; box-shadow:0 16px 36px -14px rgba(59,36,24,.55); transition:transform .2s, background .2s; }
.fcta a:hover { transform:translateX(-3px); }
.fcta-q { background:var(--terra, #9A7140); color:#FFF8EC; border:1px solid rgba(255,248,236,.35); } .fcta-q span { color:#F2C14E; }
.fcta-k { background:#FEE500; color:#191600; } .fcta-k svg { width:18px; height:18px; }
@media (max-width:767px) {   /* 휴대폰: 아래 고정 문의 버튼이 있으니 카톡만 동그랗게 */
  .fcta { top:auto; bottom:16px; right:16px; transform:none !important; opacity:1; pointer-events:auto; }
  .fcta-q { display:none !important; }
}
.pf-grid > a[href="contact.html"] { grid-column:1 / -1; display:grid !important; grid-template-columns:1.2fr 1fr auto; align-items:center; column-gap:32px; }
.pf-grid > a[href="contact.html"] > p:first-child { grid-column:1 / -1; }
@media (max-width:767px) { .pf-grid > a[href="contact.html"] { grid-template-columns:1fr; } }

/* ── 플랜 카드 (유지보수 · 전자책 공통) ── */
  /* 플랜: 처음엔 '어떤 버전'만, 마우스를 올리거나 누르면 내용이 펼쳐짐 */
.plans { display:grid; gap:16px; grid-template-columns:repeat(4, minmax(0,1fr)); align-items:start; }
@media (max-width:1023px) { .plans { grid-template-columns:repeat(2, minmax(0,1fr)); } } @media (max-width:600px) { .plans { grid-template-columns:1fr; } }
.plan { position:relative; background:var(--bg); border:1px solid var(--line); border-radius:22px; padding:26px 24px 18px; transition:transform .35s, box-shadow .35s, border-color .35s; outline:none; }
.plan:hover, .plan:focus-within, .plan.open { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(59,36,24,.45); border-color:var(--terra); }
.plan-rec { border:2px solid var(--terra); }
.plan-badge { position:absolute; top:-12px; right:20px; background:var(--terra); color:#fff; font-size:12px; font-weight:800; padding:4px 12px; border-radius:999px; }
.plan-tag { font-size:12.5px; font-weight:700; color:var(--terra); letter-spacing:.04em; }
.plan-name { font-size:1.4rem; font-weight:800; color:var(--ink); margin-top:4px; }
.plan-price { font-family:"Noto Serif KR",serif; font-size:1.9rem; font-weight:700; color:var(--ink); margin-top:8px; }
.plan-who { color:var(--muted); font-size:14px; margin-top:10px; min-height:3.4em; }
.plan-more-btn { margin-top:14px; width:100%; display:flex; justify-content:space-between; font-size:13.5px; font-weight:700; color:var(--ink); padding:10px 0 4px; border-top:1px dashed var(--line); }
.plan-more-btn span { transition:transform .3s; color:var(--terra); }
.plan-more { display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1); }
.plan-more ul { overflow:hidden; font-size:13.5px; color:var(--ink); }
.plan-more li { padding:7px 0 7px 18px; position:relative; border-bottom:1px solid var(--line); opacity:0; transform:translateY(8px); transition:opacity .35s, transform .35s; }
.plan-more li::before { content:"✓"; position:absolute; left:0; color:var(--terra); font-weight:800; }
.plan-more em { font-style:normal; color:var(--muted); }
.plan:hover .plan-more, .plan:focus-within .plan-more, .plan.open .plan-more { grid-template-rows:1fr; }
.plan:hover .plan-more li, .plan:focus-within .plan-more li, .plan.open .plan-more li { opacity:1; transform:none; }
.plan:hover .plan-more-btn span, .plan.open .plan-more-btn span { transform:rotate(45deg); }
.plan .plan-more li:nth-child(1) { transition-delay:0.05s; }
.plan .plan-more li:nth-child(2) { transition-delay:0.10s; }
.plan .plan-more li:nth-child(3) { transition-delay:0.15s; }
.plan .plan-more li:nth-child(4) { transition-delay:0.20s; }
.plan .plan-more li:nth-child(5) { transition-delay:0.25s; }
.plan .plan-more li:nth-child(6) { transition-delay:0.30s; }
.plan .plan-more li:nth-child(7) { transition-delay:0.35s; }
.plan .plan-more li:nth-child(8) { transition-delay:0.40s; }
.plan .plan-more li:nth-child(9) { transition-delay:0.45s; }

/* ── 사람이 손본 느낌: 카드에 은은한 빛과 그림자 ── */
html.riviera :is(.card, .plan, .bg-paper.rounded-2xl, .bg-white.rounded-2xl, .info-tile) { background-image:linear-gradient(160deg, rgba(255,250,240,.55) 0%, rgba(255,250,240,0) 45%); }
html.riviera :is(.card, .plan, .bg-paper.rounded-2xl, .bg-white.rounded-2xl, .info-tile) {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 1px 2px rgba(59,36,24,.06), 0 18px 40px -30px rgba(59,36,24,.35); }
.eyebrow { display:inline-flex; align-items:center; gap:10px; } .eyebrow::before { content:""; width:26px; height:1.5px; background:currentColor; opacity:.7; }

/* ── 마우스를 올리면 테두리를 따라 빛이 도는 효과 ── */
@property --ang { syntax:'<angle>'; initial-value:0deg; inherits:false; }
:is(.plan, .way, .val, .pf-grid > a, .hp-steps li, .faq details, .post, .info-tile, .kin-svc a, .hp-fact, .card) { position:relative; }
:is(.plan, .way, .val, .pf-grid > a, .hp-steps li, .faq details, .post, .info-tile, .kin-svc a, .hp-fact, .card)::after {
  content:""; position:absolute; inset:0; border-radius:inherit; padding:2px; pointer-events:none; z-index:6;
  background:conic-gradient(from -90deg, #F2C14E 0deg, #9A7140 var(--ang), transparent var(--ang));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  transition:--ang .9s cubic-bezier(.4,0,.2,1); }
:is(.plan, .way, .val, .pf-grid > a, .hp-steps li, .faq details, .post, .info-tile, .kin-svc a, .hp-fact, .card):is(:hover, :focus-visible, .on)::after { --ang:360deg; }

/* ── 화면 밖에서 날아 들어오기 (fx.js 가 .in 을 붙임) ── */
[data-fly] > * { opacity:0; transition:opacity .8s, transform 1s cubic-bezier(.2,.8,.2,1); transition-delay:calc(var(--k, 0) * 110ms); }
[data-fly] > *:nth-child(odd) { transform:translate(-90px, 60px) rotate(-4deg); } [data-fly] > *:nth-child(even) { transform:translate(90px, 60px) rotate(4deg); }
[data-fly].in > * { opacity:1; transform:none; }
[data-pop] { opacity:0; transform:scale(.85) translateY(40px); transition:opacity .8s, transform 1s cubic-bezier(.3,1.3,.5,1); } [data-pop].in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { [data-fly] > *, [data-pop] { opacity:1; transform:none; } :is(.plan, .way, .val, .pf-grid > a)::after { transition:none; } }
.plans.plans-3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:767px) { .plans.plans-3 { grid-template-columns:1fr; } }

/* 어두운 바탕 위 금색 글씨는 한 톤 밝게 */
html.riviera :is(.bg-navy, .flow-sec, [class*="bg-[#2B1A11]"]) .text-camel { color:#E2B872 !important; }

/* ── 플랜: 카드는 짧게, 고른 카드의 내용만 아래 한 칸에 ── */
.plans .plan-more, .plans .plan-more-btn { display:none !important; }
.plan { cursor:pointer; } .plan.on { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(59,36,24,.45); }
.plan-hint { margin-top:14px; padding-top:10px; border-top:1px dashed var(--line); font-size:13px; font-weight:700; color:var(--terra); }
.plan.on .plan-hint { color:var(--ink); }
.plan-panel { margin-top:18px; background:var(--bg); border:1.5px solid var(--terra); border-radius:22px; padding:24px 28px; color:var(--ink); box-shadow:0 22px 46px -30px rgba(59,36,24,.5); }
.plan-panel.swap { animation:ppIn .5s cubic-bezier(.2,.8,.2,1); } @keyframes ppIn { from { opacity:0; transform:translateY(14px); } }
.pp-t { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; } .pp-t b { font-size:1.3rem; font-weight:800; } .pp-t span { font-family:"Noto Serif KR",serif; font-weight:700; color:var(--terra); font-size:1.15rem; } .pp-t em { font-style:normal; color:var(--muted); font-size:14px; }
.plan-panel ul { margin-top:14px; columns:2; column-gap:40px; font-size:14.5px; }
.plan-panel li { break-inside:avoid; padding:8px 0 8px 22px; position:relative; border-bottom:1px solid var(--line); animation:ppLi .45s both; }
.plan-panel li::before { content:"✓"; position:absolute; left:0; color:var(--terra); font-weight:800; }
.plan-panel em { font-style:normal; color:var(--muted); }
@keyframes ppLi { from { opacity:0; transform:translateX(-10px); } }
.plan-panel li:nth-child(1) { animation-delay:0.04s; }
.plan-panel li:nth-child(2) { animation-delay:0.08s; }
.plan-panel li:nth-child(3) { animation-delay:0.12s; }
.plan-panel li:nth-child(4) { animation-delay:0.16s; }
.plan-panel li:nth-child(5) { animation-delay:0.20s; }
.plan-panel li:nth-child(6) { animation-delay:0.24s; }
.plan-panel li:nth-child(7) { animation-delay:0.28s; }
.plan-panel li:nth-child(8) { animation-delay:0.32s; }
.plan-panel li:nth-child(9) { animation-delay:0.36s; }
.plan-panel li:nth-child(10) { animation-delay:0.40s; }

@media (max-width:767px) { .plan-panel ul { columns:1; } }

/* ── 글자에도 손대면 반응 ── */
html.riviera main :is(h2, h3) { transition:color .3s, letter-spacing .4s; }
html.riviera main :is(h3, p.font-bold):not([class*="text-white"]):hover { color:var(--terra); }
html.riviera main section h2:hover { letter-spacing:.01em; }
html.riviera main :is(p, li):not(.ch) { transition:color .25s, transform .3s; }
html.riviera main :is(.text-slate-600, .text-slate-500, .lead):hover { color:var(--ink) !important; }
html.riviera main li:hover { transform:translateX(4px); }
html.riviera main :is(.flow, .plan-panel ul, .faq) li:hover { transform:none; }
@media (max-width:1023px) {   /* 휴대폰·태블릿: 날아오는 거리를 줄여 화면 밖으로 삐져나오지 않게 */
  [data-fly] > *:nth-child(odd), [data-fly] > *:nth-child(even) { transform:translateY(40px); }
  [data-fly].in > * { transform:none; }
}

/* ════ 휴대폰 손보기 ════ */
/* 꾹 누를 때 글자 선택 · 메뉴 막기 */
a, button, .card, .plan, .val, .way, .chip, .pf-grid, .kin-svc, .gd-chips, .tabs, .cats, .info-tile, .hp-steps, .fcta, .gd-btn { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
img { -webkit-touch-callout:none; }
/* 포트폴리오: 꾹 누르면 설명 */
.pf-grid > a.peek .pf-hover { clip-path:inset(0); } .pf-grid > a.peek .pf-hover > * { opacity:1; transform:none; }
@media (hover:none) {
  .pf-hover { clip-path:inset(100% 0 0 0); top:0; height:auto; padding:12px; background:linear-gradient(to top, rgba(43,26,17,.95) 0%, rgba(43,26,17,.75) 60%, rgba(43,26,17,.25) 100%); }
  .pf-hover > * { opacity:0 !important; transform:translateY(10px) !important; transition:opacity .3s, transform .3s; }
  .pf-grid > a.peek .pf-hover > * { opacity:1 !important; transform:none !important; }
  .pf-tall .pf-hover { top:auto; height:65%; }
}
@media (max-width:767px) {
  .pf-grid.slider, .pf-grid.slider:not(.pf-tall) { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:10px !important; }
  .pf-grid > a .p-4 { padding:10px 10px 12px; gap:4px; } .pf-grid > a p.font-bold { font-size:13px; line-height:1.4; } .pf-grid > a .text-xs { font-size:11px; }
  .pf-grid > a .shrink-0, .pf-grid > a .text-camel.group-hover\:translate-x-1 { display:none; }
  .pf-hover b { font-size:10.5px; } .pf-hover > span { font-size:12px !important; line-height:1.45; }
  .pf-tall .h-96 { height:13rem !important; }
  .pf-grid > a[href="contact.html"] { padding:20px !important; }
  /* 진행 과정: 휴대폰에서는 겹치지 않고 차례로 */
  .flow-card { position:relative !important; top:auto !important; min-height:auto; box-shadow:none !important; }
  .flow-in > * { opacity:1 !important; transform:none !important; }
  /* 기술 꼬리표 설명은 아래로, 화면 안에서 */
  .tg .chip::after { left:0; bottom:auto; top:calc(100% + 8px); transform:translateY(-4px); max-width:min(240px, 78vw); }
  .tg .chip:focus::after, .tg .chip.peek::after { opacity:1; transform:none; }
  /* 플랜: 휴대폰은 한 줄에 두 개, 짧게 */
  .plans { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:10px; } .plans.plans-3 { grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
  .plan { padding:16px 14px 12px; border-radius:16px; } .plan-tag { font-size:11px; } .plan-name { font-size:1.05rem; } .plan-price { font-size:1.15rem; } .plan-who { display:none; }
  .plan-badge { right:10px; font-size:11px; padding:2px 8px; } .plan-hint { font-size:12px; margin-top:8px; }
  .plan-panel { padding:18px 16px; scroll-margin-top:130px; }
}
/* [data-mp] 묶음: 휴대폰에서는 작은 칸 + 아래 설명 한 칸 */
.mp-panel { display:none; }
@media (max-width:767px) {
  [data-mp] { gap:8px !important; } [data-mp] > * { cursor:pointer; }
  [data-mp] > .mp-on { border-color:var(--terra) !important; background:#EFE3CF !important; }
  .mp-panel { display:block; margin-top:12px; background:var(--card); border:1.5px solid var(--terra); border-radius:18px; padding:16px 18px; color:var(--ink); }
  .mp-panel b { font-size:1.05rem; font-weight:800; display:block; } .mp-panel b span, .mp-panel b em { font-style:normal; } .mp-panel p { color:var(--muted); margin-top:6px; font-size:14.5px; line-height:1.7; }
  .mp-panel.swap { animation:ppIn .4s cubic-bezier(.2,.8,.2,1); }
  /* GRIT: 네 글자를 한 줄로 */
  .val-grid { grid-template-columns:repeat(4, minmax(0,1fr)) !important; }
  .val { height:92px !important; } .val .big { font-size:3.2rem !important; transform:none !important; } .val .vt, .val .hint { display:none !important; }
  /* 일하는 방식: 한 줄에 세 개, 아이콘 + 제목만 */
  .way-grid { grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
  .way { padding:14px 10px !important; text-align:center; } .way svg { width:40px !important; height:30px !important; margin:0 auto; } .way h3 { font-size:13px !important; margin-top:10px !important; line-height:1.35; } .way > p { display:none; }
}
@media (max-width:767px) {
  /* 포트폴리오: 꾹 누르면 설명이 카드 전체를 덮어 다 보이게 */
  .pf-grid > a .pf-img { position:static; } .pf-grid > a { position:relative; overflow:hidden; }
  .pf-grid > a .pf-hover { inset:0; height:auto !important; top:0 !important; justify-content:center; padding:14px 12px; border-radius:inherit; z-index:3; background:rgba(43,26,17,.97); }
  /* 유지보수 A · B, 넘겨받기 4단계: 두 개씩 */
  .ab-grid > a { padding:16px 14px !important; } .ab-grid > a p.text-2xl { font-size:1.05rem; line-height:1.4; } .ab-grid > a p.text-sm { font-size:12.5px; }
  .take-grid > li { padding:16px 14px !important; } .take-grid > li .text-2xl { font-size:1.2rem; } .take-grid > li .text-lg { font-size:1rem; }
  .take-grid > li .text-sm { font-size:12.5px; line-height:1.6; } .take-grid > li ul { font-size:12px; }
  /* 카톡 문의: 그릿 데스크 바로 아래 */
  .fcta { top:178px !important; bottom:auto !important; right:12px !important; }
  .fcta-k { padding:8px 12px; font-size:12.5px; border-radius:999px; }
  .fcta.mini .fcta-k { padding:9px; font-size:0; gap:0; } .fcta.mini .fcta-k svg { width:20px; height:20px; }
}
