/*
Theme Name: JogaeParty Landing Clone
Theme URI: https://xn--h49ao02bf5ebqa911b1e.com/
Author: ChatGPT
Author URI: https://openai.com/
Description: 조개파티(jogaeparty) 브랜드용 워드프레스 랜딩 테마입니다. 상단 메뉴, 메인 CTA, 소개, 우회접속 안내, 주의사항, TOP5/후기, FAQ, 법적 안내, 작성자, 푸터 구조를 포함합니다.
Version: 1.0.6
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: jogaeparty-clone
*/
:root{
  --page-bg:#f7f7f7;
  --surface:#ffffff;
  --text:#111111;
  --soft:#333333;
  --muted:#666666;
  --line:#e5e5e5;
  --brand:#e60012;
  --brand-dark:#a4000a;
  --accent:#ffe600;
  --accent-border:#111111;
  --max:1110px;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--page-bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",Arial,sans-serif;
  font-size:18px;
  line-height:1.75;
  word-break:keep-all;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:10px 15px;z-index:999999}
.skip-link:focus{left:10px;top:10px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img,.custom-logo{width:300px;max-height:78px;object-fit:contain}
.site-title-text{font-size:34px;font-weight:950;letter-spacing:-2px;color:var(--brand);line-height:1}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:26px;font-size:17px;font-weight:800;color:#111}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.main-nav li{margin:0}.main-nav a{white-space:nowrap}
.hero{text-align:center;padding-top:88px;padding-bottom:62px}
.hero h1{font-size:56px;line-height:1.16;letter-spacing:-2.3px;margin:0 0 40px;font-weight:950}
.primary-btn{display:inline-flex;align-items:center;justify-content:center;min-width:285px;min-height:58px;border-radius:999px;background:var(--accent);border:2px solid var(--accent-border);font-weight:950;font-size:22px;box-shadow:0 4px 0 rgba(0,0,0,.12);margin-bottom:24px;padding:10px 30px}
.primary-btn:hover{text-decoration:none;transform:translateY(-1px)}
.hero-sub{font-size:24px;font-weight:900;margin:15px 0 4px}.hero-desc{font-size:18px;color:#333;margin:0}
.section{padding:54px 24px;border-top:1px solid var(--line)}
.copy-block h2,.section h2{font-size:38px;line-height:1.25;letter-spacing:-1.5px;margin:0 0 20px;font-weight:950}
.copy-block p,.section p{margin:0 0 20px;color:#222}.section strong{font-weight:950}
ul{padding-left:25px;margin:16px 0 22px}li{margin:8px 0}.intro-section{padding-top:58px}.copy-block h4{font-size:22px;margin:30px 0 10px;font-weight:950}
.logo-stage{background:#fff;margin:28px auto 20px;border-radius:10px;border:1px solid var(--line);padding:28px;display:flex;justify-content:center;align-items:center;max-width:830px;min-height:245px;box-shadow:0 10px 30px rgba(0,0,0,.03)}
.logo-stage img{width:520px;max-width:100%;object-fit:contain}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.quick-grid a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;font-weight:850;font-size:16px;line-height:1.45;box-shadow:0 10px 22px rgba(0,0,0,.04)}
.quick-grid a:hover{text-decoration:none;border-color:#d0d0d0;transform:translateY(-1px)}
.section-title{text-align:left;margin-bottom:34px}.narrow-title h2{max-width:640px}.section-title p{font-size:20px;color:#333;max-width:820px}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px}
.method-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.method-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover;background:#ddd}.method-card h4{font-size:23px;margin:20px 22px 8px;font-weight:950}.method-card p{font-size:17px;line-height:1.72;margin:0 22px 24px;color:#333}
.split-section{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}.split-copy h2{margin-bottom:12px}.split-copy h3,.recommend-box h3,.faq-section h3{font-size:25px;margin:26px 0 12px;font-weight:950}
.recommend-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(0,0,0,.04)}
.mini-card{border-top:1px solid var(--line);padding:18px 0 0;margin-top:18px}.mini-card h4{font-size:22px;margin:0 0 6px;font-weight:950}.mini-card p{font-size:16px;margin:0 0 8px;color:#333}.mini-card a{font-weight:950;color:var(--brand)}
.wide-image{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:18px 0 0;box-shadow:0 12px 30px rgba(0,0,0,.04)}.wide-image img{width:100%}
.rank-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 26px rgba(0,0,0,.04)}
.rank-table{width:100%;border-collapse:collapse;min-width:700px;font-size:17px}.rank-table th,.rank-table td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:left}.rank-table th{background:#fafafa;font-weight:950}.rank-table td:first-child,.rank-table th:first-child{text-align:center;width:80px}.rank-table a{color:var(--brand);font-weight:850}
.reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.reviews article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 24px rgba(0,0,0,.04)}.reviews h4{margin:0 0 10px;font-size:21px;font-weight:950}.reviews p{font-size:16px;margin:0;color:#333}
.faq-section{max-width:920px}.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px}.faq-list summary{cursor:pointer;font-weight:950;font-size:19px;padding:18px 0}.faq-list details p{font-size:16px;border-top:1px solid var(--line);padding-top:14px}.faq-list.compact{margin-bottom:20px}
.legal-section{max-width:920px}.author-box{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(0,0,0,.04)}.author-box h3{font-size:25px;margin:0 0 18px;font-weight:950}.author-media{display:flex;gap:24px;align-items:flex-start}.author-media img{width:135px;height:135px;border-radius:50%;background:#f1f1f1;object-fit:cover;object-position:center top;display:block}.author-name{color:var(--brand);font-weight:950;font-size:20px}.book-list{color:#333}.modified{font-size:15px;color:#777;margin-top:22px}.bottom-image{margin:34px 0 0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.bottom-image img{width:100%}

.brand-visual{background:#111;padding:0;min-height:260px;display:flex;align-items:center;justify-content:center}
.brand-visual-inner{width:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:linear-gradient(135deg,#111 0%,#222 45%,#000 100%);padding:46px 24px;text-align:center}
.brand-visual-inner img{width:520px;max-width:92%;background:rgba(255,255,255,.04);border-radius:8px}
.brand-visual-inner p{margin:0;color:#fff;font-size:28px;font-weight:950;letter-spacing:-.5px}
.final-logo-card{background:#111;padding:42px 24px;text-align:center}
.final-logo-card img{width:520px;max-width:92%;margin:0 auto}
.final-logo-card figcaption{margin-top:22px;color:#fff;font-size:26px;font-weight:950;line-height:1.45}

.site-footer{background:#fff;border-top:1px solid var(--line);padding:46px 0 34px;margin-top:24px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-grid h2{font-size:22px;margin:0 0 14px;font-weight:950}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:7px 0}.footer-grid a{color:#111}.footer-bottom{font-size:15px;color:#555;margin-top:34px;border-top:1px solid var(--line);padding-top:24px}.footer-bottom p{margin:4px 0}
.entry-content,.post-list{max-width:850px;margin:56px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px;box-shadow:0 12px 30px rgba(0,0,0,.04)}.entry-content h1,.post-list h1{font-size:42px;margin-top:0}.post-card{border-top:1px solid var(--line);padding:24px 0}.post-card:first-of-type{border-top:0}.post-card h2{margin:0 0 8px;font-size:28px}.post-card .meta{color:#777;font-size:15px}.wp-block-image img{height:auto}
@media(max-width:900px){body{font-size:16px}.header-inner{min-height:82px;flex-direction:column;padding-top:18px;padding-bottom:18px}.brand img,.custom-logo{width:260px}.main-nav,.main-nav ul{gap:14px;flex-wrap:wrap;justify-content:center;font-size:14px}.hero{padding-top:54px}.hero h1{font-size:39px}.copy-block h2,.section h2{font-size:31px}.quick-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr}.split-section{grid-template-columns:1fr}.reviews{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.author-media{flex-direction:column}.section{padding-top:42px;padding-bottom:42px}}
@media(max-width:560px){.container,.section{padding-left:18px;padding-right:18px}.hero h1{font-size:33px}.primary-btn{min-width:250px;min-height:54px;font-size:20px}.quick-grid,.reviews,.footer-grid{grid-template-columns:1fr}.logo-stage{padding:18px;min-height:160px}.main-nav,.main-nav ul{font-size:13px}.method-card h4{font-size:21px}.entry-content,.post-list{margin:34px 18px;padding:26px}.entry-content h1,.post-list h1{font-size:32px}}

/* Sub page templates: about, access guide, safety guide, blog, contact */
.subpage-wrap{background:var(--page-bg)}
.sub-hero{padding-top:74px;padding-bottom:44px;text-align:left}
.sub-kicker{margin:0 0 12px;color:var(--brand);font-size:15px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.sub-hero h1{margin:0 0 18px;font-size:54px;line-height:1.15;letter-spacing:-2px;font-weight:950}
.sub-hero p{max-width:820px;margin:0 0 28px;font-size:21px;line-height:1.75;color:#242424}
.sub-grid-two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:stretch}
.sub-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 12px 30px rgba(0,0,0,.04)}
.sub-card h2{font-size:34px;line-height:1.25;letter-spacing:-1.2px;margin:0 0 18px;font-weight:950}
.sub-card h3{font-size:25px;margin:0 0 16px;font-weight:950}
.sub-card p{margin:0 0 16px;color:#222}.sub-card ul{margin:10px 0 0}.sub-card li{margin:8px 0}
.highlight-card{border-top:5px solid var(--brand)}.warning-card{border-top:5px solid #ffcc00}.sub-card-large{min-height:260px}
.feature-list h2{font-size:38px;margin:0 0 26px;font-weight:950;letter-spacing:-1.3px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(0,0,0,.04)}.feature-grid span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:var(--accent);font-weight:950;border:2px solid #111;margin-bottom:14px}.feature-grid h3{font-size:24px;margin:0 0 10px;font-weight:950}.feature-grid p{margin:0;font-size:17px;color:#333;line-height:1.7}.sub-method-grid{margin-top:0}.check-steps{counter-reset:step;list-style:none;margin:8px 0 0;padding:0;display:grid;gap:14px}.check-steps li{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}.check-steps li:first-child{border-top:0}.check-steps strong{font-size:19px;color:#111}.check-steps span{color:#333}.blog-board{padding-top:34px}.blog-list{display:grid;gap:18px}.blog-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(0,0,0,.04)}.blog-item h2{font-size:30px;line-height:1.3;margin:0 0 8px;font-weight:950}.blog-item .meta{font-size:15px;color:#777;margin:0 0 8px}.blog-item p{margin:0 0 14px;color:#333}.read-more{display:inline-flex;font-weight:950;color:var(--brand)}.empty-board{max-width:850px}.contact-author{margin-top:0;height:100%}.shortcode-sample{background:#111;color:#fff;border-radius:12px;padding:18px;overflow:auto;font-size:16px;line-height:1.6}
@media(max-width:900px){.sub-hero{padding-top:48px}.sub-hero h1{font-size:38px}.sub-hero p{font-size:18px}.sub-grid-two{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.check-steps li{grid-template-columns:1fr}.sub-card{padding:24px}.sub-card h2,.feature-list h2{font-size:30px}}

/* Contact board page */
.contact-board-page{
  background:#f7f7f7;
  border-top:4px solid #ffe600;
}
.contact-board{
  max-width:1260px;
  margin:0 auto;
  padding:0 28px 54px;
}
.contact-board h1{
  margin:0;
  padding:0 0 26px;
  font-size:54px;
  line-height:1.15;
  letter-spacing:-2px;
  font-weight:950;
  color:#111;
}
.contact-divider{
  width:100%;
  height:1px;
  background:#111;
  margin:0 0 45px;
}
.jp-contact-form{
  max-width:100%;
}
.jp-field{
  margin:0 0 32px;
}
.jp-field label{
  display:block;
  margin:0 0 12px;
  font-size:20px;
  line-height:1.4;
  font-weight:900;
  color:#111;
}
.jp-field label span{
  color:#e60012;
}
.jp-field input,
.jp-field textarea{
  display:block;
  width:100%;
  border:1px solid #bfbfbf;
  border-radius:2px;
  background:#fff;
  color:#111;
  font-size:18px;
  line-height:1.5;
  outline:none;
  box-shadow:none;
}
.jp-field input{
  max-width:650px;
  height:55px;
  padding:10px 14px;
}
.jp-field textarea{
  min-height:300px;
  padding:14px;
  resize:vertical;
}
.jp-field input:focus,
.jp-field textarea:focus{
  border-color:#0073aa;
  box-shadow:0 0 0 1px #0073aa;
}
.jp-submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:70px;
  height:52px;
  padding:0 18px;
  border:0;
  border-radius:4px;
  background:#0073aa;
  color:#fff;
  font-size:20px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
}
.jp-submit-btn:hover,
.jp-submit-btn:focus{
  background:#005f8d;
}
.contact-divider-bottom{
  margin:52px 0 0;
}
@media(max-width:900px){
  .contact-board{padding-left:22px;padding-right:22px;}
  .contact-board h1{font-size:42px;padding-bottom:22px;}
  .contact-divider{margin-bottom:34px;}
  .jp-field input{max-width:100%;}
  .jp-field textarea{min-height:240px;}
}
@media(max-width:560px){
  .contact-board{padding-left:18px;padding-right:18px;}
  .contact-board h1{font-size:34px;}
  .jp-field label{font-size:18px;}
  .jp-field input{height:52px;}
  .jp-submit-btn{width:100%;}
}

/* Blog board and single post layout */
.jp-blog-page,
.jp-single-page{
  background:#f7f7f7;
  color:#111;
}
.jp-blog-hero{
  padding:70px 20px 34px;
  text-align:center;
}
.jp-blog-hero h1{
  margin:0 0 18px;
  font-size:clamp(42px,6vw,72px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:-0.04em;
}
.jp-blog-hero p{
  max-width:860px;
  margin:0 auto;
  font-size:21px;
  line-height:1.8;
  color:#333;
  word-break:keep-all;
}
.jp-blog-hero-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.jp-blog-main-btn,
.jp-blog-admin-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  font-size:18px;
  font-weight:900;
  text-decoration:none;
}
.jp-blog-main-btn{
  background:#ffd400;
  color:#111;
  box-shadow:0 12px 24px rgba(0,0,0,.10);
}
.jp-blog-admin-btn{
  background:#111;
  color:#fff;
}
.jp-blog-intro{
  padding-top:18px;
  padding-bottom:16px;
}
.jp-blog-intro h2,
.jp-related-head h2{
  margin:0 0 12px;
  font-size:36px;
  line-height:1.22;
  font-weight:950;
  letter-spacing:-0.03em;
}
.jp-blog-intro p,
.jp-related-head p{
  margin:0;
  max-width:920px;
  font-size:19px;
  line-height:1.8;
  color:#333;
  word-break:keep-all;
}
.jp-blog-board{
  padding-top:18px;
  padding-bottom:80px;
}
.jp-blog-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
}
.jp-post-card{
  overflow:hidden;
  border:1px solid #e9e9e9;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.08);
}
.jp-post-thumb{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e9eef5;
}
.jp-post-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.jp-post-card:hover .jp-post-thumb img{
  transform:scale(1.04);
}
.jp-post-card-body{
  padding:24px 24px 28px;
}
.jp-post-date{
  margin:0 0 10px;
  font-size:15px;
  font-weight:800;
  color:#777;
}
.jp-post-card h2,
.jp-post-card h3{
  margin:0 0 14px;
  font-size:24px;
  line-height:1.36;
  font-weight:950;
  letter-spacing:-0.025em;
}
.jp-post-card h2 a,
.jp-post-card h3 a{
  color:#111;
  text-decoration:none;
}
.jp-post-card h2 a:hover,
.jp-post-card h3 a:hover{
  color:#e60012;
}
.jp-post-excerpt{
  margin:0 0 20px;
  font-size:17px;
  line-height:1.72;
  color:#333;
  word-break:keep-all;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:8.6em;
}
.jp-read-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-decoration:none;
}
.jp-pagination{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:38px;
}
.jp-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #ddd;
  color:#111;
  font-weight:900;
  text-decoration:none;
}
.jp-pagination .page-numbers.current{
  background:#ffd400;
  border-color:#ffd400;
}
.jp-empty-board,
.jp-empty-related{
  padding:42px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e7e7e7;
  box-shadow:0 14px 34px rgba(0,0,0,.06);
}
.jp-empty-board h2{
  margin:0 0 14px;
  font-size:30px;
  font-weight:950;
}
.jp-empty-board p,
.jp-empty-related p{
  margin:0 0 22px;
  font-size:18px;
  line-height:1.75;
}
.jp-single-article{
  padding:64px 20px 30px;
}
.jp-single-header{
  max-width:980px;
  margin:0 auto 30px;
  text-align:left;
}
.jp-single-header h1{
  margin:0 0 16px;
  font-size:clamp(38px,5.4vw,66px);
  line-height:1.12;
  font-weight:950;
  letter-spacing:-0.045em;
}
.jp-single-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:#666;
  font-size:16px;
  font-weight:800;
}
.jp-single-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e2e2e2;
}
.jp-single-thumb{
  max-width:980px;
  margin:0 auto 36px;
  overflow:hidden;
  border-radius:28px;
  background:#e9eef5;
  box-shadow:0 18px 44px rgba(0,0,0,.10);
}
.jp-single-thumb img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
}
.jp-single-content{
  max-width:980px;
  margin:0 auto;
  padding:42px 46px;
  border-radius:28px;
  background:#fff;
  border:1px solid #e8e8e8;
  box-shadow:0 16px 40px rgba(0,0,0,.07);
}
.jp-single-content h2{
  margin:44px 0 16px;
  font-size:34px;
  line-height:1.25;
  font-weight:950;
  letter-spacing:-0.03em;
}
.jp-single-content h3{
  margin:30px 0 12px;
  font-size:26px;
  line-height:1.3;
  font-weight:950;
}
.jp-single-content p,
.jp-single-content li{
  font-size:19px;
  line-height:1.9;
  color:#222;
  word-break:keep-all;
}
.jp-single-content p{
  margin:0 0 20px;
}
.jp-single-content img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
.jp-related-posts{
  padding-top:24px;
  padding-bottom:80px;
}
.jp-related-head{
  margin-bottom:24px;
}
.jp-related-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
@media(max-width:1000px){
  .jp-blog-grid,
  .jp-related-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media(max-width:700px){
  .jp-blog-hero{padding-top:48px;}
  .jp-blog-hero p,
  .jp-blog-intro p,
  .jp-related-head p{font-size:17px;}
  .jp-blog-grid,
  .jp-related-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .jp-post-card-body{padding:22px 20px 26px;}
  .jp-single-article{padding-top:42px;}
  .jp-single-content{padding:30px 22px;border-radius:22px;}
  .jp-single-content h2{font-size:28px;}
  .jp-single-content h3{font-size:23px;}
  .jp-single-content p,
  .jp-single-content li{font-size:17px;line-height:1.82;}
  .jp-empty-board{padding:30px 22px;}
}

/* Front-end blog writing form */
.jp-blog-write-section{
  padding-top:24px;
  padding-bottom:80px;
}
.jp-blog-write-card{
  max-width:980px;
  margin:0 auto;
  padding:42px 46px;
  border-radius:28px;
  background:#fff;
  border:1px solid #e8e8e8;
  box-shadow:0 16px 42px rgba(0,0,0,.08);
}
.jp-blog-write-head{
  margin-bottom:28px;
}
.jp-blog-write-head h2{
  margin:0 0 12px;
  font-size:42px;
  font-weight:950;
  line-height:1.18;
  letter-spacing:-0.04em;
}
.jp-blog-write-head p{
  margin:0;
  font-size:18px;
  line-height:1.75;
  color:#333;
  word-break:keep-all;
}
.jp-front-post-form{
  display:grid;
  gap:20px;
}
.jp-front-post-form label{
  display:grid;
  gap:9px;
  margin:0;
  font-weight:900;
  color:#111;
}
.jp-front-post-form label span{
  font-size:17px;
}
.jp-front-post-form input[type="text"],
.jp-front-post-form input[type="file"],
.jp-front-post-form textarea,
.jp-front-post-form select{
  width:100%;
  border:1px solid #ddd;
  border-radius:16px;
  background:#fafafa;
  padding:16px 18px;
  font-size:17px;
  line-height:1.6;
  color:#111;
  box-sizing:border-box;
}
.jp-front-post-form textarea{
  resize:vertical;
}
.jp-front-post-form em{
  font-style:normal;
  font-size:14px;
  line-height:1.5;
  color:#777;
}
.jp-form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:6px;
}
.jp-form-actions button,
.jp-form-actions a,
.jp-blog-login-btn,
.jp-blog-admin-sub{
  min-height:46px;
}
.jp-form-actions button{
  border:0;
  border-radius:999px;
  padding:0 24px;
  background:#ffd400;
  color:#111;
  font-size:17px;
  font-weight:950;
  cursor:pointer;
}
.jp-form-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 20px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:950;
}
.jp-form-alert{
  margin:0 0 22px;
  padding:16px 18px;
  border-radius:16px;
  font-size:16px;
  font-weight:900;
}
.jp-form-error{
  background:#fff1f1;
  border:1px solid #ffd3d3;
  color:#c00016;
}
.jp-blog-admin-sub{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #ddd !important;
}
@media(max-width:700px){
  .jp-blog-write-card{padding:30px 22px;border-radius:22px;}
  .jp-blog-write-head h2{font-size:32px;}
  .jp-front-post-form input[type="text"],
  .jp-front-post-form input[type="file"],
  .jp-front-post-form textarea,
  .jp-front-post-form select{font-size:16px;border-radius:14px;padding:14px 15px;}
}


/* Blog hero renewal: screenshot-like centered title + yellow icon */
.jp-blog-hero-renewal{
  padding:92px 20px 64px;
  text-align:center;
  background:#f7f7f7;
}
.jp-blog-title-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 24px;
}
.jp-blog-title-line h1{
  margin:0;
  font-size:clamp(42px,5.6vw,72px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:-0.05em;
  color:#111;
}
.jp-blog-title-icon{
  position:relative;
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:50% 50% 50% 14px;
  transform:rotate(-8deg);
  background:#ffd400;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.jp-blog-title-icon::after{
  content:"";
  position:absolute;
  right:9px;
  bottom:-6px;
  width:16px;
  height:16px;
  background:#ffd400;
  transform:rotate(45deg);
  border-radius:2px;
}
.jp-blog-icon-screen{
  position:relative;
  width:29px;
  height:20px;
  border:5px solid #111;
  border-radius:5px;
  transform:rotate(8deg);
  z-index:1;
}
.jp-blog-icon-screen::before,
.jp-blog-icon-screen::after{
  content:"";
  position:absolute;
  background:#111;
}
.jp-blog-icon-screen::before{
  left:7px;
  bottom:-11px;
  width:8px;
  height:8px;
  border-radius:0 0 5px 5px;
}
.jp-blog-icon-screen::after{
  left:3px;
  bottom:-15px;
  width:18px;
  height:5px;
  border-radius:999px;
}
.jp-blog-hero-renewal > p{
  max-width:1000px;
  margin:0 auto;
  font-size:24px;
  line-height:1.8;
  color:#444;
  word-break:keep-all;
}
.jp-blog-hero-renewal .jp-blog-main-btn{
  min-width:360px;
  min-height:74px;
  padding:0 42px;
  border-radius:999px;
  background:#ffd400;
  color:#111;
  font-size:27px;
  font-weight:950;
  box-shadow:0 20px 34px rgba(255,212,0,.34);
}
.jp-post-card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.jp-admin-edit-link,
.jp-admin-delete-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  font-size:15px;
  font-weight:900;
  text-decoration:none;
  border:1px solid #ddd;
  background:#fff;
  color:#111;
}
.jp-admin-delete-link{
  border-color:#ffd0d0;
  background:#fff1f1;
  color:#d00019;
}
.jp-single-meta .jp-admin-edit-link,
.jp-single-meta .jp-admin-delete-link{
  min-height:34px;
  padding:0 13px;
  font-size:14px;
}
@media(max-width:700px){
  .jp-blog-hero-renewal{padding:58px 18px 44px;}
  .jp-blog-title-line{gap:12px;align-items:flex-start;}
  .jp-blog-title-icon{width:46px;height:46px;flex-basis:46px;margin-top:2px;}
  .jp-blog-icon-screen{width:22px;height:15px;border-width:4px;}
  .jp-blog-title-line h1{font-size:34px;text-align:left;}
  .jp-blog-hero-renewal > p{font-size:18px;text-align:left;}
  .jp-blog-hero-renewal .jp-blog-main-btn{min-width:0;width:100%;min-height:60px;font-size:22px;}
}

/* Home latest blog posts: 3 cards x 2 rows between author info and bottom logo */
.home-latest-posts{
  margin:38px auto 42px;
  padding:42px 0 8px;
  border-top:1px solid #e5e5e5;
}
.home-latest-head{
  margin:0 0 28px;
  text-align:left;
}
.home-latest-head h2{
  margin:0 0 12px;
  font-size:clamp(34px,4vw,52px);
  line-height:1.15;
  font-weight:950;
  letter-spacing:-0.045em;
  color:#111;
}
.home-latest-head p{
  margin:0;
  font-size:20px;
  line-height:1.75;
  color:#333;
  word-break:keep-all;
}
.home-post-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
}
.home-post-card{
  overflow:hidden;
  border:1px solid #e9e9e9;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.075);
}
.home-post-thumb{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#eef2f6;
}
.home-post-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease;
}
.home-post-card:hover .home-post-thumb img{
  transform:scale(1.04);
}
.home-post-body{
  padding:22px 22px 24px;
}
.home-post-date{
  margin:0 0 8px !important;
  font-size:14px !important;
  font-weight:850;
  color:#777 !important;
}
.home-post-body h3{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.35;
  font-weight:950;
  letter-spacing:-0.025em;
}
.home-post-body h3 a{
  color:#111;
  text-decoration:none;
}
.home-post-body h3 a:hover{
  color:#e60012;
}
.home-post-body p{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.68;
  color:#333;
  word-break:keep-all;
}
.home-post-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
}
.home-post-more,
.home-post-admin{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}
.home-post-more{
  background:#111;
  color:#fff;
}
.home-post-admin{
  border:1px solid #ddd;
  background:#fff;
  color:#111;
}
.home-empty-posts{
  padding:28px 24px;
  border:1px dashed #d9d9d9;
  border-radius:18px;
  background:#fff;
}
.home-empty-posts p{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:#333;
}
@media(max-width:980px){
  .home-post-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media(max-width:640px){
  .home-latest-posts{margin:28px auto 32px;padding-top:32px;}
  .home-latest-head h2{font-size:32px;}
  .home-latest-head p{font-size:17px;}
  .home-post-grid{grid-template-columns:1fr;gap:18px;}
  .home-post-body{padding:20px 18px 22px;}
  .home-post-body h3{font-size:20px;}
}

/* Home blog list - screenshot style: thumbnail, linked title, date, excerpt (3 x 2) */
.home-latest-posts-clean{
  margin:46px auto 48px;
  padding:0;
  border-top:0;
}
.home-post-grid-clean{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:46px 34px;
  align-items:start;
}
.home-post-card-clean{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-post-card-clean .home-post-thumb{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:0;
  background:#eee;
}
.home-post-card-clean .home-post-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:none;
}
.home-post-card-clean:hover .home-post-thumb img{
  transform:none;
}
.home-post-body-clean{
  padding:18px 0 0;
}
.home-post-title{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.34;
  font-weight:500;
  letter-spacing:-0.025em;
}
.home-post-title a{
  color:#111;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.home-post-title a:hover{
  color:#e60012;
}
.home-post-body-clean .home-post-date{
  margin:0 0 18px !important;
  font-size:16px !important;
  line-height:1.4;
  font-weight:400;
  color:#111 !important;
}
.home-post-excerpt{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.6 !important;
  color:#111 !important;
  word-break:keep-all;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:8em;
}
.home-post-more-row{
  margin:6px 0 0 !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.home-post-inline-more{
  color:#111;
  text-decoration:underline;
  text-underline-offset:3px;
  white-space:nowrap;
}
.home-post-admin-row{
  margin:12px 0 0 !important;
}
.home-post-admin-row .home-post-admin{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:999px;
  border:1px solid #ddd;
  background:#fff;
  color:#111;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}
@media(max-width:980px){
  .home-post-grid-clean{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media(max-width:640px){
  .home-latest-posts-clean{margin:32px auto 34px;}
  .home-post-grid-clean{grid-template-columns:1fr;gap:34px;}
  .home-post-title{font-size:20px;}
  .home-post-excerpt{font-size:17px !important;}
}

/* Limit blog preview excerpts to 5 lines */
.home-post-excerpt,
.jp-post-excerpt{
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-post-more-row{
  margin:6px 0 0 !important;
}

/* Main page blog posts section */
.home-blog-section{
  padding-top:56px;
  padding-bottom:64px;
  border-top:1px solid #ededed;
  border-bottom:1px solid #ededed;
}
.home-blog-head{
  margin-bottom:34px;
}
.home-blog-head h2{
  margin-bottom:12px;
}
.home-blog-grid{
  margin-top:0;
}
.home-blog-card{
  min-width:0;
}
.home-blog-more{
  display:flex;
  justify-content:center;
  margin-top:36px;
}
.home-blog-more a,
.home-blog-empty a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:17px;
  font-weight:900;
  text-decoration:none;
}
.home-blog-more a:hover,
.home-blog-empty a:hover{
  background:#e60012;
}
.home-blog-empty{
  text-align:center;
}
.home-blog-empty a{
  margin-top:18px;
}
@media(max-width:640px){
  .home-blog-section{
    padding-top:42px;
    padding-bottom:46px;
  }
  .home-blog-head{
    margin-bottom:26px;
  }
  .home-blog-more{
    margin-top:28px;
  }
  .home-blog-more a,
  .home-blog-empty a{
    width:100%;
  }
}

/* Main blog section placed near the top of the homepage */
.home-blog-section-main{
  margin-top:42px;
  margin-bottom:56px;
  padding-top:54px;
  padding-bottom:62px;
  border-top:1px solid #ececec;
  border-bottom:1px solid #ececec;
  background:#fafafa;
}
.home-blog-section-main .home-blog-head{
  margin-bottom:34px;
}
.home-blog-section-main .home-blog-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.home-blog-section-main .home-post-card-clean{
  background:#fff;
  border:1px solid #eeeeee;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.045);
}
.home-blog-section-main .home-post-card-clean .home-post-thumb{
  border-radius:12px;
}
.home-blog-section-main .home-post-body-clean{
  padding:18px 4px 4px;
}
.home-blog-section-main .home-post-title{
  font-size:22px;
  font-weight:900;
}
.home-blog-section-main .home-post-title a{
  text-decoration:none;
}
.home-blog-section-main .home-post-date{
  margin-bottom:12px !important;
  color:#666 !important;
}
.home-blog-section-main .home-post-excerpt{
  -webkit-line-clamp:4;
  max-height:6.4em;
}
@media(max-width:980px){
  .home-blog-section-main .home-blog-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media(max-width:640px){
  .home-blog-section-main{
    margin-top:28px;
    margin-bottom:40px;
    padding-top:38px;
    padding-bottom:44px;
  }
  .home-blog-section-main .home-blog-grid{grid-template-columns:1fr;}
}


/* Blog posts placed between author box and bottom logo card */
.home-blog-section-between-logo{
  margin:38px 0 36px;
  padding:42px 0 44px;
  border-top:1px solid #ededed;
  border-bottom:1px solid #ededed;
  background:transparent;
}
.home-blog-section-between-logo .home-blog-head{
  margin-bottom:28px;
}
.home-blog-section-between-logo .home-blog-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}
.home-blog-section-between-logo .home-post-card-clean{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  background:#fff;
  border:1px solid #eeeeee;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.045);
}
.home-blog-section-between-logo .home-post-card-clean .home-post-thumb{
  flex:0 0 auto;
  border-radius:12px;
}
.home-blog-section-between-logo .home-post-body-clean{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:18px 4px 4px;
}
.home-blog-section-between-logo .home-post-title{
  min-height:2.68em;
  margin-bottom:10px;
  font-size:20px;
  line-height:1.34;
  font-weight:900;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-blog-section-between-logo .home-post-title a{
  text-decoration:none;
}
.home-blog-section-between-logo .home-post-date{
  margin-bottom:12px !important;
  color:#666 !important;
}
.home-blog-section-between-logo .home-post-excerpt{
  flex:1 1 auto;
  -webkit-line-clamp:4;
  max-height:6.4em;
}
.home-blog-section-between-logo .home-post-more-row{
  margin-top:14px !important;
}
.home-blog-section-between-logo .home-post-admin-row{
  margin-top:12px !important;
}
@media(max-width:1024px){
  .home-blog-section-between-logo .home-blog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:640px){
  .home-blog-section-between-logo{
    margin:30px 0 32px;
    padding:34px 0 36px;
  }
  .home-blog-section-between-logo .home-blog-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}
