/* v11: light summer theme, mobile-first */
:root{
  --bg:#f9fbff; --text:#0f1a2a; --muted:#657089; --card:#ffffff; --border:#e6ecf7;
  --accent:#0e7f65; --accent2:#ffd24a; --brand:#1b3a63;
}
*{box-sizing:border-box}
html,body{margin:0; background:var(--bg); color:var(--text); max-width:100%; overflow-x:hidden; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:#1857c2; text-decoration:none}
a:hover{text-decoration:underline}
.skip{position:absolute; left:-9999px; top:auto}
.skip:focus{left:12px; top:12px; background:#fff; color:#000; padding:8px 10px; border-radius:8px}
.topbar{position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:rgba(255,255,255,.95); border-bottom:1px solid var(--border); backdrop-filter:saturate(120%) blur(6px)}
.brand{display:flex; align-items:center; gap:10px; min-width:0}
.logo{filter: drop-shadow(0 2px 8px rgba(14,127,101,.2))}
.brand-text .title{font-weight:800; font-size:18px}
.brand-text .tagline{display:block; font-size:12px; color:var(--muted)}
.primary-cta{display:flex; align-items:center; gap:8px}
.btn{display:inline-block; background:#123d71; color:#fff; padding:9px 12px; border-radius:12px; font-weight:700}
.btn.alt{background:#1857c2}
.btn.book{background:#0e7f65}
.nav-toggle{display:none; background:#f0f5ff; color:#18314f; border:1px solid var(--border); border-radius:10px; padding:8px 10px}

.subnav{position:sticky; top:52px; z-index:15; display:flex; gap:8px; overflow:auto; padding:10px 14px; background:#fff; border-bottom:1px solid var(--border)}
.subnav a{white-space:nowrap; background:#f4f8ff; border:1px solid var(--border); border-radius:999px; padding:8px 12px; font-weight:700; color:#18314f}
.subnav a.active{background:#e6f3ff}

.section{padding:22px 16px; max-width:1100px; margin:0 auto}
.card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; box-shadow:0 8px 20px rgba(17,44,89,.05); margin-bottom:16px}
.hero h1{margin:0 0 6px 0}
.lead{font-size:15px; color:var(--muted); margin-top:0}
.proof{display:flex; gap:14px; padding:0; margin:12px 0 0 0; list-style:none}
.proof li{font-size:14px; color:var(--muted)}

.grid{display:grid; gap:16px}
.grid.two{grid-template-columns:1fr 1fr}
@media(max-width:980px){.grid.two{grid-template-columns:1fr}}
.gallery.one img{width:100%; height:auto; border-radius:12px; border:1px solid var(--border); display:block}

.bullets{margin:0 0 0 18px}
.bullets li{margin:8px 0}
.bullets.tight li{margin:6px 0}

.inputs{display:grid; gap:12px}
.inputs.stacked{grid-template-columns:1fr}
.inputs label{display:flex; flex-direction:column; gap:6px; background:#f8fbff; border:1px solid var(--border); border-radius:12px; padding:10px}
.inputs input{padding:12px; border:1px solid #d7e4ff; border-radius:10px; font:inherit}
.kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.kpis.tightkpi{grid-template-columns:1fr 1fr}
.kpi{display:block; font-weight:800; font-size:20px; color:var(--brand)}
.kpl{display:block; color:var(--muted); font-size:12px}
@media(max-width:768px){ .kpis{grid-template-columns:1fr 1fr} }

.timeline{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.phase{background:#f8fbff; border:1px solid var(--border); border-radius:12px; padding:12px}
@media(max-width:980px){.timeline{grid-template-columns:1fr}}

.table-wrap{overflow:auto; border:1px solid var(--border); border-radius:12px}
table.data{width:100%; border-collapse:collapse; min-width:700px}
table.data th, table.data td{padding:10px 12px; border-bottom:1px solid var(--border); text-align:left}
table.data thead th{background:#f3f8ff}

.team{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.member{display:flex; gap:12px; align-items:center}
.member img{width:60px; height:60px; border-radius:50%; border:2px solid #e9f4ff}

.footer{display:flex; justify-content:space-between; padding:16px; color:var(--muted); border-top:1px solid var(--border)}
.muted{color:var(--muted)} .tiny{font-size:12px}
.foot{font-size:12px; color:var(--muted); margin:8px 0 0}

/* v11.4.5d helpers */
.toggle{display:flex; gap:10px; flex-wrap:wrap; margin:8px 0}
.toggle label,.toggle span{display:flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--border); border-radius:999px; background:#f8fbff; font-weight:600}
.steps{display:grid; gap:8px; margin:6px 0}
.pillrow{display:flex; gap:10px; flex-wrap:wrap; margin:8px 0}
.pill{background:#f2f7ff; border:1px solid var(--border); border-radius:999px; padding:6px 10px; font-weight:600}
/* prevent mobile horizontal overflow */
html, body { overflow-x:hidden; }
.card .pillrow, .inputs, .kpis { max-width:100%; }
img, canvas { max-width:100%; height:auto; }
