: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
  }
}

/* 2026-05-12: 테마 #3 어두운 상품 섹션 제목/설명 가독성 최종 보정 */
.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;
}
