/* helloMachine / Wakai Corporation – shared policy styles */

/* Base theme variables (Green default) */
:root{
  --primary:#059669;--primary-dark:#047857;--primary-light:#10b981;--secondary:#34d399;--accent:#6ee7b7;
  --dark:#0f172a;--dark-alt:#1e293b;--light:#f0fdf4;--gray:#475569;--gray-light:#94a3b8;--white:#fff;
  --green-gradient:linear-gradient(135deg,#059669 0%,#10b981 50%,#34d399 100%);
  --dark-gradient:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  --shadow:0 10px 25px rgba(5,150,105,.15);--shadow-lg:0 25px 50px rgba(5,150,105,.25)
}

/* Theme variants (optional, kept for consistency with main site) */
:root[data-theme="copper"]{
  --primary:#B87333;--primary-dark:#8A5525;--primary-light:#C8853E;--secondary:#DE9959;--accent:#FFD29D;
  --dark:#0B0F14;--dark-alt:#12161C;--light:#0E1318;--white:#fff;--gray:#A8B1C0;--gray-light:#CBD5E1;
  --green-gradient:linear-gradient(135deg,#B87333 0%,#DE9959 50%,#FFB77A 100%);
  --dark-gradient:linear-gradient(135deg,#0B0F14 0%,#12161C 100%);
  --shadow:0 10px 25px rgba(184,115,51,.18);--shadow-lg:0 25px 50px rgba(184,115,51,.28)
}
:root[data-theme="mocha"]{
  --primary:#7A4E2D;--primary-dark:#5E3B22;--primary-light:#9C6B47;--secondary:#C69C7B;--accent:#E7C9B1;
  --dark:#1F1A17;--dark-alt:#2A2620;--light:#F7F1EC;--white:#fff;--gray:#6B6057;--gray-light:#A4978E;
  --green-gradient:linear-gradient(135deg,#7A4E2D 0%,#9C6B47 50%,#C69C7B 100%);
  --dark-gradient:linear-gradient(135deg,#1F1A17 0%,#2A2620 100%);
  --shadow:0 10px 25px rgba(122,78,45,.15);--shadow-lg:0 25px 50px rgba(122,78,45,.25)
}

/* Reset-ish */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  line-height:1.65;color:var(--dark);background:#fff
}
a{color:var(--primary);text-decoration:none}
a:hover{opacity:.9}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}
header{background:var(--white);border-bottom:1px solid rgba(15,23,42,.06);position:sticky;top:0;z-index:10}
.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}
.logo{font-weight:800;color:var(--dark);text-decoration:none;font-size:1.2rem}
nav a{margin-left:1.25rem;text-decoration:none;color:var(--dark);font-weight:600;position:relative}
nav a:hover{color:var(--primary)}
.cta{background:var(--green-gradient);color:#fff;padding:.55rem .9rem;border-radius:8px;text-decoration:none}

/* Hero */
.page-hero{background:var(--green-gradient);color:#fff;padding:88px 0 58px;text-align:center}
.page-hero h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;margin-bottom:.35rem}
.page-hero p{opacity:.9;font-size:1rem}

/* Legal content wrapper */
.legal{
  background:var(--white);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow);
  border-radius:14px;
  padding:2rem;
  margin:-40px auto 3rem;
  max-width:900px
}
.legal h2{font-size:1.25rem;margin:1.75rem 0 .6rem}
.legal h3{font-size:1.05rem;margin:1.25rem 0 .25rem}
.legal p{color:var(--gray);margin:.6rem 0}
.legal ul{padding-left:1.2rem;margin:.4rem 0}
.legal li{color:var(--gray);margin:.35rem 0}
code{background:var(--light);padding:.1rem .3rem;border-radius:4px}

/* Badges / notes / blocks */
.badge,.updated{
  display:inline-block;background:rgba(5,150,105,.1);color:#047857;
  border:1px solid rgba(5,150,105,.2);padding:.25rem .5rem;border-radius:6px;
  font-weight:700;font-size:.8rem
}
.block{background:var(--light);border:1px solid rgba(15,23,42,.08);padding:1rem;border-radius:10px}
.note{font-size:.95rem;color:var(--gray)}
pre{overflow:auto}

/* Contact section (shared on each page) */
#contact{
  background:var(--light);
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:1.25rem 1.25rem 1rem;
  margin:-20px auto 2.5rem;
  max-width:900px
}
#contact h2{font-size:1.2rem;margin-bottom:.2rem}
#contact h3{font-size:1rem;margin:.9rem 0 .2rem}

/* Footer */
footer{background:var(--dark-gradient);color:#fff;padding:2.25rem 0 2rem;margin-top:2rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
footer a{color:rgba(255,255,255,.9);text-decoration:none;background:rgba(255,255,255,.1);padding:4px 8px;border-radius:6px;font-size:.9rem}
footer a:hover{background:var(--green-gradient);color:#fff}
footer .fine{border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;opacity:.75}

/* Responsive */
@media (max-width:680px){
  nav a{margin-left:.9rem}
  .legal{padding:1.25rem}
  #contact{margin:0 auto 2rem}
}

