:root {
  --gj-bg:#f7f6f2;
  --gj-paper:#ffffff;
  --gj-ink:#252525;
  --gj-sub:#6d6a63;
  --gj-soft:#ede9df;
  --gj-line:#ded8cc;
  --gj-brand:#2f5d50;
  --gj-brand-dark:#1f4037;
  --gj-brand-soft:#e7f0ec;
  --gj-accent:#b78342;
  --gj-accent-soft:#f4eadb;
  --gj-radius:18px;
  --gj-shadow:0 18px 45px rgba(44,38,30,.08)
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Pretendard','Noto Sans KR','Apple SD Gothic Neo',sans-serif;
  background:var(--gj-bg);
  color:var(--gj-ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none
}

img {
  max-width:100%;
  height:auto
}

button,input,textarea {
  font:inherit
}

.skip-link {
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  z-index:100000;
  background:#fff;
  color:var(--gj-brand-dark);
  border:2px solid var(--gj-brand);
  border-radius:10px;
  padding:10px 14px;
  font-weight:900
}

.skip-link:focus {
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  overflow:visible
}

.pt-container {
  width:min(100% - 40px,1200px);
  margin:0 auto
}

.pt-center {
  text-align:center
}

.pt-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gj-line)
}

.pt-header__inner {
  height:76px;
  display:flex;
  align-items:center;
  gap:28px
}

.pt-logo {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:22px;
  letter-spacing:-.7px;
  color:var(--gj-brand-dark)
}

.pt-logo__mark {
  width:39px;
  height:39px;
  border-radius:12px;
  background:var(--gj-brand);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:13px;
  letter-spacing:-.5px
}

.pt-logo img {
  max-height:42px;
  width:auto
}

.pt-nav {
  margin-left:auto
}

.pt-nav__list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:18px
}

.pt-nav__list a {
  font-size:13px;
  font-weight:700;
  color:#3d3a35
}

.pt-nav__list a:hover {
  color:var(--gj-brand)
}

.pt-nav__list>li {
  position:relative
}

.pt-nav__list .sub-menu {
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  list-style:none;
  margin:0;
  padding:10px;
  min-width:190px;
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:16px;
  box-shadow:0 18px 48px rgba(31,47,43,.13);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:60
}

.pt-nav__list .sub-menu::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px
}

.pt-nav__list .sub-menu a {
  display:block;
  padding:10px 12px;
  border-radius:10px;
  white-space:nowrap;
  font-size:13px
}

.pt-nav__list .sub-menu a:hover {
  background:var(--gj-soft)
}

.pt-nav__list .menu-item-has-children>a::after {
  content:"▾";
  font-size:10px;
  margin-left:5px;
  color:var(--gj-muted)
}

.pt-nav__list .menu-item-has-children:hover>.sub-menu,.pt-nav__list .menu-item-has-children:focus-within>.sub-menu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0)
}

.pt-header__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gj-brand);
  background:#fff;
  color:var(--gj-brand-dark);
  border-radius:999px;
  padding:10px 17px;
  font-size:13px;
  font-weight:800
}

.pt-header__cta:hover {
  background:var(--gj-brand);
  color:#fff
}

.pt-menu-toggle {
  display:none;
  border:1px solid var(--gj-line);
  background:#fff;
  border-radius:12px;
  padding:9px 12px;
  color:var(--gj-ink)
}

.pt-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:12px;
  padding:13px 22px;
  font-size:14px;
  font-weight:850;
  border:1px solid transparent;
  transition:.18s
}

.pt-btn--primary {
  background:var(--gj-brand);
  color:#fff
}

.pt-btn--primary:hover {
  background:var(--gj-brand-dark);
  transform:translateY(-1px)
}

.pt-btn--kakao,.pt-btn--secondary {
  background:#fff;
  color:var(--gj-brand-dark);
  border-color:var(--gj-line)
}

.pt-btn--kakao:hover,.pt-btn--secondary:hover {
  border-color:var(--gj-brand);
  background:var(--gj-brand-soft)
}

.pt-hero {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fbfaf7 0%,var(--gj-bg) 100%);
  padding:86px 0 70px
}

.pt-hero:before {
  content:'';
  position:absolute;
  inset:auto -10% -45% auto;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(47,93,80,.08)
}

.pt-hero__inner {
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:58px;
  align-items:center
}

.pt-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  background:var(--gj-brand-soft);
  color:var(--gj-brand-dark);
  border:1px solid #d2e0da;
  border-radius:999px;
  padding:7px 13px;
  font-size:13px;
  font-weight:800
}

.pt-pill span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gj-accent)
}

.pt-hero h1 {
  font-size:clamp(38px,5vw,62px);
  line-height:1.14;
  letter-spacing:-2.8px;
  margin:0 0 20px;
  color:#23231f
}

.pt-hero h1 em {
  font-style:normal;
  color:var(--gj-brand)
}

.pt-hero__desc {
  font-size:17px;
  color:var(--gj-sub);
  max-width:650px;
  margin:0 0 30px
}

.pt-hero__actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}

.pt-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:34px;
  max-width:610px
}

.pt-stats div {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:16px;
  padding:16px
}

.pt-stats strong {
  display:block;
  font-size:25px;
  line-height:1;
  color:var(--gj-brand-dark);
  letter-spacing:-1px
}

.pt-stats sup {
  color:var(--gj-accent);
  font-size:14px
}

.pt-stats span {
  display:block;
  margin-top:7px;
  font-size:12px;
  color:var(--gj-sub)
}

.pt-hero__panel {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--gj-shadow)
}

.pt-panel-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--gj-line);
  padding-bottom:18px;
  margin-bottom:18px
}

.pt-panel-title strong {
  font-size:18px;
  color:var(--gj-brand-dark)
}

.pt-panel-title span {
  font-size:12px;
  color:var(--gj-sub);
  background:var(--gj-accent-soft);
  border-radius:999px;
  padding:5px 10px
}

.pt-panel-list {
  display:grid;
  gap:12px
}

.pt-panel-item {
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:16px;
  background:var(--gj-bg);
  border:1px solid #ebe5d8
}

.pt-panel-item b {
  width:34px;
  height:34px;
  border-radius:12px;
  background:var(--gj-brand-soft);
  display:grid;
  place-items:center;
  color:var(--gj-brand-dark);
  flex:0 0 auto
}

.pt-panel-item strong {
  display:block;
  font-size:15px;
  margin-bottom:1px
}

.pt-panel-item p {
  margin:0;
  color:var(--gj-sub);
  font-size:13px
}

.pt-tags {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px
}

.pt-tags span {
  font-size:12px;
  color:var(--gj-brand-dark);
  background:var(--gj-brand-soft);
  border:1px solid #d7e3de;
  border-radius:999px;
  padding:5px 10px
}

.pt-trust {
  background:#fff;
  border-top:1px solid var(--gj-line);
  border-bottom:1px solid var(--gj-line)
}

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

.pt-trust__grid div {
  padding:22px 18px;
  border-right:1px solid var(--gj-line)
}

.pt-trust__grid div:last-child {
  border-right:0
}

.pt-trust b {
  display:block;
  color:var(--gj-brand-dark);
  font-size:15px
}

.pt-trust span {
  display:block;
  color:var(--gj-sub);
  font-size:12px;
  margin-top:2px
}

.pt-section {
  padding:82px 0
}

.pt-section--sand {
  background:#f0eee8
}

.pt-section--dark {
  background:#243b34
}

.pt-section__head {
  margin-bottom:36px
}

.pt-section__head h2 {
  margin:0 0 10px;
  font-size:clamp(27px,3vw,40px);
  line-height:1.26;
  letter-spacing:-1.5px;
  color:#262520
}

.pt-section__head p:not(.pt-kicker) {
  margin:0;
  color:var(--gj-sub);
  max-width:720px
}

.pt-section__head--light h2 {
  color:#fff
}

