:root{
  --paper:#f7f6f2;
  --surface:#ffffff;
  --ink:#15191d;
  --muted:#4e5a64;
  --line:#d8dee3;
  --blue:#0b5fd7;
  --blue-dark:#0849a6;
  --blue-soft:#eaf2ff;
  --human:#252b30;
  --ai:#0b5fd7;
  --max:1120px;
  --radius:18px;
  --shadow:0 18px 45px rgba(19,30,43,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.62;
}
a{color:var(--blue)}
a:hover{color:var(--blue-dark)}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:99;border-radius:.5rem}
.preview{
  background:var(--ink);color:#fff;text-align:center;padding:.45rem 1rem;
  font-size:.82rem;letter-spacing:.04em
}
.site-header{
  position:sticky;top:0;z-index:20;background:rgba(247,246,242,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)
}
.nav{
  max-width:var(--max);margin:auto;padding:.9rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.brand{font-weight:900;letter-spacing:-.03em;color:var(--ink);text-decoration:none;font-size:1.08rem}
.navlinks{display:flex;gap:1.15rem;align-items:center;flex-wrap:wrap}
.navlinks a{text-decoration:none;color:#34404a;font-weight:700;font-size:.92rem}
.navlinks a.cta{background:var(--blue);color:#fff;padding:.58rem .82rem;border-radius:.55rem}
main{max-width:var(--max);margin:auto;padding:0 1.25rem}
.hero{padding:4.8rem 0 3.8rem}
.eyebrow{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;
  font-weight:900;color:var(--blue);margin-bottom:.85rem
}
h1,h2,h3{letter-spacing:-.035em;line-height:1.08;margin-top:0}
h1{font-size:clamp(2.5rem,5.8vw,4.65rem);max-width:900px;margin-bottom:1.25rem}
h2{font-size:clamp(1.75rem,3.2vw,2.65rem);margin-bottom:1rem}
h3{font-size:1.35rem;margin-bottom:.55rem}
.lede{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:800px;color:var(--muted)}
.hero .lede{font-size:clamp(1.08rem,1.8vw,1.38rem)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.btn{
  display:inline-block;text-decoration:none;font-weight:850;padding:.85rem 1.05rem;
  border-radius:.65rem;border:1px solid var(--line)
}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.primary:hover{background:var(--blue-dark);color:#fff}
.btn.secondary{background:transparent;color:var(--ink)}
section{padding:3.6rem 0;border-top:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.55rem;box-shadow:var(--shadow)
}
.card p:last-child{margin-bottom:0}
.label{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--muted)}
.bigline{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:850;line-height:1.25;letter-spacing:-.03em}
.callout{
 background:#f3faf5;color:var(--ink);border:1px solid rgba(120,201,143,.48);
 border-radius:var(--radius);padding:2rem;box-shadow:0 14px 34px rgba(19,30,43,.06);
}
.callout p{color:#34473a}
.callout a:not(.btn){color:var(--blue-dark)}
.callout.dark{
 background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none;
}
.callout.dark p{color:#dfe5ea}
.callout.dark a{color:#fff}

.human{border-top:5px solid var(--human)}
.ai{border-top:5px solid var(--ai)}
.muted{color:var(--muted)}
.pill{
  display:inline-block;background:var(--blue-soft);color:#08438d;
  font-weight:800;font-size:.78rem;padding:.35rem .55rem;border-radius:999px;margin:.18rem .18rem .18rem 0
}
.stack{display:grid;gap:1rem}
.rule{
  font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:850;line-height:1.3;
  border-left:5px solid var(--blue);padding-left:1.2rem;max-width:900px
}
footer{background:#11161a;color:#fff;margin-top:5rem}
.foot{max-width:var(--max);margin:auto;padding:2.6rem 1.25rem;display:grid;gap:.5rem}
.foot a{color:#fff}
.kicker{font-weight:900}
ul.clean{padding-left:1.2rem}
ul.clean li{margin:.5rem 0}
@media(max-width:800px){
  .hero{padding:3.8rem 0 3rem}
  section{padding:3rem 0}
  .grid,.grid.two{grid-template-columns:1fr}
  .nav{align-items:flex-start}
  .navlinks{justify-content:flex-end;gap:.65rem}
  .navlinks a{font-size:.84rem}
}
@media(max-width:620px){
  .nav{display:grid;padding:.75rem 1rem;gap:.55rem}
  .brand{font-size:1rem}
  .navlinks{width:100%;justify-content:flex-start;gap:.35rem .75rem}
  .navlinks a{font-size:.8rem}
  .navlinks a.cta{padding:.42rem .62rem}
  main{padding:0 1rem}
  .hero{padding:3rem 0 2.5rem}
  h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:1.04}
  h2{font-size:clamp(1.7rem,8vw,2.25rem)}
  .card{padding:1.25rem}
  .callout{padding:1.45rem}
  .actions{gap:.55rem}
  .btn{width:100%;text-align:center}
}

/* Grav shell refinements */
.navlinks a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:.25rem}
main > section:first-child{border-top:0}

/* HALbot Contact form usability */
.contact-form{
 max-width:860px;
 scroll-margin-top:7rem;
}
.contact-form .form-required-note{
 margin:0 0 1.15rem;
 color:var(--muted);
 font-size:.95rem;
}
.contact-form .form-required-note strong{
 color:var(--blue);
}
.contact-form form{
 width:100%;
}
.contact-form input[name="data[name]"],
.contact-form input[name="data[email]"],
.contact-form textarea[name="data[message]"]{
 width:100%;
 max-width:100%;
 border:1px solid #b8c1c9;
 border-radius:.65rem;
 background:var(--surface);
 color:var(--ink);
 font:inherit;
 font-size:1.05rem;
 line-height:1.45;
 padding:.85rem .95rem;
}
.contact-form input[name="data[name]"],
.contact-form input[name="data[email]"]{
 min-height:3.25rem;
}
.contact-form textarea[name="data[message]"]{
 min-height:15rem;
 resize:vertical;
}
.contact-form input[name="data[name]"]:focus,
.contact-form input[name="data[email]"]:focus,
.contact-form textarea[name="data[message]"]:focus{
 outline:3px solid rgba(11,95,215,.18);
 outline-offset:1px;
 border-color:var(--blue);
}

/* HALbot Project homepage launch styles — scoped */
.home-page { --home-green:#78c98f; --home-green-soft:rgba(120,201,143,.13); --home-green-border:rgba(120,201,143,.42); }
.home-page p { font-size:.98rem; line-height:1.62; }
.home-page .lede { font-size:1.08rem; line-height:1.55; }
.home-page .eyebrow { color:var(--home-green); font-size:.84rem; }
.home-page .home-hero h1 { font-size:clamp(2.45rem,5vw,4rem); line-height:1.02; margin-bottom:.4rem; }
.home-page .home-kicker { font-size:clamp(1.45rem,2.7vw,2.15rem); line-height:1.16; font-weight:700; margin:.25rem 0 1rem; }
.home-page h2 { font-size:clamp(1.55rem,3vw,2.25rem); line-height:1.16; }
.home-page h3 { font-size:1.12rem; line-height:1.28; }
.home-page .launch-callout { background:linear-gradient(135deg,rgba(120,201,143,.20),rgba(120,201,143,.08)); border-color:var(--home-green-border); }
.home-page .launch-callout .eyebrow { color:#9ee0b0; }
.home-page .case-study-card { border-color:var(--home-green-border); }
.home-page .case-study-card h3 a { text-decoration:none; }
.home-page .case-study-card h3 a:hover { text-decoration:underline; }
@media (max-width:720px) { .home-page p{font-size:.96rem;} .home-page .lede{font-size:1.02rem;} }

/* HALbot Project homepage callout color refinement */
.home-page .callout {
  background:#f3faf5;
  color:var(--ink);
  border:1px solid var(--home-green-border);
  box-shadow:0 14px 34px rgba(44,83,57,.08);
}
.home-page .callout p { color:#34473a; }
.home-page .callout .eyebrow { color:#4d9a64; }
.home-page .callout a:not(.btn) { color:var(--blue-dark); }
.home-page .launch-callout {
  background:linear-gradient(135deg,#eaf7ee 0%,#f7fbf8 100%);
  border-color:rgba(88,173,112,.55);
}
.home-page .launch-callout .eyebrow { color:#3f8d57; }

/* HALWorld trust/history callout — light treatment */
.halworld-trust-callout {
  background:linear-gradient(135deg,rgba(120,201,143,.16),rgba(255,255,255,.92));
  color:var(--ink);
  border:1px solid rgba(120,201,143,.48);
  box-shadow:0 14px 34px rgba(19,30,43,.06);
}
.halworld-trust-callout p { color:var(--ink); }
.halworld-trust-callout .bigline { color:#183d25; }
.halworld-trust-callout a { color:var(--blue); }

