:root{
  
  
  --bg:#241A38;              
  --bg-grad-top:#241A38; --bg-grad-bot:#1C1430;
  --bg-section:#2A2043;      
  --bg-card:#2E2247;         
  --bg-coral-wash:#332748;   

  
  --coral:#E9B84A;           
  --coral-deep:#C99626;      
  --coral-light:#F2CB63;     
  --coral-wash:#3A2E1C;      
  --coral-soft:rgba(233,184,74,.35); 
  --gold:#E9B84A; --gold-deep:#C99626; --gold-light:#F2CB63;
  --plum:#A874D6;            
  --plum-deep:#8E5BB5;       
  --rose:#D98AB0;            
  --header-coral:#D8482F;    

  
  --ink:#F3EEFA;             
  --ink2:#DDD5EC;            
  --sub:#C4B9D8;             
  --faint:#A79BC0;           

  
  --line:rgba(255,255,255,.12);
  --line2:rgba(255,255,255,.08);

  
  --fn-safe:#5FD08A;         
  --fn-caution:#F0C866;
  --fn-danger:#F07A6A;       

  
  --oh-mok:#5FD08A;    
  --oh-hwa:#F07A6A;    
  --oh-to:#E9B84A;     
  --oh-geum:#D6DCE6;   
  --oh-su:#6FA0F0;     

  
  --oh-mok-wash:rgba(95,208,138,.14);
  --oh-hwa-wash:rgba(240,122,106,.14);
  --oh-to-wash:rgba(233,184,74,.16);
  --oh-geum-wash:rgba(214,220,230,.12);
  --oh-su-wash:rgba(111,160,240,.14);

  
  --font-sans:'Pretendard','Apple SD Gothic Neo','Noto Sans KR',-apple-system,system-ui,sans-serif;
  --font-head:'BM JUA OV','BM JUA','Jua','Apple SD Gothic Neo',Pretendard,sans-serif; 
  --font-serif:'Pretendard','Apple SD Gothic Neo','Noto Sans KR',sans-serif; 
  --fs-hero:clamp(24px,6.5vw,32px);
  --fs-h2:clamp(20px,5vw,26px);
  --fs-h3:clamp(16px,4vw,19px);
  --fs-body:15px;
  --fs-sm:14px;
  --fs-cap:13px;
  --lh-body:1.75;
  --lh-head:1.35;

  
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px;

  
  --r-sm:10px; --r-md:16px; --r-lg:20px; --r-pill:999px;

  
  --sh:none;
  --sh-lg:none;

  
  
  --block-mint:rgba(95,208,138,.10);
  --block-peach:radial-gradient(120% 90% at 50% 0%,#3A2C5A 0%,#241A38 70%);
  --block-cream:rgba(233,184,74,.10);
  --block-sky:rgba(111,160,240,.10);

  
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.5s;
}


*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}

html{background:var(--bg-grad-bot,#1C1430);}
body.saju-premium{
  font-family:var(--font-sans);
  color:var(--ink);
  background-color:var(--bg-grad-bot,#1C1430);
  background-image:linear-gradient(180deg,var(--bg-grad-top) 0%,var(--bg-grad-bot) 55%,var(--bg-grad-bot) 100%);
  background-repeat:no-repeat;
  min-height:100vh;
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}


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


.px-wrap{max-width:560px;margin:0 auto;padding:0 var(--s5);}


.px-hero{font-weight:700;font-size:var(--fs-hero);line-height:1.3;letter-spacing:-.02em;color:var(--ink);}
.px-hero .coral{color:var(--coral);}


.px-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:var(--s5) var(--s4);
  margin-bottom:var(--s4);
}

.px-card--coral{
  background:radial-gradient(130% 100% at 50% 0%,#3A2C5A 0%,#2A1F44 72%);
  border:1px solid rgba(233,184,74,.45);
  box-shadow:0 0 0 1px rgba(233,184,74,.12),0 12px 40px rgba(0,0,0,.35);
  color:#FFFFFF;
}

.px-card--coral-wash{
  background:var(--bg-coral-wash);
  border:1px solid rgba(233,184,74,.28);
}

.px-card--cream{
  background:var(--bg-coral-wash);
  border:1px solid rgba(233,184,74,.28);
  color:var(--ink);
}

.px-card--gold-corner::before,.px-card--gold-corner::after{display:none;}


.px-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-cap);font-weight:600;
  padding:5px 12px;border-radius:var(--r-pill);
  color:var(--coral);
  background:var(--coral-wash);
  border:1px solid var(--coral-soft);
}
.px-badge .dot{width:5px;height:5px;border-radius:50%;background:var(--coral);}
.px-badge--trust{color:var(--faint);background:var(--bg-section);border-color:var(--line);}

.px-eyebrow{display:none!important;}


.px-section-head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4);}

.px-section-num{display:none!important;}
.px-section-title{font-weight:700;font-size:var(--fs-h3);color:var(--ink);letter-spacing:-.01em;}


.px-divider{display:flex;align-items:center;gap:var(--s3);margin:var(--s6) 0;}
.px-divider::before,.px-divider::after{content:'';flex:1;height:1px;background:var(--line);}
.px-divider .glyph{color:var(--faint);font-size:13px;}
.px-rule{height:1px;border:0;background:var(--line);margin:var(--s5) 0;}



.px-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:16px 24px;
  font-family:var(--font-sans);font-size:16px;font-weight:800;
  border:none;border-radius:var(--r-md);cursor:pointer;
  color:#241A38;
  background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold-deep) 100%);
  box-shadow:0 8px 24px rgba(233,184,74,.30);
  transition:filter .15s var(--ease), transform .12s var(--ease);
}
.px-btn:hover{filter:brightness(1.06);transform:translateY(-1px);}
.px-btn:active{transform:translateY(0);}
.px-btn--ghost{
  color:var(--gold);background:transparent;
  border:1.5px solid rgba(233,184,74,.55);
  box-shadow:none;
}
.px-btn--ghost:hover{background:rgba(233,184,74,.10);filter:none;}