.pt-section__head--light p:not(.pt-kicker) {
  color:rgba(255,255,255,.66)
}

.pt-kicker {
  margin:0 0 9px;
  text-transform:uppercase;
  letter-spacing:1.1px;
  color:var(--gj-accent);
  font-size:12px;
  font-weight:900
}

.pt-category-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}

.pt-category-card {
  display:block;
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:20px;
  padding:22px;
  transition:.18s
}

.pt-category-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--gj-shadow);
  border-color:#c5bcae
}

.pt-category-card__emoji {
  display:block;
  font-size:28px;
  margin-bottom:14px
}

.pt-category-card strong {
  display:block;
  font-size:17px;
  color:#262520
}

.pt-category-card p {
  min-height:44px;
  margin:5px 0 15px;
  color:var(--gj-sub);
  font-size:13px
}

.pt-category-card small {
  color:var(--gj-brand-dark);
  font-weight:850;
  background:var(--gj-brand-soft);
  padding:5px 10px;
  border-radius:999px
}

.pt-product-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}

.pt-product-card {
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  overflow:hidden
}

.pt-product-card__image {
  height:138px;
  background:#f2efe8;
  display:grid;
  place-items:center;
  position:relative
}

.pt-product-card__image span {
  font-size:45px
}

.pt-product-card__image b {
  position:absolute;
  left:12px;
  top:12px;
  background:#fff;
  color:var(--gj-brand-dark);
  border:1px solid var(--gj-line);
  border-radius:999px;
  font-size:10px;
  padding:4px 8px
}

.pt-product-card__body {
  padding:18px
}

.pt-product-card h3 {
  margin:0 0 5px;
  font-size:16px;
  color:#20201c
}

.pt-product-card p {
  font-size:13px;
  color:var(--gj-sub);
  margin:0 0 16px
}

.pt-product-card__body div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--gj-line);
  padding-top:12px
}

.pt-product-card small {
  font-size:12px;
  color:var(--gj-sub)
}

.pt-product-card a {
  font-size:12px;
  font-weight:900;
  color:var(--gj-brand-dark)
}

.pt-section--dark .pt-product-card {
  border-color:rgba(255,255,255,.12)
}

.pt-process-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px
}

.pt-process-step {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:18px;
  padding:22px 17px;
  text-align:center
}

.pt-process-step span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0 auto 12px;
  border-radius:50%;
  background:var(--gj-brand);
  color:#fff;
  font-weight:900
}

.pt-process-step h3 {
  margin:0 0 4px;
  font-size:15px
}

.pt-process-step p {
  margin:0;
  color:var(--gj-sub);
  font-size:12px
}

.pt-why-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:52px;
  align-items:center
}

.pt-why-grid h2 {
  margin:0 0 14px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.25;
  letter-spacing:-1.4px
}

.pt-why-grid p {
  color:var(--gj-sub)
}

.pt-check-list {
  list-style:none;
  margin:24px 0 0;
  padding:0;
  display:grid;
  gap:10px
}

.pt-check-list li {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:15px;
  padding:14px 16px;
  color:#3f3b35;
  font-weight:800
}

.pt-check-list li:before {
  content:'✓';
  display:inline-block;
  color:var(--gj-brand);
  font-weight:900;
  margin-right:8px
}

.pt-score-card {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:24px;
  padding:18px;
  box-shadow:var(--gj-shadow);
  display:grid;
  gap:10px
}

.pt-score-card div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-radius:15px;
  background:var(--gj-bg);
  border:1px solid #ebe5d8
}

.pt-score-card span {
  color:var(--gj-sub);
  font-size:13px;
  font-weight:800
}

.pt-score-card strong {
  font-size:18px;
  color:var(--gj-brand-dark);
  text-align:right
}

.pt-review-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.pt-review-grid blockquote {
  margin:0;
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:20px;
  padding:23px;
  color:#3d3933
}

.pt-review-grid blockquote:before {
  content:'★★★★★';
  display:block;
  color:var(--gj-accent);
  font-size:12px;
  letter-spacing:1px;
  margin-bottom:10px
}

.pt-review-grid cite {
  display:block;
  margin-top:15px;
  color:var(--gj-sub);
  font-style:normal;
  font-size:13px;
  font-weight:900
}

.pt-faq {
  padding:82px 0;
  background:#fff
}

.pt-faq-list {
  max-width:880px;
  margin:0 auto;
  display:grid;
  gap:12px
}

.pt-faq details {
  background:var(--gj-bg);
  border:1px solid var(--gj-line);
  border-radius:16px;
  padding:18px 21px
}

.pt-faq summary {
  cursor:pointer;
  font-weight:900;
  color:#292722
}

.pt-faq p {
  margin:8px 0 0;
  color:var(--gj-sub)
}

.pt-cta {
  padding:76px 0;
  background:#27332f;
  color:#fff;
  text-align:center
}

.pt-cta__inner {
  max-width:760px
}

.pt-cta h2 {
  margin:0 0 12px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.24;
  letter-spacing:-1.3px
}

.pt-cta p {
  margin:0 0 26px;
  color:rgba(255,255,255,.72)
}

.pt-cta__actions {
  justify-content:center
}

.pt-footer {
  background:#1f2422;
  color:rgba(255,255,255,.65);
  padding:50px 0 25px
}

.pt-footer__grid {
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:30px
}

.pt-footer__brand {
  display:block;
  color:#fff;
  font-size:22px;
  margin-bottom:9px
}

.pt-footer h2 {
  color:#fff;
  font-size:15px;
  margin:0 0 10px
}

.pt-footer p {
  font-size:13px;
  margin:4px 0
}

.pt-footer__bottom {
  border-top:1px solid rgba(255,255,255,.10);
  margin-top:32px;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  font-size:13px
}

.pt-page-hero {
  background:#27332f;
  color:#fff;
  padding:70px 0
}

.pt-page-hero h1 {
  font-size:clamp(32px,4vw,50px);
  line-height:1.18;
  margin:0 0 10px;
  letter-spacing:-1.6px
}

.pt-page-hero p:not(.pt-kicker) {
  color:rgba(255,255,255,.72)
}

.pt-content {
  background:#fff;
  border-radius:22px;
  padding:40px;
  box-shadow:var(--gj-shadow);
  border:1px solid var(--gj-line)
}

.pt-content h2,.pt-content h3 {
  letter-spacing:-.5px;
  color:var(--gj-brand-dark)
}

.pt-content a {
  color:var(--gj-brand);
  font-weight:900
}

.pt-post-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}

.pt-post-card {
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--gj-shadow);
  border:1px solid var(--gj-line)
}

.pt-post-card__thumb {
  height:190px;
  background:var(--gj-brand-soft);
  display:grid;
  place-items:center
}

.pt-post-card__thumb span {
  font-size:44px
}

.pt-post-card__thumb img {
  width:100%;
  height:100%;
  object-fit:cover
}

.pt-post-card__body {
  padding:20px
}

.pt-post-card h2 {
  font-size:18px;
  line-height:1.35;
  margin:0 0 8px;
  color:var(--gj-brand-dark)
}

.pt-post-card p {
  font-size:13px;
  color:var(--gj-sub);
  margin:0 0 14px
}

.pt-readmore {
  color:var(--gj-brand);
  font-weight:950;
  font-size:13px
}

.pt-search-form {
  display:flex;
  gap:8px;
  max-width:520px
}

.pt-search-form input {
  flex:1;
  border:1px solid var(--gj-line);
  border-radius:12px;
  padding:13px 16px
}

.pt-search-form button {
  border:0;
  border-radius:12px;
  background:var(--gj-brand);
  color:#fff;
  font-weight:950;
  padding:0 20px
}

.screen-reader-text {
  position:absolute;
  left:-9999px
}

.pt-featured {
  margin-bottom:28px;
  border-radius:22px;
  overflow:hidden
}

