:root{
  --bg:#f6fbff;
  --paper:#ffffff;
  --navy:#07152a;
  --navy2:#0a1d38;
  --blue:#008fc7;
  --cyan:#00b6e6;
  --text:#102033;
  --muted:#475569;
  --line:#c8dff2;
  --soft:#eaf6ff;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f6fbff 0%,#ffffff 45%,#eef7ff 100%);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{color:#006f9e;text-decoration:none}
.wrap{max-width:1180px;margin:auto;padding:0 24px}
.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(7,21,42,.06)}
.navin{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand img{height:54px;max-width:260px}
.menu a{color:#102033;margin-left:16px;font-weight:800;font-size:14px}
.hero{padding:70px 0 48px}
.badge{display:inline-block;border:1px solid #8bd8f5;background:#e8f8ff;padding:9px 14px;border-radius:999px;color:#075985;font-weight:800}
h1{font-size:56px;line-height:1.03;margin:24px 0 18px;color:var(--navy)}
h2{font-size:34px;margin:22px 0 12px;color:var(--navy)}
h3{margin:0 0 10px;font-size:22px;color:var(--navy)}
p{font-size:18px;line-height:1.65;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 18px 50px rgba(7,21,42,.08)}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-block;background:linear-gradient(90deg,#008fc7,#00b6e6);color:#fff;font-weight:900;padding:14px 20px;border-radius:12px;box-shadow:0 12px 28px rgba(0,143,199,.22)}
.btn2{border:1px solid #008fc7;color:#075985;background:#fff;padding:13px 19px;border-radius:12px;font-weight:900}
.section{padding:50px 0}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.stat{font-size:34px;font-weight:900;color:#07152a}
.small{font-size:14px;color:#64748b}
input,textarea,select{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#102033;margin:8px 0 14px}
button{border:0;border-radius:12px;padding:14px 20px;background:linear-gradient(90deg,#008fc7,#00b6e6);font-weight:900;color:#fff;cursor:pointer}
.footer{border-top:1px solid var(--line);margin-top:50px;padding:30px 0;color:#64748b;background:#fff}
.footer a{margin-right:16px}
.diagram{background:#ffffff;color:#102033;border:1px solid var(--line);border-radius:24px;padding:28px;margin:28px 0;box-shadow:0 18px 50px rgba(7,21,42,.07)}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:20px}
.step{background:#f6fbff;border:1px solid #c8dff2;border-radius:18px;padding:18px;position:relative}
.step b{display:block;color:#07152a;margin-bottom:8px}
.arrow-note{font-size:14px;color:#64748b;margin-top:12px}
.orgchart{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.orgbox{border:2px solid #c8dff2;border-radius:20px;background:#f8fcff;padding:22px}
.orgbox strong{display:block;color:#07152a;font-size:22px;margin-bottom:10px}
.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:18px}
.pipe{background:#07152a;color:#e8f6ff;border-radius:18px;padding:18px;text-align:center;font-weight:800}
.pipe span{display:block;color:#9eeaff;font-size:13px;font-weight:700;margin-top:6px}
@media print{
  body{background:#fff!important;color:#000!important}
  .nav,.footer,.cta{display:none!important}
  .card,.diagram,.step,.orgbox{background:#fff!important;color:#000!important;box-shadow:none!important;border:1px solid #999!important}
  p,h1,h2,h3,a,strong{color:#000!important}
}
@media(max-width:760px){
  h1{font-size:38px}.split,.orgchart{grid-template-columns:1fr}.menu{margin-top:10px}.navin{display:block}.menu a{display:inline-block;margin:8px 12px 0 0}.brand img{height:44px}
}

.website-diagram-image{
  width:100%;
  height:auto;
  border:1px solid #c8dff2;
  border-radius:22px;
  box-shadow:0 18px 50px rgba(7,21,42,.08);
  background:#fff;
  margin:18px 0 28px;
}
.download-links a{
  display:inline-block;
  margin:6px 10px 6px 0;
  padding:10px 14px;
  border-radius:10px;
  background:#e8f8ff;
  border:1px solid #b8e5f7;
  color:#075985;
  font-weight:800;
}

/* diagram display fix */
.diagram-wrap{
  max-width:980px;
  margin:34px auto;
}
.website-diagram-image{
  display:block;
  width:100%;
  max-width:980px;
  height:auto;
  margin:0 auto 28px auto;
  border:1px solid #c8dff2;
  border-radius:22px;
  box-shadow:0 18px 50px rgba(7,21,42,.08);
  background:#fff;
}

/* WRL hero + diagram polish */
.hero-visual-card{
  background:#ffffff;
  border:1px solid #c8dff2;
  border-radius:28px;
  box-shadow:0 20px 60px rgba(7,21,42,.10);
  padding:18px;
}
.hero-visual-card img{
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
}
.diagram-wrap{
  max-width:1120px;
  margin:34px auto;
}
.website-diagram-image{
  display:block;
  width:100%;
  max-width:1120px;
  height:auto;
  margin:0 auto 28px auto;
  border:1px solid #c8dff2;
  border-radius:22px;
  box-shadow:0 18px 50px rgba(7,21,42,.08);
  background:#fff;
}
@media(max-width:760px){
  .hero-visual-card{padding:10px}
  .diagram-wrap{margin:22px auto}
}

/* final diagram readability fix */
.diagram-wrap{
  max-width:1180px !important;
}
.website-diagram-image{
  max-width:1180px !important;
  width:100% !important;
  height:auto !important;
}

.contact-form{
display:flex;
flex-direction:column;
gap:14px;
margin-top:30px;
}

.contact-form input,
.contact-form textarea,
.contact-form select{
padding:14px;
border-radius:12px;
border:1px solid #c8dff2;
font-size:16px;
background:#fff;
}

.contact-form label{
font-weight:700;
color:#07152a;
}

.contact-form button{
margin-top:12px;
}
