:root{--bg:#0a0806;--ink:#f7f0df;--muted:#cdbb96;--gold:#cda45e;--pink:#8a6a2f;--cyan:#f0dba0;--orange:#e0c078;--panel:rgba(255,255,255,.05);--line:rgba(205,164,94,.18);--wrap:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;background:linear-gradient(180deg,#0d0b07 0%,#141007 50%,#050403 100%);color:var(--ink);font-family:"Noto Sans KR",Arial,sans-serif;line-height:1.6;letter-spacing:0;word-break:keep-all}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 12% 8%,rgba(205,164,94,.14),transparent 40%),radial-gradient(circle at 88% 92%,rgba(138,106,47,.12),transparent 42%)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}

.page-shell{width:min(var(--wrap),calc(100% - 34px));margin:0 auto;padding-bottom:96px}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:12px}
.brand-icon{width:46px;height:46px;border-radius:50%;filter:drop-shadow(0 6px 18px rgba(205,164,94,.4))}
.brand-text{display:flex;flex-direction:column;line-height:1.15;font-family:"Cormorant Garamond","Noto Serif KR",serif}
.brand-text strong{font-size:27px;font-weight:700;background:linear-gradient(105deg,#f0dba0 0%,#cda45e 45%,#8a6a2f 100%);-webkit-background-clip:text;color:transparent}
.brand-text em{font-style:normal;font-size:10.5px;font-weight:900;letter-spacing:.14em;color:var(--gold)}
.site-header nav{display:flex;gap:8px}
.site-header nav a{padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);color:#f2e6d4;font-size:13.5px;font-weight:700}

/* ---- hero banner (full-bleed image + overlay) ---- */
.hero-banner{position:relative;min-height:440px;display:flex;align-items:flex-end;margin:18px 0 8px;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.hero-banner .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,4,3,.96) 12%,rgba(5,4,3,.7) 48%,rgba(5,4,3,.22) 100%)}
.hero-banner .hero-inner{padding:38px 34px 34px;max-width:720px}
.eyebrow{display:inline-flex;margin-bottom:12px;color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.14em}
.hero-banner h1{margin:0 0 14px;font-family:"Cormorant Garamond","Noto Serif KR",serif;font-size:clamp(38px,5.8vw,68px);line-height:1.05;font-weight:600;color:#fff}
.hero-banner p{margin:0 0 16px;max-width:620px;color:#e9ddc9;font-size:16.5px}
.keyword-badges{display:flex;flex-wrap:wrap;gap:8px}
.keyword-badges span,.keyword-badges a{display:inline-flex;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#f2e6d4;border-radius:10px;padding:7px 12px;font-size:12.5px;font-weight:700}

main>section{padding:36px 0}
.section-head{margin-bottom:18px}
.section-head span{display:inline-flex;margin-bottom:8px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em}
.section-head h2,.section-head h1{margin:0 0 8px;font-family:"Cormorant Garamond","Noto Serif KR",serif;font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.12}
.section-head p{margin:0;max-width:780px;color:var(--muted);font-size:16px}

/* ---- area grid / tile ---- */
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.area-tile{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);transition:transform .2s ease,border-color .2s ease}
.area-tile:hover{transform:translateY(-3px);border-color:var(--gold)}
.area-tile .tile-img{aspect-ratio:4/3;overflow:hidden}
.area-tile img{width:100%;height:100%;object-fit:cover}
.area-tile .tile-body{padding:13px 14px 15px}
.area-tile strong{display:block;font-size:15px;color:#fff;margin-bottom:7px}
.area-tile .tile-tag{display:inline-flex;font-size:11px;color:var(--gold);border:1px solid rgba(205,164,94,.35);border-radius:999px;padding:3px 10px}

/* ---- price table (list style, not cards) ---- */
.price-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.price-row{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.price-row:last-child{border-bottom:none}
.price-row--best{background:linear-gradient(90deg,rgba(205,164,94,.14),transparent 75%)}
.price-row .row-badge{position:absolute;left:22px;top:-11px;background:linear-gradient(120deg,var(--gold),#f0dba0);color:#241407;font-size:10.5px;font-weight:900;letter-spacing:.06em;padding:4px 13px;border-radius:999px}
.price-row .row-name{font-family:"Cormorant Garamond","Noto Serif KR",serif;font-size:24px;color:#fff}
.price-row .row-name small{display:block;margin-top:3px;font-family:"Noto Sans KR",sans-serif;font-size:12.5px;color:var(--muted);font-weight:400}
.price-row .row-amount{font-size:24px;font-weight:900;color:var(--gold);white-space:nowrap;text-align:right}
.price-row .row-amount small{font-size:12.5px;color:var(--muted);font-weight:400;margin-left:2px}
.price-row .row-cta{display:inline-flex;padding:10px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:900;white-space:nowrap;font-size:13.5px}
.price-row--best .row-cta{background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;border-color:transparent}

/* ---- why grid ---- */
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.why-grid article{min-width:0;padding:20px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.why-grid b{display:inline-flex;color:var(--gold);font-size:12.5px;margin-bottom:18px;font-weight:900}
.why-grid h3{margin:0 0 8px;font-size:20px;font-family:"Cormorant Garamond","Noto Serif KR",serif;font-weight:600}
.why-grid p{margin:0;color:var(--muted);font-size:14.5px}


/* ---- faq accordion ---- */
.seo-accordion{max-width:none;margin:0}
.seo-accordion details{margin-bottom:8px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--panel)}
.seo-accordion summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none}
.seo-accordion summary::-webkit-details-marker{display:none}
.accordion-body{padding:0 18px 18px;color:#e6dbc9}

/* ---- portal top: search + category tabs ---- */
.portal-top{padding-top:22px}
.portal-top h1{margin:0 0 16px;font-family:"Cormorant Garamond","Noto Serif KR",serif;font-size:clamp(26px,4vw,40px);font-weight:600;line-height:1.15;color:#fff}
.portal-search{display:flex;gap:10px;margin-bottom:16px}
.portal-search input{flex:1;min-width:0;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:15px;font-family:inherit}
.portal-search input::placeholder{color:var(--muted)}
.portal-search button{padding:14px 22px;border-radius:12px;border:none;background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;font-weight:900;font-size:14px;cursor:pointer;white-space:nowrap}
.category-row{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.category-row::-webkit-scrollbar{display:none}
.cat-btn{flex:0 0 auto;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:#f2e6d4;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.cat-btn.active{background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;border-color:transparent}

/* ---- vip ad grid ---- */
.vip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.vip-card{display:block;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);transition:transform .2s ease,border-color .2s ease}
.vip-card:hover{transform:translateY(-3px);border-color:var(--gold)}
.vip-card-img{aspect-ratio:4/3;overflow:hidden}
.vip-card-img img{width:100%;height:100%;object-fit:cover}
.vip-card-body{padding:12px 14px 14px}
.vip-card-stats{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:6px}
.grade-chip{display:inline-flex;background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;font-weight:900;border-radius:999px;padding:1px 8px;font-size:11px}
.vip-card-name{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px}
.vip-card-loc{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.vip-card-price{font-size:15px;font-weight:900;color:var(--gold)}
.vip-more{margin-top:16px;text-align:center}
.vip-more .row-cta{display:inline-flex;padding:11px 22px;border-radius:10px;border:1px solid var(--line);color:#fff;font-weight:900;font-size:13.5px}

/* ---- shop card (dong page embed) ---- */
.shop-card-section{padding:20px 0}
.shop-card{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.shop-card-banner{width:100%;height:100%;object-fit:cover;display:block}
.shop-card-body{padding:20px 22px}
.shop-card-stats{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--muted);margin-bottom:8px}
.shop-card-cat{border:1px solid rgba(205,164,94,.35);border-radius:999px;padding:2px 10px;color:var(--gold)}
.shop-card-name{font-size:19px;font-weight:900;color:#fff;margin-bottom:6px}
.shop-card-desc{font-size:13.5px;color:var(--muted);margin-bottom:14px}
.shop-card-cta{display:inline-flex;padding:10px 20px;border-radius:10px;background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;font-weight:900;font-size:13.5px}

.near-links{padding-bottom:110px}

.site-footer{margin-top:24px;padding:28px 0 90px;border-top:1px solid var(--line);color:#ebe0d8}
.footer-info{max-width:760px}
.footer-info h2,.footer-info h3{margin:0 0 14px;color:#fff}
.footer-info h3{margin-top:18px}
.footer-info p{margin:6px 0;line-height:1.75}
.footer-info strong{color:#fff}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:#a3968f}
.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.footer-bottom a{color:#c2b3ab}

.policy-page{max-width:920px;margin:26px auto 120px;padding:30px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.policy-page>span{display:inline-flex;margin-bottom:12px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.12em}
.policy-page h1{margin:0 0 20px;font-family:"Cormorant Garamond","Noto Serif KR",serif;font-size:clamp(30px,4.6vw,50px);font-weight:600;line-height:1.1}
.policy-page h2{margin:24px 0 10px;font-size:22px}
.policy-page p,.policy-page li{color:#e6dbc9;line-height:1.8}
.policy-page ul{padding-left:20px}

.area-hub-page{max-width:none}
.area-hub-page>p{max-width:860px}

.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:10px;background:linear-gradient(120deg,var(--gold),var(--cyan));color:#241407;font-weight:900}

.floating-call{position:fixed;left:50%;bottom:18px;z-index:40;display:flex;align-items:center;justify-content:center;width:min(340px,calc(100% - 28px));min-height:54px;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--gold));color:#fff;font-weight:900;box-shadow:0 0 30px rgba(205,164,94,.4);transform:translateX(-50%);animation:pulse 1.7s infinite}
@keyframes pulse{50%{transform:translateX(-50%) translateY(-2px);box-shadow:0 0 44px rgba(224,192,120,.55)}}

@media (max-width:1100px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.site-header nav{display:none}.hero-banner{min-height:360px}.hero-banner .hero-inner{padding:26px 22px 26px}}
@media (max-width:640px){.page-shell{width:calc(100% - 28px)}.site-header{height:70px;justify-content:center}.brand-icon{width:38px;height:38px}.brand-text strong{font-size:20px}.hero-banner{border-radius:0 0 18px 18px}.hero-banner h1{font-size:36px}.hero-banner p{font-size:15px}.price-row{grid-template-columns:1fr;text-align:left;gap:10px}.price-row .row-amount{text-align:left}.why-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.footer-bottom nav{gap:12px}.shop-card{grid-template-columns:1fr}.shop-card-banner{aspect-ratio:4/3}.vip-grid{grid-template-columns:repeat(2,1fr);gap:10px}.vip-card-name{font-size:13.5px}.vip-card-loc{font-size:11.5px}.vip-card-price{font-size:13.5px}.portal-search button{padding:14px 16px}.floating-call{min-height:58px}}