.pt-pagination {
  margin-top:30px
}

@media(max-width:980px) {
  .pt-header__inner {
    height:auto;
    min-height:68px;
    flex-wrap:wrap;
    padding:12px 0
  }
  .pt-menu-toggle {
    display:inline-flex;
    margin-left:auto
  }
  .pt-header__cta {
    display:none
  }
  .pt-nav {
    display:none;
    width:100%;
    margin-left:0
  }
  .pt-nav.is-open {
    display:block
  }
  .pt-nav__list {
    display:grid;
    gap:0
  }
  .pt-nav__list a {
    display:block;
    padding:12px 0;
    border-top:1px solid var(--gj-line)
  }
  .pt-nav__list .sub-menu {
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:none;
    border:0;
    border-radius:0;
    background:transparent;
    min-width:0;
    padding:0 0 0 14px
  }
  .pt-nav__list .sub-menu::before {
    display:none
  }
  .pt-nav__list .sub-menu a {
    padding:10px 0 10px 12px;
    border-radius:0;
    font-size:13px;
    color:var(--gj-muted)
  }
  .pt-nav__list .menu-item-has-children>a::after {
    content:""
  }
  .pt-hero__inner,.pt-why-grid,.pt-footer__grid {
    grid-template-columns:1fr
  }
  .pt-category-grid,.pt-product-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .pt-process-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .pt-review-grid,.pt-post-grid {
    grid-template-columns:1fr
  }
  .pt-trust__grid {
    grid-template-columns:repeat(2,1fr)
  }
  .pt-hero__panel {
    max-width:640px
  }
}

@media(max-width:640px) {
  .pt-container {
    width:min(100% - 28px,1120px)
  }
  .pt-hero {
    padding:56px 0
  }
  .pt-hero h1 {
    font-size:36px;
    letter-spacing:-1.8px
  }
  .pt-stats {
    grid-template-columns:1fr
  }
  .pt-category-grid,.pt-product-grid,.pt-process-grid {
    grid-template-columns:1fr
  }
  .pt-section,.pt-faq {
    padding:60px 0
  }
  .pt-trust__grid {
    grid-template-columns:1fr
  }
  .pt-trust__grid div {
    border-right:0;
    border-bottom:1px solid var(--gj-line)
  }
  .pt-content {
    padding:26px
  }
  .pt-footer__bottom {
    display:grid;
    gap:10px
  }
  .pt-btn {
    width:100%
  }
  .pt-hero__actions {
    display:grid
  }
}

/* 대표 판촉물 상품 랜딩페이지 */
.pt-product-page {
  background:var(--gj-bg)
}

.ptp-hero {
  padding:78px 0;
  background:linear-gradient(135deg,#f8f7f2 0%,#eef3ef 100%);
  border-bottom:1px solid var(--gj-line)
}

.ptp-hero__grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:54px;
  align-items:center
}

.ptp-hero h1 {
  margin:0 0 18px;
  font-size:clamp(34px,4.4vw,58px);
  line-height:1.15;
  letter-spacing:-2.4px;
  color:#22241f
}

.ptp-hero h1 em {
  font-style:normal;
  color:var(--gj-brand)
}

.ptp-hero p:not(.pt-kicker) {
  margin:0 0 28px;
  color:var(--gj-sub);
  font-size:17px;
  max-width:680px
}

.ptp-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}

.ptp-hero__card {
  position:relative;
  min-height:310px;
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:32px;
  padding:34px;
  box-shadow:var(--gj-shadow);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden
}

.ptp-hero__card:before {
  content:'';
  position:absolute;
  right:-60px;
  top:-60px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:var(--gj-brand-soft)
}

.ptp-emoji {
  position:absolute;
  right:38px;
  top:44px;
  font-size:86px;
  line-height:1;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.08))
}

.ptp-hero__card strong {
  font-size:26px;
  letter-spacing:-.9px;
  color:var(--gj-brand-dark);
  position:relative
}

.ptp-hero__card span {
  margin-top:6px;
  color:var(--gj-sub);
  font-size:14px;
  position:relative
}

.ptp-quick {
  background:#fff;
  border-bottom:1px solid var(--gj-line)
}

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

.ptp-quick__grid div {
  padding:21px 18px;
  border-right:1px solid var(--gj-line)
}

.ptp-quick__grid div:last-child {
  border-right:0
}

.ptp-quick b {
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--gj-brand-soft);
  color:var(--gj-brand-dark);
  font-size:12px;
  margin-bottom:9px
}

.ptp-quick strong {
  display:block;
  color:#2a2a25;
  font-size:15px
}

.ptp-quick span {
  display:block;
  color:var(--gj-sub);
  font-size:12px;
  margin-top:2px
}

.ptp-type-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}

.ptp-type-card {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:22px;
  padding:24px;
  transition:.18s
}

.ptp-type-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--gj-shadow)
}

.ptp-type-card span {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:16px;
  background:var(--gj-brand-soft);
  font-size:25px;
  margin-bottom:16px
}

.ptp-type-card h3 {
  margin:0 0 7px;
  font-size:18px;
  letter-spacing:-.5px;
  color:var(--gj-brand-dark)
}

.ptp-type-card p {
  margin:0 0 16px;
  color:var(--gj-sub);
  font-size:13px;
  min-height:66px
}

.ptp-type-card small {
  font-weight:900;
  color:var(--gj-accent);
  background:var(--gj-accent-soft);
  border-radius:999px;
  padding:5px 10px
}

.ptp-split {
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:52px;
  align-items:start
}

.ptp-split h2 {
  font-size:clamp(27px,3vw,40px);
  line-height:1.25;
  letter-spacing:-1.4px;
  margin:0 0 14px
}

.ptp-split p {
  color:var(--gj-sub);
  margin:0;
  font-size:16px
}

.ptp-use-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px
}

.ptp-use-list span {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:999px;
  padding:8px 13px;
  font-size:13px;
  font-weight:850;
  color:var(--gj-brand-dark)
}

.ptp-spec-card {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--gj-shadow)
}

.ptp-spec-card h3 {
  margin:0 0 14px;
  color:var(--gj-brand-dark);
  font-size:19px
}

.ptp-spec-card table {
  width:100%;
  border-collapse:collapse
}

.ptp-spec-card th,.ptp-spec-card td {
  padding:13px 0;
  border-bottom:1px solid var(--gj-line);
  text-align:left;
  vertical-align:top;
  font-size:14px
}

.ptp-spec-card tr:last-child th,.ptp-spec-card tr:last-child td {
  border-bottom:0
}

.ptp-spec-card th {
  width:120px;
  color:#2e302c;
  font-weight:900
}

.ptp-spec-card td {
  color:var(--gj-sub)
}

.ptp-faq-layout {
  display:grid;
  grid-template-columns:300px 1fr;
  gap:52px;
  align-items:start
}

.ptp-faq-layout h2 {
  font-size:clamp(26px,3vw,38px);
  line-height:1.28;
  margin:0 0 12px;
  letter-spacing:-1.2px
}

.ptp-faq-layout p {
  color:var(--gj-sub)
}

.ptp-related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.ptp-related-card {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:22px;
  padding:24px;
  transition:.18s;
  display:block
}

.ptp-related-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--gj-shadow)
}

.ptp-related-card span {
  font-size:32px;
  display:block;
  margin-bottom:14px
}

.ptp-related-card strong {
  display:block;
  color:var(--gj-brand-dark);
  font-size:18px
}

.ptp-related-card small {
  display:block;
  margin-top:5px;
  color:var(--gj-accent);
  font-weight:900
}

