/* Cleanik simple static site stylesheet */
:root {
  --brand: rgb(115, 161, 199);
  --brand-accent: rgb(161, 199, 255);
  --bg:#ffffff;
  --text:#1a1d21;
  --muted:#5c636a;
  --shade:#f2f5f7;
  --radius:10px;
  --gradient:linear-gradient(135deg, rgb(115,161,199), rgb(161,199,255) 55%, rgb(199,221,255));
  color-scheme:light dark;
}
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif; line-height:1.5; color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
svg { max-width:100%; height:auto; }
a { color:var(--brand); text-decoration:none; }
a:hover,a:focus { text-decoration:underline; }

.wrap { width: min(1180px,100% - 2.5rem); margin-inline:auto; }

.site-header { background:#fff; position:sticky; top:0; z-index:20; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.nav-bar { display:flex; align-items:center; gap:2rem; padding:.75rem 0; }
.logo { display:flex; align-items:center; gap:.5rem; font-size:1.25rem; font-weight:600; color:var(--text); }
.logo span { letter-spacing:.5px; }
.site-header nav ul { list-style:none; display:flex; gap:1rem; margin:0; padding:0; }
.site-header nav a { padding:.5rem .85rem; border-radius:6px; font-weight:500; }
.site-header nav a.active, .site-header nav a:hover { background:var(--shade); text-decoration:none; }
li.cta-link { margin-top:.75rem; }
@media (min-width:861px){
  .primary-nav ul { align-items:center; }
  li.cta-link { margin-top:0; }
  li.cta-link .btn.cta { margin-left:.5rem; }
}
/* Mobile nav toggle */
.nav-toggle { display:none; background:transparent; border:0; cursor:pointer; padding:.4rem; margin-left:auto; position:relative; }
.nav-toggle:focus-visible { outline:2px solid var(--brand); border-radius:6px; }
.nav-toggle .bar { display:block; width:26px; height:3px; background:var(--text); margin:5px 0; border-radius:2px; transition:.4s; }
[data-nav-open] .nav-toggle .bar:nth-child(1){ transform:translateY(8px) rotate(45deg); }
[data-nav-open] .nav-toggle .bar:nth-child(2){ opacity:0; }
[data-nav-open] .nav-toggle .bar:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

@media (max-width:860px){
  .primary-nav { position:fixed; top:0; right:0; height:100dvh; width:0; overflow:hidden; background:#fff; box-shadow:-4px 0 12px -4px rgba(0,0,0,.15); display:flex; align-items:flex-start; padding-top:5rem; transition:width .35s cubic-bezier(.65,.05,.36,1); }
  [data-nav-open] .primary-nav { width:240px; }
  .primary-nav ul { flex-direction:column; width:100%; padding:0 1.2rem; gap:.25rem; }
  .primary-nav a { display:block; width:100%; }
  .primary-nav li.cta-link { padding-top:.75rem; }
  .nav-toggle { display:inline-block; }
  .nav-bar .cta { order:3; margin-left:0; }
  body[data-lock-scroll] { overflow:hidden; }
  .site-header { position:sticky; }
}

.btn { --btn-bg:var(--shade); --btn-color:var(--text); --btn-pad:.85rem 1.1rem; --btn-radius:8px; display:inline-block; padding:var(--btn-pad); border-radius:var(--btn-radius); font-weight:600; line-height:1.1; background:var(--btn-bg); color:var(--btn-color); border:1px solid transparent; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.btn:hover { filter:brightness(1.05); text-decoration:none; }
.btn.primary { --btn-bg:rgb(115,161,199); --btn-color:#fff; box-shadow:0 4px 14px -4px rgba(115,161,199,.4); }
}
.btn.primary:hover { box-shadow:0 6px 18px -5px rgba(115,161,199,.5); }
.btn.ghost { --btn-bg:transparent; border-color:var(--brand); color:var(--brand); }
.btn.cta { background:var(--brand); color:#fff; }
.btn.lg { font-size:1.15rem; padding:1.05rem 1.5rem; }
.btn.full { width:100%; text-align:center; }

.hero { background: radial-gradient(circle at 20% 20%,#e8f2ff,#ffffff 70%); padding:clamp(2.5rem,5vw,5rem) 0 3.5rem; position:relative; overflow:hidden; }
.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(130deg,rgba(13,110,253,.07),transparent 55%); pointer-events:none; }
.hero-grid { display:grid; gap:3rem; align-items:center; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.hero-copy h1 { font-size:clamp(2.1rem,4.3vw,3.2rem); line-height:1.1; margin:.2em 0 .4em; letter-spacing:.5px; }
.lead { font-size:1.1rem; max-width:56ch; color:var(--muted); }
.hero-actions { display:flex; gap:1rem; margin:1.2rem 0 1rem; flex-wrap:wrap; }
.trust-points { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); padding:0; margin:1.5rem 0 0; gap:.5rem .75rem; font-size:.9rem; }
.trust-points li { padding:.4rem .6rem; background:#fff; border:1px solid #e3e8ec; border-radius:6px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.hero-visual { position:relative; }
.hero-visual figcaption { font-size:.7rem; text-align:center; color:var(--muted); margin-top:.5rem; }

.strip.stats { background:var(--text); color:#fff; padding:1.4rem 0; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1rem; text-align:center; }
.stats-grid strong { font-size:1.6rem; display:block; font-weight:600; }
.stats-grid span { font-size:.75rem; letter-spacing:1px; text-transform:uppercase; opacity:.85; }

.services-preview { padding:3.5rem 0 3rem; }
.services-preview h2 { text-align:center; margin-top:0; font-size:2.1rem; }
.card-grid { margin-top:2rem; display:grid; gap:1.6rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.card { background:#fff; border:1px solid #e3e8ec; padding:1.3rem 1.15rem 1.4rem; border-radius:var(--radius); box-shadow:0 3px 8px -4px rgba(0,0,0,.08); position:relative; overflow:hidden; }
.card img { width:52px; height:52px; }
.card h3 { margin:.9rem 0 .5rem; font-size:1.05rem; }
.card p { font-size:.9rem; margin:0; color:var(--muted); }
.center { text-align:center; }
.mt { margin-top:2rem; }

.process { background:var(--shade); padding:3.2rem 0; }
.process h2 { text-align:center; margin-top:0; font-size:2rem; }
.process-steps { list-style:none; counter-reset:step; display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); padding:0; margin:2rem 0 0; }
.process-steps li { background:#fff; border:1px solid #e3e8ec; padding:1.2rem 1rem 1.3rem; border-radius:var(--radius); position:relative; box-shadow:0 2px 4px -2px rgba(0,0,0,.06); }
.process-steps .step { font-size:.75rem; font-weight:600; letter-spacing:1px; display:inline-block; background:var(--brand); color:#fff; padding:.35rem .55rem; border-radius:20px; margin-bottom:.65rem; }
.process-steps h3 { margin:.1rem 0 .35rem; font-size:1rem; }
.process-steps p { margin:0; font-size:.85rem; color:var(--muted); }

.cta-banner { background:var(--gradient); color:#fff; text-align:center; padding:3.3rem 0 3.6rem; }
.cta-banner h2 { margin:0 0 .7rem; font-size:2.1rem; }
.cta-banner p { margin:0 0 1.4rem; font-size:1.05rem; }

.site-footer { background:#101317; color:#dce1e6; padding:2.5rem 0 0; font-size:.9rem; }
.footer-grid { display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.footer-grid h3, .footer-grid h4 { margin:.2rem 0 .6rem; }
.footer-grid ul { list-style:none; margin:0 0 2rem 0; padding:0; display:grid; gap:.4rem; }
.footer-grid a { color:#dce1e6; }
.footer-grid a:hover { color:#fff; }
.legal { border-top:1px solid #27313b; margin-top:2.2rem; padding:.9rem 0 1.2rem; display:flex; flex-direction:column; gap:.4rem; font-size:.75rem; opacity:.8; }
.small { font-size:.65rem; }
.socials { display:flex; gap:.5rem; }
.social { background:#1c232b; padding:.45rem .7rem; border-radius:6px; font-size:.7rem; }
.social:hover { background:#24303a; text-decoration:none; }

/* Sub pages */
body.sub .content { padding:2.2rem 0 3.5rem; }
.svc-detail { padding:1.8rem 0 1.4rem; border-bottom:1px solid #e3e8ec; }
.svc-detail:last-of-type { border-bottom:none; }
.svc-detail h2 { margin:0 0 .4rem; font-size:1.4rem; }
.svc-detail p { margin:.2rem 0 1rem; max-width:68ch; }
.svc-detail ul { margin:.2rem 0 0; padding-left:1.1rem; columns:2 280px; }

/* Gallery pairs layout */
.gallery-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.gallery-pair {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.gallery-item {
  flex: 1 1 0;
  max-width: 400px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 8px -4px rgba(0,0,0,.08);
  padding: 1rem;
  text-align: center;
}
.gallery-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}
@media (max-width: 900px) {
  .gallery-pair {
    flex-direction: column;
    gap: 1rem;
  }
  .gallery-arrow {
    transform: rotate(90deg);
  }
}

/* Ensure gallery is two images per row with arrow */
/* Gallery pairs fill full width on desktop */
.gallery-grid {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin:2rem 0 0;
  width: 100%;
}
.gallery-pair {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  width: 100%;
  max-width: 100vw;
}
.gallery-item {
  flex: 1 1 0;
  max-width: none;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 8px -4px rgba(0,0,0,.08);
  padding: 1.5rem;
  text-align: center;
  border:1px solid #e3e8ec;
}
.gallery-item img {
  width: 100%;
  max-width: 700px;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}
.gallery-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}
@media (max-width: 1200px) {
  .gallery-item img {
    max-width: 100%;
  }
}
@media (max-width: 900px) {
  .gallery-pair {
    flex-direction: column;
    gap: 1rem;
  }
  .gallery-arrow {
    transform: rotate(90deg);
  }
  .gallery-item img {
    max-width: 100%;
  }
}
.gallery-item figcaption {
  margin:.5rem 0 0;
  font-size:.75rem;
  color:var(--muted);
}
.gallery-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}
@media (max-width: 900px) {
  .gallery-pair {
    flex-direction: column;
    gap: 1rem;
  }
  .gallery-arrow {
    transform: rotate(90deg);
  }
}

.contact-grid { display:grid; gap:2.8rem; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); margin:2.2rem 0 0; }
.contact-form { background:#fff; border:1px solid #e3e8ec; padding:1.5rem 1.4rem 2rem; border-radius:var(--radius); box-shadow:0 4px 8px -4px rgba(0,0,0,.07); }
.field { margin-bottom:1.15rem; }
.field.half { width:100%; }
label { display:block; font-weight:500; font-size:.85rem; margin:0 0 .35rem; letter-spacing:.5px; text-transform:uppercase; color:#444; }
input[type=text],input[type=email],input[type=tel],select,textarea { width:100%; padding:.75rem .85rem; border:1px solid #ced8e0; border-radius:7px; font:inherit; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.03) inset; }
input:focus,select:focus,textarea:focus { outline:2px solid var(--brand-accent); outline-offset:2px; }
textarea { resize:vertical; }
.inline { display:flex; gap:.6rem; align-items:flex-start; font-size:.75rem; text-transform:none; font-weight:400; letter-spacing:0; color:#333; }
.error { color:#d63939; font-size:.65rem; display:block; margin-top:.25rem; min-height:.9em; }
.form-status { font-size:.8rem; margin-top:1rem; }
.form-status.ok { color:#11772d; }
.form-status.fail { color:#b11b1b; }
.contact-info h2 { margin:0 0 .6rem; font-size:1.4rem; }
.contact-info h3 { margin:1.4rem 0 .4rem; font-size:1rem; }

/* Utilities */
.nav-bar .cta { margin-left:auto; }
.cta-inline { margin:3rem 0 0; background:var(--shade); padding:1.6rem 1.3rem; border-radius:var(--radius); display:flex; flex-wrap:wrap; gap:1.3rem; align-items:center; justify-content:space-between; }
.cta-inline p { margin:0; max-width:52ch; }

/* Responsive tweaks */
@media (max-width:760px){
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .nav-bar { gap:.75rem; }
  .nav-bar nav ul { gap:.25rem; }
  .cta-inline { flex-direction:column; align-items:flex-start; }
  .process-steps { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
}

/* Dark mode (auto) */
@media (prefers-color-scheme:dark){
  :root { --bg:#0e1114; --text:#e8ecef; --muted:#97a2ad; --shade:#182026; }
  .site-header { background:#13181d; box-shadow:0 1px 4px rgba(0,0,0,.6); }
  .site-header nav a.active, .site-header nav a:hover { background:#1d252b; }
  @media (max-width:860px){
    .primary-nav { background:#13181d; box-shadow:-4px 0 12px -4px rgba(0,0,0,.55); }
  }
  .card, .contact-form, .gallery-item, .process-steps li { background:#161d23; border-color:#27313b; }
  input[type=text],input[type=email],input[type=tel],select,textarea { background:#10171d; border-color:#2b3945; color:var(--text); }
  label { color:#b9c3cc; }
  .trust-points li { background:#161d23; border-color:#27313b; }
  .svc-detail { border-color:#27313b; }
  .cta-inline { background:#161d23; }
  .process { background:#131a20; }
  .strip.stats { background:#0b1014; }
}
