
:root{
  --hmsb-text:#243444;
  --hmsb-muted:#6d7c89;
  --hmsb-line:#e7e1da;
  --hmsb-bg:#fffdf9;
  --hmsb-soft:#f8f4ef;
  --hmsb-accent:#d46f59;
  --hmsb-accent-dark:#a94f3d;
  --hmsb-green:#5f8270;
  --hmsb-radius:18px;
}
.hmsb-site{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--hmsb-text);background:var(--hmsb-bg)}
.hmsb-site *{box-sizing:border-box}
.hmsb-header{position:sticky;top:0;z-index:30;background:rgba(255,253,249,.96);border-bottom:1px solid var(--hmsb-line);backdrop-filter:blur(10px)}
.hmsb-header-inner{max-width:1180px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hmsb-brand{text-decoration:none;color:var(--hmsb-text);display:flex;flex-direction:column;gap:2px}
.hmsb-brand-main{font-size:23px;font-weight:800;letter-spacing:.02em}
.hmsb-brand-sub{font-size:11px;color:var(--hmsb-muted)}
.hmsb-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hmsb-nav a{color:var(--hmsb-text);text-decoration:none;font-size:13px;font-weight:700}
.hmsb-nav .hmsb-nav-cta{padding:9px 14px;border-radius:999px;background:var(--hmsb-accent);color:#fff}
.hmsb-main{overflow:hidden}
.hmsb-hero{max-width:1180px;margin:auto;padding:76px 22px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hmsb-eyebrow,.hmsb-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--hmsb-accent-dark);text-transform:uppercase}
.hmsb-hero h1,.hmsb-page-hero h1{margin:10px 0 20px;font-size:clamp(38px,5vw,68px);line-height:1.18;letter-spacing:-.04em;color:var(--hmsb-text)}
.hmsb-lead{font-size:18px;line-height:1.9;color:#53616d;max-width:720px}
.hmsb-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hmsb-actions-center{justify-content:center}
.hmsb-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none!important;font-weight:800;border:0;cursor:pointer;font-size:14px}
.hmsb-btn-primary{background:var(--hmsb-accent);color:#fff!important}
.hmsb-btn-secondary{background:#fff;color:var(--hmsb-text)!important;border:1px solid var(--hmsb-line)}
.hmsb-placeholder-art{min-height:390px;border-radius:34px;background:linear-gradient(145deg,#f6dfd5,#efe8d8);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;box-shadow:0 20px 60px rgba(88,63,45,.08)}
.hmsb-placeholder-art span{font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--hmsb-accent-dark)}
.hmsb-placeholder-art strong{font-size:30px;line-height:1.5;margin-top:8px}
.hmsb-section{max-width:1180px;margin:auto;padding:72px 22px}
.hmsb-soft{max-width:none;background:var(--hmsb-soft)}
.hmsb-soft>.hmsb-two-col,.hmsb-soft>.hmsb-section-heading,.hmsb-soft>.hmsb-actions{max-width:1136px;margin-left:auto;margin-right:auto}
.hmsb-section-heading{max-width:760px;margin-bottom:34px}
.hmsb-section h2{font-size:32px;line-height:1.45;margin:8px 0 14px}
.hmsb-section-heading>p:last-child,.hmsb-two-col p{color:var(--hmsb-muted);line-height:1.9}
.hmsb-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hmsb-card{padding:26px;border:1px solid var(--hmsb-line);border-radius:var(--hmsb-radius);background:#fff}
.hmsb-card-no{font-size:12px;font-weight:800;color:var(--hmsb-accent-dark)}
.hmsb-card h3{font-size:21px;margin:12px 0}
.hmsb-card p{color:var(--hmsb-muted);line-height:1.8}
.hmsb-card a{font-weight:800;color:var(--hmsb-accent-dark);text-decoration:none}
.hmsb-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.hmsb-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hmsb-use-grid div{padding:18px 20px;border:1px solid var(--hmsb-line);border-radius:14px;background:#fff;font-weight:700}
.hmsb-cta{text-align:center;padding-bottom:90px}
.hmsb-cta p{max-width:720px;margin-left:auto;margin-right:auto;color:var(--hmsb-muted);line-height:1.85}
.hmsb-page-hero{max-width:900px;margin:auto;padding:70px 22px 30px}
.hmsb-page-hero h1{font-size:clamp(36px,5vw,58px)}
.hmsb-page-hero>p:last-child{font-size:17px;line-height:1.85;color:var(--hmsb-muted)}
.hmsb-empty{padding:38px;border:1px dashed #d9cdc2;border-radius:18px;background:#fff}
.hmsb-empty p{color:var(--hmsb-muted);line-height:1.8}
.hmsb-profile-box{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center}
.hmsb-profile-mark{min-height:220px;border-radius:24px;background:var(--hmsb-soft);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:24px;line-height:1.5;color:var(--hmsb-green)}
.hmsb-profile-box p{line-height:1.9;color:var(--hmsb-muted)}
.hmsb-note{font-size:12px}
.hmsb-form{max-width:760px;display:grid;gap:18px}
.hmsb-form label{display:grid;gap:7px;font-weight:800;font-size:14px}
.hmsb-form label span{color:var(--hmsb-accent-dark);font-size:11px}
.hmsb-form input,.hmsb-form select,.hmsb-form textarea{width:100%;border:1px solid #d9d0c8;border-radius:10px;padding:12px 13px;background:#fff;font:inherit}
.hmsb-hp{position:absolute!important;left:-9999px!important}
.hmsb-success,.hmsb-error{max-width:760px;padding:18px;border-radius:12px;margin-bottom:18px}
.hmsb-success{background:#eef8f1;border:1px solid #cfe7d5}
.hmsb-error{background:#fff3f0;border:1px solid #f0c9c0}
.hmsb-footer{background:#25333b;color:#eef2f3}
.hmsb-footer-inner{max-width:1180px;margin:auto;padding:36px 22px;display:grid;grid-template-columns:1fr auto;gap:18px 40px;align-items:start}
.hmsb-footer p{color:#bdc8cc;margin:6px 0}
.hmsb-footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.hmsb-footer-links a{color:#eef2f3;text-decoration:none;font-size:13px}
.hmsb-operator{grid-column:1/-1;font-size:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
@media(max-width:900px){
  .hmsb-header-inner{align-items:flex-start;flex-direction:column}
  .hmsb-nav{gap:12px}
  .hmsb-hero{grid-template-columns:1fr;padding-top:48px}
  .hmsb-card-grid,.hmsb-use-grid{grid-template-columns:1fr}
  .hmsb-two-col,.hmsb-profile-box{grid-template-columns:1fr;gap:24px}
  .hmsb-placeholder-art{min-height:280px}
}
@media(max-width:600px){
  .hmsb-header{position:static}
  .hmsb-header-inner{padding:14px 16px}
  .hmsb-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hmsb-nav a{padding:8px 0}
  .hmsb-nav .hmsb-nav-cta{text-align:center}
  .hmsb-hero,.hmsb-section,.hmsb-page-hero{padding-left:16px;padding-right:16px}
  .hmsb-hero h1{font-size:40px}
  .hmsb-lead{font-size:16px}
  .hmsb-actions{flex-direction:column}
  .hmsb-btn{width:100%}
  .hmsb-footer-inner{grid-template-columns:1fr}
  .hmsb-footer-links{justify-content:flex-start}
}


/* v0.1.2: plugin-owned full-width template */
html, body.hmsb-builder-page {
  margin: 0;
  padding: 0;
  background: var(--hmsb-bg);
}
body.hmsb-builder-page {
  overflow-x: hidden;
}
body.hmsb-builder-page #wpadminbar {
  position: fixed;
}
body.hmsb-builder-page .hmsb-site {
  min-height: 100vh;
}
body.admin-bar.hmsb-builder-page .hmsb-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar.hmsb-builder-page .hmsb-header {
    top: 46px;
  }
}


/* =========================================================
   v0.1.3 content / trust / conversion
   ========================================================= */
.hmsb-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hmsb-feature{padding:24px;border-top:3px solid var(--hmsb-accent);background:#fff;border-radius:0 0 var(--hmsb-radius) var(--hmsb-radius);box-shadow:0 8px 30px rgba(65,45,32,.04)}
.hmsb-feature span{font-size:12px;font-weight:900;color:var(--hmsb-accent-dark)}
.hmsb-feature h3{font-size:20px;margin:10px 0}
.hmsb-feature p{color:var(--hmsb-muted);line-height:1.8;margin-bottom:0}

.hmsb-manga-preview{padding-top:50px}
.hmsb-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hmsb-preview-card{border:1px solid var(--hmsb-line);border-radius:var(--hmsb-radius);overflow:hidden;background:#fff}
.hmsb-preview-placeholder{aspect-ratio:4/3;background:linear-gradient(145deg,#f6dfd5,#efe8d8);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;line-height:1.4;color:var(--hmsb-accent-dark);letter-spacing:.08em}
.hmsb-preview-card>div:last-child{padding:18px}
.hmsb-preview-card span{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--hmsb-muted)}
.hmsb-preview-card h3{font-size:17px;line-height:1.6;margin:7px 0 0}

.hmsb-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hmsb-flow-grid>div{padding:22px;border:1px solid var(--hmsb-line);border-radius:16px;background:#fff}
.hmsb-flow-grid span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--hmsb-accent);color:#fff;font-weight:900;margin-bottom:14px}
.hmsb-flow-grid strong{display:block;font-size:17px;margin-bottom:8px}
.hmsb-flow-grid p{color:var(--hmsb-muted);line-height:1.75;font-size:14px;margin:0}

.hmsb-profile-teaser{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:center;padding:28px;border:1px solid var(--hmsb-line);border-radius:24px;background:#fff}
.hmsb-profile-teaser-mark{min-height:190px;border-radius:20px;background:var(--hmsb-soft);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:22px;line-height:1.5;color:var(--hmsb-green)}
.hmsb-profile-teaser p{color:var(--hmsb-muted);line-height:1.85}
.hmsb-profile-teaser a{font-weight:800;color:var(--hmsb-accent-dark);text-decoration:none}

.hmsb-info-table{max-width:850px;border-top:1px solid var(--hmsb-line)}
.hmsb-info-table>div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--hmsb-line)}
.hmsb-info-table strong{color:var(--hmsb-text)}
.hmsb-info-table span{color:var(--hmsb-muted)}
.hmsb-info-table a,.hmsb-policy a{color:var(--hmsb-accent-dark);font-weight:700}
.hmsb-policy{max-width:900px}
.hmsb-policy h2{font-size:23px;margin-top:34px}
.hmsb-policy p{color:var(--hmsb-muted);line-height:1.9}

@media(max-width:900px){
  .hmsb-feature-grid,.hmsb-preview-grid{grid-template-columns:1fr}
  .hmsb-flow-grid{grid-template-columns:1fr 1fr}
  .hmsb-profile-teaser{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hmsb-flow-grid{grid-template-columns:1fr}
  .hmsb-info-table>div{grid-template-columns:1fr;gap:6px}
}


/* =========================================================
   v0.1.4 hero illustration
   ========================================================= */
.hmsb-hero-image-wrap{
  width:100%;
  border-radius:34px;
  overflow:hidden;
  background:#f8eee7;
  box-shadow:0 20px 60px rgba(88,63,45,.08);
}
.hmsb-hero-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}


/* =========================================================
   v0.1.5 hero visual balance
   ========================================================= */
.hmsb-hero{
  grid-template-columns:1.03fr .97fr;
  gap:42px;
  padding-top:58px;
}
.hmsb-hero-image-wrap{
  border-radius:30px;
  background:#fbf6f1;
}
.hmsb-hero-image{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
@media(max-width:900px){
  .hmsb-hero{
    grid-template-columns:1fr;
    gap:30px;
  }
  .hmsb-hero-visual{
    max-width:680px;
    width:100%;
    margin:0 auto;
  }
}


/* =========================================================
   v0.1.6 hero typography polish
   ========================================================= */
.hmsb-hero-title{
  max-width:640px;
  font-size:clamp(42px,4.55vw,62px)!important;
  line-height:1.28!important;
  letter-spacing:-.035em!important;
}
.hmsb-hero-title span{
  display:block;
  white-space:nowrap;
}
.hmsb-lead{
  max-width:650px;
  font-size:17px;
  line-height:2;
}
@media(max-width:900px){
  .hmsb-hero-title{
    max-width:none;
    font-size:clamp(38px,8vw,56px)!important;
  }
}
@media(max-width:560px){
  .hmsb-hero-title span{
    white-space:normal;
  }
  .hmsb-hero-title{
    font-size:38px!important;
    line-height:1.35!important;
  }
  .hmsb-lead{
    font-size:15px;
    line-height:1.9;
  }
}


/* =========================================================
   v0.1.7 hero-to-content spacing
   ========================================================= */
.hmsb-hero{
  padding-bottom:28px;
}
.hmsb-hero + .hmsb-section{
  padding-top:46px;
}
@media(max-width:900px){
  .hmsb-hero{
    padding-bottom:20px;
  }
  .hmsb-hero + .hmsb-section{
    padding-top:38px;
  }
}