.pt-product-page--tech .ptp-hero {
  background:linear-gradient(135deg,#f6f8fb 0%,#e8eef5 100%)
}

.pt-product-page--tech .ptp-hero h1 em,.pt-product-page--tech .ptp-type-card h3,.pt-product-page--tech .ptp-hero__card strong {
  color:#2b4d73
}

.pt-product-page--tech .ptp-hero__card:before,.pt-product-page--tech .ptp-type-card span,.pt-product-page--tech .ptp-quick b {
  background:#e7eef7
}

.pt-product-page--tech .pt-btn--primary {
  background:#2b4d73
}

.pt-product-page--tech .pt-btn--primary:hover {
  background:#1f3b59
}

.pt-product-page--premium .ptp-hero {
  background:linear-gradient(135deg,#f8f5ef 0%,#efe7d9 100%)
}

.pt-product-page--premium .ptp-hero h1 em,.pt-product-page--premium .ptp-type-card h3,.pt-product-page--premium .ptp-hero__card strong {
  color:#8a5a24
}

.pt-product-page--premium .ptp-hero__card:before,.pt-product-page--premium .ptp-type-card span,.pt-product-page--premium .ptp-quick b {
  background:#f3eadb
}

.pt-product-page--editorial .ptp-type-grid {
  grid-template-columns:repeat(2,1fr)
}

.pt-product-page--editorial .ptp-type-card {
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:16px;
  align-items:start
}

.pt-product-page--editorial .ptp-type-card span {
  grid-row:1/4
}

.pt-product-page--compact .ptp-hero__grid {
  grid-template-columns:1fr .65fr
}

.pt-product-page--compact .ptp-type-grid {
  grid-template-columns:repeat(2,1fr)
}

.pt-product-page--soft .ptp-hero {
  background:linear-gradient(135deg,#f9f7f3 0%,#eee9e1 100%)
}

.pt-product-page--catalog .ptp-type-card:nth-child(1) {
  grid-column:span 2
}

.pt-product-page--catalog .ptp-type-card:nth-child(1) p {
  min-height:auto
}

.pt-product-page--clean .ptp-hero__card {
  border-radius:12px
}

.pt-product-page--clean .ptp-type-card {
  border-radius:12px
}

@media(max-width:980px) {
  .ptp-hero__grid,.ptp-split,.ptp-faq-layout {
    grid-template-columns:1fr
  }
  .ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .ptp-quick__grid {
    grid-template-columns:repeat(2,1fr)
  }
  .ptp-related-grid {
    grid-template-columns:1fr 1fr
  }
  .ptp-hero__card {
    min-height:230px
  }
  .ptp-emoji {
    font-size:64px
  }
}

@media(max-width:640px) {
  .ptp-hero {
    padding:58px 0
  }
  .ptp-hero h1 {
    font-size:36px;
    letter-spacing:-1.7px
  }
  .ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid,.ptp-quick__grid,.ptp-related-grid {
    grid-template-columns:1fr
  }
  .ptp-quick__grid div {
    border-right:0;
    border-bottom:1px solid var(--gj-line)
  }
  .ptp-quick__grid div:last-child {
    border-bottom:0
  }
  .ptp-type-card p {
    min-height:auto
  }
  .pt-product-page--catalog .ptp-type-card:nth-child(1) {
    grid-column:auto
  }
  .ptp-actions {
    display:grid
  }
  .ptp-actions .pt-btn {
    width:100%
  }
}

/* =========================================================
   Shared visual foundation
   - 공통 카드/섹션/상품 페이지 스타일 기반
========================================================= */
:root {
  --gj-bg:#e9fbfb;
  --gj-paper:#ffffff;
  --gj-ink:#061e28;
  --gj-sub:#607985;
  --gj-soft:#dff7f8;
  --gj-line:#bdebf0;
  --gj-brand:#0b9fa6;
  --gj-brand-dark:#087179;
  --gj-brand-soft:#e8fbfc;
  --gj-accent:#12b6bd;
  --gj-accent-soft:#d8f7f8;
  --gj-radius:24px;
  --gj-shadow:0 24px 60px rgba(8,113,121,.13)
}

body {
  background:radial-gradient(circle at 15% 0%,#f7ffff 0,#e9fbfb 32%,#f5fbfb 100%);
  color:var(--gj-ink)
}

.pt-header {
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(11,159,166,.18);
  box-shadow:0 8px 24px rgba(8,113,121,.04)
}

.pt-header__inner {
  height:82px
}

.pt-logo__mark {
  border-radius:18px;
  background:linear-gradient(135deg,#0b9fa6,#087179);
  box-shadow:0 10px 24px rgba(11,159,166,.22)
}

.pt-logo {
  color:#07333a
}

.pt-nav__list a {
  color:#173741
}

.pt-nav__list a:hover {
  color:var(--gj-brand)
}

.pt-header__cta {
  border:1.5px solid var(--gj-brand);
  color:#087179;
  background:#f8ffff;
  box-shadow:0 8px 20px rgba(11,159,166,.08)
}

.pt-btn {
  border-radius:18px
}

.pt-btn--primary {
  background:linear-gradient(135deg,#0b9fa6,#0fb7b7);
  box-shadow:0 16px 30px rgba(11,159,166,.22)
}

.pt-btn--primary:hover {
  background:linear-gradient(135deg,#087179,#0b9fa6)
}

.pt-btn--kakao,.pt-btn--secondary {
  background:rgba(255,255,255,.92);
  border-color:#bfe8ec;
  color:#087179
}

.pt-btn--kakao:hover,.pt-btn--secondary:hover {
  background:#e9fbfc;
  border-color:#69d8df
}

.pt-hero {
  background:linear-gradient(145deg,#edffff 0%,#f9ffff 45%,#dcf7f8 100%);
  padding:92px 0 78px
}

.pt-hero:before {
  width:620px;
  height:620px;
  background:rgba(18,182,189,.12);
  filter:blur(0)
}

.pt-hero:after {
  content:'';
  position:absolute;
  left:-130px;
  top:90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(159,235,238,.35)
}

.pt-hero__inner {
  grid-template-columns:.92fr 1.08fr
}

.pt-pill {
  background:#ecffff;
  border-color:#bdebf0;
  color:#087179
}

.pt-pill span {
  background:#0fb7b7
}

.pt-hero h1 {
  color:#061e28
}

.pt-hero h1 em {
  color:#0b9fa6
}

.pt-hero__desc {
  color:#5c7580
}

.pt-stats div {
  border-color:#c7eff3;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px)
}

.pt-stats strong {
  color:#07333a
}

.pt-stats span {
  color:#607985
}

.pt-hero__panel {
  border-color:#bdebf0;
  border-radius:34px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(12px);
  box-shadow:0 30px 80px rgba(8,113,121,.16)
}

.pt-panel-title {
  border-bottom-color:#d1f1f4
}

.pt-panel-title strong {
  color:#07333a
}

.pt-panel-title span {
  background:#dff7f8;
  color:#087179
}

.pt-panel-item {
  background:linear-gradient(135deg,#ffffff,#eefcfd);
  border-color:#cfeff2
}

.pt-panel-item b {
  background:#dff7f8;
  color:#087179;
  border-radius:14px
}

.pt-tags span {
  background:#e8fbfc;
  border-color:#bdebf0;
  color:#087179
}

.pt-trust {
  border-color:#c7eff3;
  background:rgba(255,255,255,.8)
}

.pt-trust__grid div {
  border-right-color:#d5f0f3
}

.pt-trust b {
  color:#07333a
}

.pt-section {
  padding:88px 0
}

.pt-section--sand {
  background:linear-gradient(180deg,#f8ffff,#e8fbfb)
}

.pt-section--dark {
  background:linear-gradient(145deg,#07333a,#0a5f66)
}

.pt-kicker {
  color:#0b9fa6
}

.pt-section__head h2 {
  color:#061e28
}

.pt-category-grid {
  grid-template-columns:repeat(4,1fr)
}

.pt-category-card {
  border-color:#c7eff3;
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 26px rgba(8,113,121,.06)
}

.pt-category-card:hover {
  border-color:#65d5dc;
  box-shadow:0 22px 50px rgba(8,113,121,.14)
}

.pt-category-card small {
  background:#dff7f8;
  color:#087179
}

.pt-product-card {
  border-color:rgba(255,255,255,.22);
  border-radius:26px
}

.pt-product-card__image {
  background:linear-gradient(135deg,#edffff,#d7f5f7)
}

.pt-product-card__image b {
  color:#087179;
  border-color:#bdebf0
}

.pt-process-step {
  border-color:#c7eff3;
  border-radius:24px;
  box-shadow:0 12px 28px rgba(8,113,121,.05)
}

.pt-process-step span {
  background:linear-gradient(135deg,#0b9fa6,#0fb7b7)
}

.pt-check-list li {
  border-color:#c7eff3;
  border-radius:20px;
  background:#fff
}

.pt-check-list li:before {
  color:#0b9fa6
}

.pt-score-card {
  background:linear-gradient(135deg,#ffffff,#ecffff);
  border-color:#bdebf0;
  border-radius:32px
}

.pt-review-grid blockquote {
  border-color:#c7eff3;
  border-radius:28px;
  background:#fff
}

.pt-faq {
  background:#e9fbfb
}

.pt-faq-list details {
  border-color:#bdebf0;
  border-radius:22px;
  background:#fff
}

.pt-faq-list summary {
  color:#07333a
}

.pt-cta {
  background:linear-gradient(135deg,#e8ffff,#c9f3f5);
  border-top:1px solid #bdebf0
}

.pt-cta h2 {
  color:#061e28
}

.pt-footer {
  background:#061e28
}

.pt-footer__brand,.pt-footer strong {
  color:#fff
}

.pt-footer a:hover {
  color:#8ff4f8
}

.ptp-hero {
  background:linear-gradient(145deg,#edffff 0%,#ffffff 50%,#d8f7f8 100%);
  border-bottom-color:#bdebf0
}

.ptp-hero__grid {
  grid-template-columns:1fr .82fr
}

.ptp-hero h1 {
  color:#061e28
}

.ptp-hero h1 em {
  color:#0b9fa6
}

.ptp-hero__card {
  border-color:#bdebf0;
  border-radius:38px;
  background:rgba(255,255,255,.88);
  box-shadow:0 28px 72px rgba(8,113,121,.15)
}

.ptp-hero__card:before {
  background:#dff7f8
}

.ptp-hero__card strong {
  color:#07333a
}

.ptp-quick {
  border-color:#c7eff3;
  background:#ffffff
}

.ptp-quick__grid div {
  border-right-color:#d5f0f3
}

.ptp-quick b {
  background:#dff7f8;
  color:#087179
}

.ptp-type-card {
  border-color:#c7eff3;
  border-radius:28px
}

.ptp-type-card:hover {
  box-shadow:0 24px 50px rgba(8,113,121,.13)
}

.ptp-type-card span {
  background:#dff7f8;
  border-radius:20px
}

.ptp-type-card h3 {
  color:#07333a
}

.ptp-type-card small {
  background:#e3fafb;
  color:#087179
}

.ptp-use-list span {
  border-color:#bdebf0;
  background:#fff;
  color:#087179
}

.ptp-spec-card {
  border-color:#bdebf0;
  border-radius:30px
}

.ptp-related-card {
  border-color:#c7eff3;
  border-radius:28px
}

.ptp-related-card strong {
  color:#07333a
}

.ptp-related-card small {
  color:#0b9fa6
}

.pt-product-page--tech .ptp-hero,.pt-product-page--premium .ptp-hero,.pt-product-page--soft .ptp-hero {
  background:linear-gradient(145deg,#edffff 0%,#ffffff 50%,#d8f7f8 100%)
}

.pt-product-page--tech .ptp-hero h1 em,.pt-product-page--tech .ptp-type-card h3,.pt-product-page--tech .ptp-hero__card strong,.pt-product-page--premium .ptp-hero h1 em,.pt-product-page--premium .ptp-type-card h3,.pt-product-page--premium .ptp-hero__card strong {
  color:#0b9fa6
}

.pt-product-page--tech .ptp-hero__card:before,.pt-product-page--tech .ptp-type-card span,.pt-product-page--tech .ptp-quick b,.pt-product-page--premium .ptp-hero__card:before,.pt-product-page--premium .ptp-type-card span,.pt-product-page--premium .ptp-quick b {
  background:#dff7f8
}

.pt-product-page--editorial .ptp-type-grid {
  grid-template-columns:repeat(4,1fr)
}

.pt-product-page--editorial .ptp-type-card {
  display:block
}

.pt-product-page--compact .ptp-type-grid {
  grid-template-columns:repeat(4,1fr)
}

@media(max-width:980px) {
  .pt-hero__inner,.ptp-hero__grid {
    grid-template-columns:1fr
  }
  .pt-hero__inner {
    gap:34px
  }
  .pt-category-grid,.pt-product-grid,.ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:640px) {
  .pt-header__inner {
    height:auto
  }
  .pt-hero {
    padding:64px 0
  }
  .pt-category-grid,.pt-product-grid,.ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid {
    grid-template-columns:1fr
  }
  .ptp-hero__card {
    border-radius:28px
  }
}

/* Dark section readability patch */
.pt-section.pt-section--dark .pt-section__head h2,
.pt-section.pt-section--dark .pt-section__head--light h2,
.pt-section--dark .pt-section__head h2,
.pt-section--dark h2 {
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.pt-section.pt-section--dark .pt-section__head p:not(.pt-kicker),
.pt-section.pt-section--dark .pt-section__head--light p:not(.pt-kicker),
.pt-section--dark .pt-section__head p:not(.pt-kicker) {
  color: rgba(255,255,255,.82) !important;
}

.pt-section.pt-section--dark .pt-kicker,
.pt-section--dark .pt-kicker {
  color: #54e6ea !important;
}

/* =========================================================
   Theme #5 Knowledge Platform Variant Base
   - 차분한 네이비/크림/코랄 포인트
   - 테마 #2/#3과 다른 고급 편집형 느낌
========================================================= */
:root {
  --gj-bg:#f6f1e8;
  --gj-paper:#fffdf8;
  --gj-ink:#111827;
  --gj-sub:#6b6257;
  --gj-soft:#efe6d8;
  --gj-line:#ded0bd;
  --gj-brand:#16213e;
  --gj-brand-dark:#0f172a;
  --gj-brand-soft:#eceff6;
  --gj-accent:#d96b4f;
  --gj-accent-soft:#f8e3dc;
  --gj-radius:18px;
  --gj-shadow:0 22px 55px rgba(21,26,42,.12)
}

body {
  background:linear-gradient(180deg,#f9f5ee 0%,#f6f1e8 52%,#fbf8f1 100%);
  color:var(--gj-ink)
}

.pt-header {
  background:rgba(255,253,248,.94);
  border-bottom:1px solid rgba(22,33,62,.12);
  box-shadow:0 10px 24px rgba(22,33,62,.05)
}

.pt-header__inner {
  height:78px
}

.pt-logo {
  color:var(--gj-brand-dark)
}

.pt-logo__mark {
  border-radius:10px;
  background:linear-gradient(135deg,#16213e,#31446d);
  box-shadow:0 12px 26px rgba(22,33,62,.18)
}

.pt-nav__list a {
  color:#2a3040
}

.pt-nav__list a:hover {
  color:var(--gj-accent)
}

.pt-header__cta {
  border:1px solid var(--gj-brand);
  background:#fffdf8;
  color:var(--gj-brand-dark);
  border-radius:10px
}

.pt-header__cta:hover {
  background:var(--gj-brand);
  color:#fff
}

.pt-btn {
  border-radius:10px
}

.pt-btn--primary {
  background:var(--gj-brand);
  color:#fff;
  box-shadow:0 15px 28px rgba(22,33,62,.18)
}

.pt-btn--primary:hover {
  background:var(--gj-brand-dark)
}

.pt-btn--secondary,.pt-btn--kakao {
  background:#fffdf8;
  color:var(--gj-brand-dark);
  border-color:var(--gj-line)
}

.pt-btn--secondary:hover,.pt-btn--kakao:hover {
  background:var(--gj-accent-soft);
  border-color:#e6ad9f;
  color:#7a2f23
}

.pt-hero {
  background:linear-gradient(135deg,#fffaf1 0%,#f4eadb 52%,#efe1cf 100%);
  padding:88px 0 74px
}

.pt-hero:before {
  right:-180px;
  bottom:-280px;
  width:660px;
  height:660px;
  background:rgba(217,107,79,.11)
}

.pt-hero:after {
  content:'';
  position:absolute;
  left:-180px;
  top:70px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(22,33,62,.07)
}

.pt-hero__inner {
  grid-template-columns:1.08fr .92fr;
  gap:64px
}

.pt-pill {
  background:#fffdf8;
  border-color:#e4d7c5;
  color:#6f382e
}

.pt-pill span {
  background:var(--gj-accent)
}

.pt-hero h1 {
  color:#111827;
  letter-spacing:-2.5px
}

.pt-hero h1 em {
  color:var(--gj-accent)
}

.pt-hero__desc {
  color:#5f554d
}

.pt-stats {
  grid-template-columns:repeat(3,1fr)
}

.pt-stats div {
  background:rgba(255,253,248,.88);
  border-color:#e3d5c2;
  border-radius:14px
}

.pt-stats strong {
  color:var(--gj-brand)
}

.pt-stats sup {
  color:var(--gj-accent)
}

.pt-hero__panel {
  background:rgba(255,253,248,.92);
  border-color:#dfcfba;
  border-radius:24px;
  box-shadow:0 28px 70px rgba(22,33,62,.14)
}

.pt-panel-title strong {
  color:var(--gj-brand)
}

.pt-panel-title span {
  background:var(--gj-accent-soft);
  color:#893927
}

.pt-panel-item {
  background:#fbf7ef;
  border-color:#e7d9c8;
  border-radius:14px
}

.pt-panel-item b {
  background:var(--gj-brand);
  color:#fff;
  border-radius:10px
}

.pt-tags span {
  background:#fff4ee;
  border-color:#ecc6ba;
  color:#8b3b2a
}

.pt-trust {
  background:#fffdf8;
  border-color:#e5d7c4
}

.pt-trust__grid div {
  border-right-color:#e5d7c4
}

.pt-trust b {
  color:var(--gj-brand)
}

.pt-section {
  padding:86px 0
}

.pt-section--sand {
  background:#efe6d8
}

.pt-section--dark {
  background:linear-gradient(135deg,#101827,#16213e)
}

.pt-kicker {
  color:var(--gj-accent)
}

.pt-section__head h2 {
  color:#111827
}

.pt-section__head p:not(.pt-kicker) {
  color:#6b6257
}

.pt-category-grid {
  grid-template-columns:repeat(4,1fr)
}

.pt-category-card {
  border-color:#e0d2be;
  border-radius:16px;
  background:#fffdf8;
  box-shadow:none
}

.pt-category-card:hover {
  border-color:#d96b4f;
  box-shadow:0 20px 42px rgba(22,33,62,.11)
}

.pt-category-card small {
  background:var(--gj-accent-soft);
  color:#873624
}

.pt-product-card {
  border-color:rgba(255,255,255,.12);
  border-radius:16px
}

.pt-product-card__image {
  background:linear-gradient(135deg,#f7efe3,#ead8c1)
}

.pt-product-card__image b {
  border-color:#e0d2be;
  color:#7a2f23
}

.pt-product-card h3 {
  color:#121826
}

.pt-product-card a {
  color:#9c432f
}

.pt-process-step {
  border-color:#e0d2be;
  border-radius:14px;
  background:#fffdf8
}

.pt-process-step span {
  background:var(--gj-accent)
}

.pt-check-list li {
  background:#fffdf8;
  border-color:#e0d2be;
  border-radius:13px
}

.pt-check-list li:before {
  color:var(--gj-accent)
}

.pt-score-card {
  background:linear-gradient(135deg,#fffdf8,#f4eadb);
  border-color:#dfcfba;
  border-radius:22px
}

.pt-score-card strong {
  color:var(--gj-brand)
}

.pt-review-grid blockquote {
  background:#fffdf8;
  border-color:#e0d2be;
  border-radius:16px
}

.pt-faq {
  background:#f6f1e8
}

.pt-faq-list details {
  background:#fffdf8;
  border-color:#dfcfba;
  border-radius:14px
}

.pt-faq-list summary {
  color:#111827
}

.pt-cta {
  background:linear-gradient(135deg,#16213e,#101827);
  border-top:0
}

.pt-cta h2 {
  color:#fff
}

.pt-cta p {
  color:rgba(255,255,255,.72)
}

.pt-footer {
  background:#0f172a
}

.pt-footer a:hover {
  color:#ffb09e
}

.pt-section.pt-section--dark .pt-section__head h2,.pt-section.pt-section--dark .pt-section__head--light h2,.pt-section--dark .pt-section__head h2,.pt-section--dark h2 {
  color:#fff !important;
  text-shadow:none
}

.pt-section.pt-section--dark .pt-section__head p:not(.pt-kicker),.pt-section.pt-section--dark .pt-section__head--light p:not(.pt-kicker),.pt-section--dark .pt-section__head p:not(.pt-kicker) {
  color:rgba(255,255,255,.76) !important
}

.pt-section.pt-section--dark .pt-kicker,.pt-section--dark .pt-kicker {
  color:#ffb09e !important
}

.ptp-hero {
  background:linear-gradient(135deg,#fffaf1,#efe1cf);
  border-bottom-color:#dfcfba
}

.ptp-hero__grid {
  grid-template-columns:.98fr .92fr
}

.ptp-hero h1 {
  color:#111827
}

.ptp-hero h1 em {
  color:var(--gj-accent)
}

.ptp-hero__card {
  background:#fffdf8;
  border-color:#dfcfba;
  border-radius:24px;
  box-shadow:0 24px 60px rgba(22,33,62,.13)
}

.ptp-hero__card:before {
  background:#f8e3dc
}

.ptp-hero__card strong {
  color:var(--gj-brand)
}

.ptp-quick {
  background:#fffdf8;
  border-color:#dfcfba
}

.ptp-quick__grid div {
  border-right-color:#dfcfba
}

.ptp-quick b {
  background:var(--gj-accent-soft);
  color:#7a2f23
}

.ptp-type-card {
  border-color:#e0d2be;
  border-radius:16px;
  background:#fffdf8
}

.ptp-type-card:hover {
  box-shadow:0 20px 42px rgba(22,33,62,.1)
}

.ptp-type-card span {
  background:#f8e3dc;
  border-radius:14px
}

.ptp-type-card h3 {
  color:var(--gj-brand)
}

.ptp-type-card small {
  background:#f8e3dc;
  color:#7a2f23
}

.ptp-use-list span {
  border-color:#dfcfba;
  background:#fffdf8;
  color:#7a2f23
}

.ptp-spec-card {
  border-color:#dfcfba;
  border-radius:20px
}

.ptp-related-card {
  border-color:#e0d2be;
  border-radius:16px;
  background:#fffdf8
}

.ptp-related-card strong {
  color:var(--gj-brand)
}

.ptp-related-card small {
  color:#9c432f
}

.pt-product-page--tech .ptp-hero,.pt-product-page--premium .ptp-hero,.pt-product-page--soft .ptp-hero {
  background:linear-gradient(135deg,#fffaf1,#efe1cf)
}

.pt-product-page--tech .ptp-hero h1 em,.pt-product-page--tech .ptp-type-card h3,.pt-product-page--tech .ptp-hero__card strong,.pt-product-page--premium .ptp-hero h1 em,.pt-product-page--premium .ptp-type-card h3,.pt-product-page--premium .ptp-hero__card strong {
  color:var(--gj-accent)
}

.pt-product-page--tech .ptp-hero__card:before,.pt-product-page--tech .ptp-type-card span,.pt-product-page--tech .ptp-quick b,.pt-product-page--premium .ptp-hero__card:before,.pt-product-page--premium .ptp-type-card span,.pt-product-page--premium .ptp-quick b {
  background:#f8e3dc
}

@media(max-width:980px) {
  .pt-hero__inner,.ptp-hero__grid {
    grid-template-columns:1fr
  }
  .pt-category-grid,.pt-product-grid,.ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:640px) {
  .pt-category-grid,.pt-product-grid,.ptp-type-grid,.pt-product-page--editorial .ptp-type-grid,.pt-product-page--compact .ptp-type-grid {
    grid-template-columns:1fr
  }
  .pt-hero h1 {
    font-size:38px
  }
}

/* =========================================================
   Theme #5 Knowledge Platform Variant
   - 딥그린 / 민트 / 라임 포인트 기반
   - 테마 #2/#3/#4와 다른 학습 플랫폼형 레이아웃
========================================================= */
:root {
  --gj-bg:#eaf8f5;
  --gj-paper:#ffffff;
  --gj-ink:#062d2b;
  --gj-sub:#52706d;
  --gj-soft:#dff3ef;
  --gj-line:#bfe3dd;
  --gj-brand:#064643;
  --gj-brand-dark:#033432;
  --gj-brand-soft:#e8f8f4;
  --gj-accent:#0c8b7d;
  --gj-accent-soft:#d9f5ee;
  --gj-lime:#e6ff3f;
  --gj-radius:22px;
  --gj-shadow:0 24px 60px rgba(6,70,67,.13);
}

body {
  background:linear-gradient(180deg,#f6fffd 0%,#eaf8f5 42%,#ffffff 100%);
  color:var(--gj-ink)
}

.pt-header {
  background:rgba(244,255,252,.9);
  border-bottom:1px solid rgba(6,70,67,.14);
  box-shadow:0 10px 30px rgba(6,70,67,.05)
}

.pt-header__inner {
  height:84px
}

.pt-logo {
  color:var(--gj-brand)
}

.pt-logo__mark {
  background:var(--gj-brand);
  border-radius:18px;
  box-shadow:0 12px 26px rgba(6,70,67,.22)
}

.pt-nav__list {
  gap:16px
}

.pt-nav__list a {
  color:#164b47
}

.pt-nav__list a:hover {
  color:var(--gj-accent)
}

.pt-header__cta {
  border-color:var(--gj-brand);
  color:var(--gj-brand);
  background:#fff;
  border-radius:18px
}

.pt-header__cta:hover {
  background:var(--gj-brand);
  color:#fff
}

.pt-btn {
  border-radius:16px;
  padding:14px 22px
}

.pt-btn--primary {
  background:var(--gj-accent);
  color:#fff;
  box-shadow:0 14px 30px rgba(12,139,125,.18)
}

.pt-btn--primary:hover {
  background:var(--gj-brand);
  transform:translateY(-2px)
}

.pt-btn--secondary,.pt-btn--kakao {
  background:#fff;
  color:var(--gj-brand);
  border-color:var(--gj-line)
}

.pt-btn--secondary:hover,.pt-btn--kakao:hover {
  background:var(--gj-brand-soft);
  border-color:var(--gj-accent)
}

.pt-hero--academy {
  background:radial-gradient(circle at 80% 20%,rgba(230,255,63,.42),transparent 24%),linear-gradient(135deg,#e8f8f4 0%,#f9fffd 55%,#dff1ed 100%);
  padding:82px 0 76px
}

.pt-hero--academy:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:52%;
  height:100%;
  background:#064643
}

.pt-hero--academy .pt-hero__inner {
  grid-template-columns:1.02fr .98fr;
  gap:56px
}

.pt-hero--academy .pt-hero__content {
  position:relative;
  background:var(--gj-brand);
  color:#fff;
  border-radius:30px;
  padding:54px;
  box-shadow:0 24px 70px rgba(6,70,67,.22);
  overflow:hidden
}

.pt-hero--academy .pt-hero__content:after {
  content:'';
  position:absolute;
  right:-54px;
  bottom:-70px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:var(--gj-lime);
  opacity:.92
}

.pt-hero--academy .pt-pill {
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.16);
  color:#baf3ec
}

.pt-hero--academy .pt-pill span {
  background:var(--gj-lime)
}

.pt-hero--academy h1 {
  color:#fff;
  font-size:clamp(36px,4.8vw,64px)
}

.pt-hero--academy h1 em {
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--gj-lime);
  text-underline-offset:8px;
  text-decoration-thickness:5px
}

.pt-hero--academy .pt-hero__desc {
  color:rgba(255,255,255,.72);
  position:relative;
  z-index:1
}

.pt-hero--academy .pt-hero__actions,.pt-search-card {
  position:relative;
  z-index:2
}

.pt-search-card {
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border-radius:16px;
  padding:13px 14px;
  margin:0 0 18px;
  max-width:620px;
  color:var(--gj-brand)
}

.pt-search-card span {
  font-size:12px;
  font-weight:900;
  background:var(--gj-accent-soft);
  border-radius:999px;
  padding:6px 10px
}

.pt-search-card strong {
  font-size:13px;
  flex:1;
  color:#174b47
}

.pt-search-card a {
  font-size:12px;
  font-weight:900;
  color:var(--gj-accent)
}

.pt-learning-panel {
  position:relative;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,70,67,.14);
  border-radius:30px;
  padding:28px;
  box-shadow:var(--gj-shadow);
  backdrop-filter:blur(14px)
}

.pt-mini-nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px
}

.pt-mini-nav span {
  font-size:13px;
  color:var(--gj-sub);
  font-weight:800
}

.pt-mini-nav b {
  font-size:13px;
  color:var(--gj-brand);
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:999px;
  padding:8px 12px
}

.pt-learning-card,.pt-learning-grid>div {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:22px;
  padding:22px;
  box-shadow:0 16px 40px rgba(6,70,67,.07)
}

.pt-learning-card small,.pt-learning-grid small {
  display:block;
  color:var(--gj-accent);
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  font-size:11px;
  margin-bottom:8px
}

.pt-learning-card strong,.pt-learning-grid strong {
  display:block;
  color:var(--gj-brand);
  font-size:23px;
  line-height:1.2
}

.pt-learning-card p,.pt-learning-grid p {
  margin:7px 0 0;
  color:var(--gj-sub);
  font-size:13px
}

.pt-learning-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:14px 0
}

.pt-learning-card--accent {
  background:var(--gj-brand);
  border-color:var(--gj-brand);
  color:#fff
}

.pt-learning-card--accent small {
  color:var(--gj-lime)
}

.pt-learning-card--accent strong {
  color:#fff
}

.pt-learning-card--accent p {
  color:rgba(255,255,255,.74)
}

.pt-brand-strip {
  background:#fff;
  border-top:1px solid var(--gj-line);
  border-bottom:1px solid var(--gj-line);
  padding:26px 0
}

.pt-brand-strip .pt-container {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  flex-wrap:wrap;
  text-align:center
}

.pt-brand-strip p {
  margin:0;
  color:var(--gj-brand);
  font-weight:900
}

.pt-brand-strip div {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  justify-content:center
}

.pt-brand-strip span {
  font-weight:900;
  color:#2a625d;
  font-size:14px
}

.pt-section {
  padding:86px 0
}

.pt-section--sand {
  background:#f3fbf8
}

.pt-section--dark {
  background:var(--gj-brand)
}

.pt-section--dark:has(.pt-product-layout) {
  background:linear-gradient(135deg,#064643 0%,#0a5752 100%)
}

.pt-kicker {
  color:var(--gj-accent);
  letter-spacing:1.6px
}

.pt-section__head h2 {
  color:var(--gj-ink);
  letter-spacing:-1.8px
}

.pt-section__head p:not(.pt-kicker) {
  color:var(--gj-sub)
}

.pt-section__head--light h2,.pt-section--dark .pt-section__head h2 {
  color:#fff!important
}

.pt-section__head--light p:not(.pt-kicker),.pt-section--dark .pt-section__head p:not(.pt-kicker) {
  color:rgba(255,255,255,.72)!important
}

.pt-section__head--light .pt-kicker,.pt-section--dark .pt-kicker {
  color:#a4fff5!important
}

.pt-category-grid--mosaic {
  grid-template-columns:repeat(4,1fr);
  align-items:stretch
}

.pt-category-card {
  border-radius:24px;
  border-color:rgba(6,70,67,.12);
  box-shadow:0 8px 24px rgba(6,70,67,.04)
}

.pt-category-card:hover {
  border-color:var(--gj-accent);
  box-shadow:var(--gj-shadow)
}

.pt-category-card--feature {
  grid-column:span 2;
  background:var(--gj-brand);
  color:#fff
}

.pt-category-card--feature strong {
  color:#fff
}

.pt-category-card--feature p {
  color:rgba(255,255,255,.7)
}

.pt-category-card--feature small {
  background:var(--gj-lime);
  color:var(--gj-brand)
}

.pt-category-card__emoji {
  font-size:32px
}

.pt-category-card strong {
  color:var(--gj-brand)
}

.pt-category-card small {
  background:var(--gj-brand-soft);
  color:var(--gj-accent)
}

.pt-product-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:42px;
  align-items:start
}

.pt-product-grid--course {
  grid-template-columns:repeat(2,1fr)
}

.pt-product-card {
  border-radius:24px;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 12px 34px rgba(0,0,0,.08)
}

.pt-product-card__image {
  height:126px;
  background:linear-gradient(135deg,#e9fffb,#fff)
}

.pt-product-card__image b {
  color:var(--gj-brand);
  border-color:var(--gj-line)
}

.pt-product-card h3 {
  color:var(--gj-brand)
}

.pt-product-card a {
  color:var(--gj-accent)
}

.pt-process-grid--timeline {
  position:relative
}

.pt-process-grid--timeline .pt-process-step {
  border-radius:24px;
  box-shadow:0 10px 28px rgba(6,70,67,.05)
}

.pt-process-step span {
  background:var(--gj-brand)
}

.pt-why-grid--dashboard {
  grid-template-columns:.95fr 1.05fr
}

.pt-check-list li {
  border-radius:18px;
  border-color:var(--gj-line);
  box-shadow:0 10px 24px rgba(6,70,67,.05)
}

.pt-score-card--stack {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0
}

.pt-score-card--stack div {
  background:#fff;
  border:1px solid var(--gj-line);
  border-radius:24px;
  padding:22px;
  box-shadow:var(--gj-shadow)
}

.pt-review-grid blockquote {
  border-color:var(--gj-line);
  border-radius:24px
}

.pt-faq {
  background:#fff
}

.pt-faq-list details {
  border-radius:20px;
  border-color:var(--gj-line)
}

.pt-cta {
  background:radial-gradient(circle at 25% 0%,rgba(230,255,63,.32),transparent 26%),var(--gj-brand);
  color:#fff
}

.pt-cta h2 {
  color:#fff
}

.pt-cta p {
  color:rgba(255,255,255,.72)
}

/* 상품 상세 페이지도 #5 색상으로 변형 */
.ptp-hero {
  background:radial-gradient(circle at 80% 12%,rgba(230,255,63,.36),transparent 22%),linear-gradient(135deg,#e7f8f4 0%,#ffffff 70%)
}

.ptp-hero h1 em,.ptp-hero__card strong,.ptp-type-card h3,.ptp-related-card strong {
  color:var(--gj-brand)
}

.ptp-hero__card,.ptp-type-card,.ptp-spec-card,.ptp-related-card {
  border-radius:26px;
  border-color:var(--gj-line);
  box-shadow:0 16px 42px rgba(6,70,67,.08)
}

.ptp-hero__card:before,.ptp-type-card span,.ptp-quick b {
  background:var(--gj-accent-soft)
}

.ptp-type-card small {
  background:var(--gj-lime);
  color:var(--gj-brand)
}

.ptp-use-list span {
  color:var(--gj-brand);
  background:#fff;
  border-color:var(--gj-line)
}

@media(max-width:980px) {
  .pt-hero--academy:before {
    width:100%;
    height:48%
  }
  .pt-hero--academy .pt-hero__inner,.pt-product-layout,.pt-why-grid--dashboard {
    grid-template-columns:1fr
  }
  .pt-hero--academy .pt-hero__content {
    padding:36px
  }
  .pt-category-grid--mosaic {
    grid-template-columns:repeat(2,1fr)
  }
  .pt-product-grid--course {
    grid-template-columns:repeat(2,1fr)
  }
  .pt-score-card--stack {
    grid-template-columns:1fr 1fr
  }
  .pt-learning-panel {
    max-width:720px
  }
}

@media(max-width:640px) {
  .pt-hero--academy .pt-hero__content {
    padding:28px;
    border-radius:24px
  }
  .pt-search-card {
    display:grid
  }
  .pt-learning-grid,.pt-category-grid--mosaic,.pt-product-grid--course,.pt-score-card--stack {
    grid-template-columns:1fr
  }
  .pt-category-card--feature {
    grid-column:auto
  }
  .pt-brand-strip .pt-container {
    gap:14px
  }
  .pt-brand-strip div {
    gap:10px
  }
  .pt-learning-card strong,.pt-learning-grid strong {
    font-size:20px
  }
}

/* v5.0.2: dark product section readability fix */
.pt-section--dark .pt-product-card h3,
.pt-section--dark .pt-product-card h3 a,
.pt-section--dark .pt-product-card strong {
  color: #ffffff !important;
}

.pt-section--dark .pt-product-card p,
.pt-section--dark .pt-product-card small {
  color: rgba(255,255,255,.76) !important;
}

.pt-section--dark .pt-product-card a:not(.pt-btn) {
  color: #dffff5 !important;
}

/* v5.0.3: featured category card readability fix */
.pt-category-card.pt-category-card--feature strong,
.pt-category-card.pt-category-card--feature .pt-category-card__title,
.pt-category-card.pt-category-card--feature h3,
.pt-category-card.pt-category-card--feature a {
  color: #ffffff !important;
}

.pt-category-card.pt-category-card--feature p,
.pt-category-card.pt-category-card--feature .pt-category-card__desc {
  color: rgba(255,255,255,.78) !important;
}

.pt-category-card.pt-category-card--feature small,
.pt-category-card.pt-category-card--feature .pt-category-card__moq {
  background: #e6ff3f !important;
  color: #063f3b !important;
}

.pt-category-card.pt-category-card--feature .pt-category-card__emoji,
.pt-category-card.pt-category-card--feature span:not(.screen-reader-text) {
  color: #ffffff !important;
}


/* v5.0.4: product card body text should stay readable on white cards */
.pt-section--dark .pt-product-card .pt-product-card__body,
.pt-section--dark .pt-product-card__body {
  background: #ffffff !important;
}

.pt-section--dark .pt-product-card .pt-product-card__body h3,
.pt-section--dark .pt-product-card .pt-product-card__body h3 a,
.pt-section--dark .pt-product-card .pt-product-card__body strong {
  color: #063f3b !important;
}

.pt-section--dark .pt-product-card .pt-product-card__body p,
.pt-section--dark .pt-product-card .pt-product-card__body small {
  color: #5f7370 !important;
}

.pt-section--dark .pt-product-card .pt-product-card__body a:not(.pt-btn) {
  color: #008b84 !important;
}