.px-topbar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid #EFE6E0;
}

.px-topbar .px-brand .name{color:#241812;}
.px-topbar .px-brand .name b{color:var(--header-coral);}
.px-topbar .gnav-links a{color:#555D6D;}
.px-topbar .gnav-links a:hover{color:#241812;background:#F6EFEA;}
.px-topbar .gnav-links a[aria-current="page"],
.px-topbar .gnav-links a.active-link{color:var(--header-coral);background:#FFF0EC;}
.px-topbar .px-page-badge{color:var(--header-coral);border-color:#F6D9D0;background:#FFF0EC;}
.px-topbar-inner{
  max-width:560px;margin:0 auto;
  padding:11px var(--s4);
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;
}
.px-brand{display:flex;align-items:center;gap:9px;text-decoration:none;}

.px-brand .name{font-family:var(--font-head);font-weight:400;font-size:22px;line-height:1;color:var(--ink);letter-spacing:.01em;}
.px-brand .name b{color:var(--coral);font-weight:400;}

.px-brand .wordmark{height:26px;width:auto;display:block;}
.px-brand .mascot-mini{width:30px;height:30px;flex-shrink:0;}
.px-page-badge{
  font-size:12px;font-weight:600;color:var(--coral);
  border:1.5px solid var(--coral-soft);
  border-radius:var(--r-pill);padding:4px 11px;
  background:var(--coral-wash);
}


.gnav-links a{
  font-size:13.5px;font-weight:600;color:var(--sub);
  padding:7px 10px;border-radius:8px;
  text-decoration:none;transition:color .14s,background .14s;
}
.gnav-links a:hover{color:var(--ink);background:var(--bg-section);}
.gnav-links a[aria-current="page"],
.gnav-links a.active-link{
  color:var(--coral);background:var(--coral-wash);
}


.px-footer{
  margin-top:var(--s8);
  border-top:1px solid var(--line);
  background:var(--bg-section);
}
.px-footer-inner{
  max-width:560px;margin:0 auto;
  padding:var(--s6) var(--s5);
  text-align:center;
}
.px-footer-brand{font-weight:800;font-size:16px;color:var(--ink);margin-bottom:var(--s4);}
.px-footer-brand b{color:var(--coral);}
.px-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3) var(--s5);margin-bottom:var(--s4);}
.px-footer-nav a{color:var(--sub);font-size:var(--fs-sm);}
.px-footer-nav a:hover{color:var(--coral);}
.px-footer-note{color:var(--faint);font-size:12px;line-height:1.7;}


.px-pillars{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  
  min-width:0;
}
.px-pillar{
  text-align:center;padding:10px 2px;
  background:var(--bg-section);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  min-width:0;
}
.px-pillar .p-label{font-size:9px;color:var(--faint);letter-spacing:.03em;margin-bottom:5px;}
.px-pillar .p-gan{font-weight:700;font-size:18px;line-height:1.1;color:var(--coral);}
.px-pillar .p-ji{font-weight:700;font-size:18px;line-height:1.1;color:var(--ink);margin-top:2px;}
.px-pillar .p-oh{font-size:9.5px;color:var(--sub);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


.px-ohang-illust{width:100px;height:100px;display:block;}
.px-ohang-strip{display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap;}
.px-ohang-chip{text-align:center;}
.px-ohang-chip svg{width:56px;height:56px;}
.px-ohang-chip .lbl{display:block;font-size:11px;color:var(--sub);margin-top:4px;}


.px-reveal{opacity:0;transform:translateY(12px);}
.px-reveal.in{opacity:1;transform:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);}

@media (prefers-reduced-motion:reduce){
  .px-reveal,.px-reveal.in{opacity:1;transform:none;transition:none;}
}


.px-hero-block{
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);
  background:var(--block-peach);
  padding:var(--s6) var(--s5) 0;
  margin-bottom:var(--s5);
  text-align:center;
}
.px-hero-block .hb-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:700;color:var(--coral);
  margin-bottom:var(--s3);
}
.px-hero-block .hb-eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--coral);}
.px-hero-block .hb-title{
  font-family:var(--font-sans);
  font-weight:800;font-size:clamp(26px,6.8vw,34px);line-height:1.3;
  letter-spacing:-.02em;color:var(--ink);word-break:keep-all;
}
.px-hero-block .hb-title .coral{color:var(--coral);}
.px-hero-block .hb-sub{
  color:var(--sub);font-size:var(--fs-sm);line-height:1.7;
  margin-top:var(--s3);word-break:keep-all;
}

.px-hero-illust{
  display:block;width:112px;height:112px;margin:var(--s4) auto 0;
}

.px-hero-block .hb-deco{position:absolute;pointer-events:none;opacity:.5;}
.px-hero-block .hb-deco.c1{top:14px;left:16px;}
.px-hero-block .hb-deco.c2{top:26px;right:20px;}


.px-hero-block--mint{background:var(--block-mint);}
.px-hero-block--mint .hb-eyebrow,.px-hero-block--mint .hb-eyebrow .dot,
.px-hero-block--mint .hb-title .coral{color:var(--oh-mok);}
.px-hero-block--mint .hb-eyebrow .dot{background:var(--oh-mok);}
.px-hero-block--sky{background:var(--block-sky);}


@media (min-width:600px){
  .px-wrap,.px-topbar-inner,.px-footer-inner{max-width:600px;}
  .px-card{padding:var(--s6) var(--s6);}
}
