@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

:root{
  --paper:#F5F7F3;
  --paper-deep:#EAEFE6;
  --ink:#28332F;
  --ink-soft:#5E6E67;
  --jade:#4F7A6C;
  --jade-deep:#365B4F;
  --sand:#C9A66B;
  --line:#D9E1D8;
  --alert-bg:#28332F;
  --alert-text:#EFF4EE;
  --radius:10px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Zen Kaku Gothic New', -apple-system, sans-serif;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{
  font-family:'Zen Old Mincho', serif;
  color:var(--jade-deep);
  line-height:1.55;
}
a{color:var(--jade-deep);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--jade);}
img{max-width:100%;display:block;}

/* disclaimer */
.disclaimer-bar{
  background:var(--alert-bg);
  color:var(--alert-text);
  padding:14px 20px;
  text-align:center;
  font-size:.9rem;
  line-height:1.7;
}
.disclaimer-bar strong{color:#fff;border-bottom:1px solid rgba(255,255,255,.45);}

/* header */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);padding:24px 6vw 20px;}
.header-inner{max-width:1100px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.brand{font-family:'Zen Old Mincho',serif;font-size:1.55rem;font-weight:700;color:var(--jade-deep);text-decoration:none;}
.brand span{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-size:.66rem;color:var(--ink-soft);font-weight:400;letter-spacing:.06em;margin-top:3px;}
nav.main-nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;flex-wrap:wrap;}
nav.main-nav a{color:var(--ink);text-decoration:none;font-size:.94rem;padding-bottom:4px;border-bottom:2px solid transparent;}
nav.main-nav a:hover,nav.main-nav a.active{border-bottom-color:var(--sand);color:var(--jade-deep);}

/* layout */
main{max-width:1100px;margin:0 auto;padding:0 6vw;}
.section{padding:58px 0;border-bottom:1px solid var(--line);}
.section:last-of-type{border-bottom:none;}
.section-narrow{max-width:680px;}
.lede{font-size:1.05rem;color:var(--ink-soft);max-width:640px;}

/* hero: split layout instead of stat-row */
.hero-split{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;padding:60px 0 36px;align-items:start;}
.hero-split h1{font-size:clamp(1.85rem,3.6vw,2.65rem);margin:0 0 20px;max-width:15ch;}
.hero-split p{color:var(--ink-soft);max-width:48ch;}
.hero-panel{
  background:var(--jade-deep);
  color:#fff;
  border-radius:var(--radius);
  padding:30px 28px;
}
.hero-panel h2{color:#fff;font-size:1.1rem;margin:0 0 14px;}
.hero-panel ul{margin:0;padding-left:1.2em;color:#DCE8E1;font-size:.92rem;line-height:1.9;}

/* pull quote */
.pull-quote{
  border-left:3px solid var(--sand);
  padding:4px 0 4px 22px;
  margin:30px 0;
  font-family:'Zen Old Mincho',serif;
  font-size:1.15rem;
  color:var(--jade-deep);
}

/* feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;}
.feature-card .label{font-size:.72rem;letter-spacing:.05em;color:var(--sand);display:block;margin-bottom:8px;}
.feature-card h3{font-size:1.08rem;margin:0 0 8px;color:var(--ink);}
.feature-card p{color:var(--ink-soft);font-size:.93rem;margin:0;}

/* category rows (reviews page) — table-like instead of card-list */
.cat-row{display:grid;grid-template-columns:180px 1fr;gap:26px;padding:32px 0;border-bottom:1px solid var(--line);}
.cat-row:last-child{border-bottom:none;}
.cat-row .cat-name{font-family:'Zen Old Mincho',serif;font-size:1.2rem;color:var(--jade-deep);}
.cat-row .cat-name small{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-size:.72rem;color:var(--ink-soft);margin-top:6px;font-weight:400;}
.cat-row .cat-body p{color:var(--ink-soft);margin:0 0 10px;}
.cat-row .cat-body .voice{
  background:var(--paper-deep);
  border-radius:var(--radius);
  padding:12px 16px;
  font-size:.9rem;
  color:var(--ink);
  margin-top:10px;
}
.cat-row .cat-body .voice b{color:var(--jade-deep);font-weight:500;}

/* advantage checklist (no numbers, since not sequential) */
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:20px;}
.check-list li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  padding:20px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.check-list li .mark{color:var(--sand);font-family:'Zen Old Mincho',serif;font-size:1.3rem;}
.check-list li h3{margin:0 0 6px;font-size:1.05rem;}
.check-list li p{margin:0;color:var(--ink-soft);font-size:.93rem;}

/* faq */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-item h3{font-size:1.02rem;margin:0 0 8px;color:var(--jade-deep);}
.faq-item p{margin:0;color:var(--ink-soft);font-size:.94rem;}

/* form */
.form-wrap{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius);padding:38px;}
form.contact-form{display:grid;gap:18px;max-width:560px;}
.form-row{display:grid;gap:6px;}
.form-row label{font-size:.87rem;color:var(--ink-soft);}
.form-row input,.form-row textarea{
  font-family:inherit;font-size:1rem;padding:11px 13px;
  border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);
}
.form-row textarea{resize:vertical;min-height:130px;}
.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--jade);outline-offset:1px;}
button.submit-btn{
  justify-self:start;background:var(--jade-deep);color:#fff;border:none;
  padding:13px 34px;font-size:1rem;border-radius:6px;cursor:pointer;font-family:'Zen Kaku Gothic New',sans-serif;
}
button.submit-btn:hover{background:var(--jade);}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:4px;}
.notice{padding:14px 18px;border-radius:6px;margin-bottom:20px;font-size:.92rem;}
.notice.ok{background:#E3EEE0;color:#33513F;border:1px solid #BFDAB8;}
.notice.err{background:#F3E3E1;color:#7A3B33;border:1px solid #E3B9B2;}

/* policy */
.policy h2{font-size:1.15rem;margin-top:2em;color:var(--jade-deep);}
.policy p,.policy li{color:var(--ink-soft);}
.policy table{width:100%;border-collapse:collapse;margin:18px 0;}
.policy th,.policy td{border:1px solid var(--line);padding:10px 12px;text-align:left;font-size:.92rem;}
.policy th{background:var(--paper-deep);}

/* footer */
footer.site-footer{background:var(--jade-deep);color:#DCE8E1;padding:42px 6vw 30px;margin-top:20px;}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-links{list-style:none;display:flex;gap:22px;padding:0;margin:0 0 18px;flex-wrap:wrap;}
.footer-links a{color:#fff;font-size:.9rem;text-decoration:none;opacity:.9;}
.footer-links a:hover{opacity:1;text-decoration:underline;}
.footer-fine{font-size:.78rem;color:#B9CCC2;line-height:1.8;}

@media (max-width:860px){
  .hero-split{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .cat-row{grid-template-columns:1fr;}
  nav.main-nav ul{gap:16px;}
}
