@font-face{font-family:'Lato';font-weight:900;src:url('fonts/lato-v14-latin-900.woff2') format('woff2');}
@font-face{font-family:'Lato';font-weight:700;src:url('fonts/lato-v14-latin-700.woff2') format('woff2');}
@font-face{font-family:'Lato';font-weight:400;src:url('fonts/lato-v14-latin-regular.woff2') format('woff2');}
@font-face{font-family:'Merriweather';font-weight:400;src:url('fonts/merriweather-v19-latin-regular.woff2') format('woff2');}

:root{
  --bg:#0d0d10;
  --bg-raised:#141419;
  --line:rgba(255,255,255,.08);
  --text:#e9e8ea;
  --text-dim:#a5a3ab;
  --web:#c98bd6;
  --api:#7fd6c0;
  --cloud:#e7c368;
  --accent:var(--api);
  --accent-tint:#0d0d10;
}
body.page-about{--accent:#9ecb7c;}
body.page-services{--accent:#e7c368;}
body.page-testimonials{--accent:#ff8f8b;}

*{box-sizing:border-box;margin:0;padding:0;}
html{background:var(--bg);}
body{
  font-family:'Merriweather',Georgia,serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:17px;
}
h1,h2,h3,h4,.nav a,.logo-word,.btn,.eyebrow{font-family:'Lato',sans-serif;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{width:92%;max-width:1180px;margin:0 auto;}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(13,13,16,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.logo-mark{width:52px;height:52px;flex:none;}
.logo-mark .fill{fill:var(--accent);}
.logo-mark .logo-detail{fill:var(--bg);}
.logo-word{font-weight:900;letter-spacing:3px;font-size:17px;text-transform:uppercase;}
nav ul{list-style:none;display:flex;gap:28px;}
nav a{font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;color:var(--text-dim);transition:color .15s;}
nav a:hover,nav a.current{color:var(--text);}
.nav-toggle{display:none;}
@media (max-width:760px){
  nav ul{position:fixed;inset:64px 0 0 0;background:var(--bg);flex-direction:column;gap:0;padding:8px 6%;transform:translateY(-8px);opacity:0;pointer-events:none;transition:all .2s;}
  nav ul li{border-bottom:1px solid var(--line);}
  nav a{display:block;padding:18px 0;}
  .nav-toggle{display:block;background:none;border:0;color:var(--text);width:28px;height:22px;position:relative;cursor:pointer;}
  .nav-toggle span,.nav-toggle:before,.nav-toggle:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--text);}
  .nav-toggle:before{top:0;} .nav-toggle span{top:10px;} .nav-toggle:after{bottom:0;}
  #nav-check:checked ~ nav ul{transform:translateY(0);opacity:1;pointer-events:auto;}
}
#nav-check{display:none;}

/* hero (homepage) */
.hero{padding:100px 0 90px;border-bottom:1px solid var(--line);}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:22px;display:inline-block;}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.15;font-weight:900;max-width:920px;letter-spacing:-.5px;margin-bottom:26px;}
.hero p.lede{font-size:19px;color:var(--text-dim);max-width:640px;margin-bottom:38px;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;padding:16px 26px;border-radius:2px;transition:all .15s;}
.btn-primary{background:var(--accent);color:#0d0d10;}
.btn-primary:hover{opacity:.85;}
.btn-ghost{border:1px solid var(--line);color:var(--text);}
.btn-ghost:hover{border-color:var(--text-dim);}

/* simple page hero (about / services / testimonials) */
.page-hero{padding:70px 0 50px;border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(28px,4.4vw,42px);font-weight:900;letter-spacing:-.5px;margin-bottom:20px;}
.page-hero p.lede{font-size:19px;color:var(--text-dim);max-width:680px;}

/* trust strip */
.trust{padding:26px 0;border-bottom:1px solid var(--line);}
.trust .wrap{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:space-between;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim);letter-spacing:.5px;}
.trust-item strong{color:var(--text);}
.trust-badge{width:26px;height:26px;flex:none;transition:transform .15s;}
.trust-item a{display:inline-flex;text-decoration:none;}
.trust-item a:hover .trust-badge{transform:scale(1.12);}

/* services */
.services{padding:90px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:900;color:var(--text-dim);margin-bottom:14px;}
.section-head p{font-size:22px;font-weight:400;color:var(--text);}
.svc-grid{display:flex;flex-direction:column;gap:70px;}
.svc{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
@media (min-width:760px){.svc{grid-template-columns:1fr 1fr;gap:56px;}
  .svc.reverse .svc-media{order:2;}
  .svc.reverse .svc-copy{order:1;}}
.svc-media{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--bg-raised);}
.svc-media img{width:100%;height:auto;display:block;}
.svc .tag{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:inline-block;}
.svc-grid > .svc:nth-child(1) .tag{color:var(--web);} .svc-grid > .svc:nth-child(2) .tag{color:var(--api);} .svc-grid > .svc:nth-child(3) .tag{color:var(--cloud);}
.svc h3{font-size:24px;font-weight:900;margin-bottom:16px;line-height:1.3;}
.svc p{font-size:16px;color:var(--text-dim);line-height:1.7;}
.svc p + p{margin-top:14px;}
.svc ul{margin:0;padding:0;list-style:none;}
.svc ul li{position:relative;padding-left:22px;margin-bottom:12px;font-size:15.5px;color:var(--text-dim);line-height:1.6;}
.svc ul li:before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.7;}

/* process */
.process{padding:0 0 90px;}
.steps{display:grid;grid-template-columns:1fr;gap:30px;}
@media(min-width:700px){.steps{grid-template-columns:repeat(4,1fr);}}
.step{border-top:2px solid var(--line);padding-top:20px;}
.step .num{font-family:'Lato',sans-serif;font-weight:900;color:var(--text-dim);font-size:13px;margin-bottom:10px;}
.step h4{font-size:15px;font-weight:700;margin-bottom:8px;}
.step p{font-size:14px;color:var(--text-dim);}

/* testimonial (homepage teaser) */
.testi{padding:80px 0;background:var(--bg-raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.testi blockquote{font-size:26px;line-height:1.55;max-width:820px;font-weight:400;}
.testi cite{display:block;margin-top:24px;font-family:'Lato',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-style:normal;}
.testi-link{display:inline-block;margin-top:34px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--accent);text-decoration:none;font-family:'Lato',sans-serif;}

/* testimonials page grid */
.testi-grid{padding:70px 0 90px;}
.testi-cards{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media(min-width:700px){.testi-cards{grid-template-columns:repeat(2,1fr);}}
.testi-card{background:var(--bg);padding:38px 34px;}
.testi-card .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;margin-bottom:22px;border:1px solid var(--line);}
.testi-card blockquote{font-size:18px;line-height:1.65;font-weight:400;}
.testi-card cite{display:block;margin-top:20px;font-family:'Lato',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-style:normal;}

/* about strip (homepage teaser) */
.about-strip{padding:90px 0;}
.about-strip .inner{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
.about-strip h2{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:900;color:var(--text-dim);margin-bottom:16px;}
.about-strip p{font-size:17px;color:var(--text-dim);max-width:640px;margin-bottom:18px;}
.about-strip a{color:var(--accent);font-weight:700;text-decoration:none;font-family:'Lato',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;}

/* about page */
.about-main{padding:20px 0 90px;}
.about-grid{display:grid;grid-template-columns:1fr;gap:44px;}
.about-grid p.lede{font-size:19px;color:var(--text);margin-bottom:24px;line-height:1.65;}
.about-grid p{font-size:16px;color:var(--text-dim);margin-bottom:20px;line-height:1.75;}
.credentials-head{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:900;color:var(--text-dim);margin:36px 0 20px;}
.credentials{margin:0;padding:0;list-style:none;}
.credentials li{display:flex;align-items:center;gap:18px;margin-bottom:20px;}
.credentials a{display:inline-flex;flex:none;text-decoration:none;}
.credentials img{width:56px;height:56px;flex:none;transition:transform .15s;}
.credentials a:hover img{transform:scale(1.08);}
.credentials strong{display:block;font-size:16px;color:var(--text);margin-bottom:4px;}
.credentials span{font-size:15px;color:var(--text-dim);line-height:1.6;}
.principles{margin:28px 0 30px;list-style:none;}
.principles li{position:relative;padding-left:26px;margin-bottom:16px;font-size:16px;color:var(--text-dim);line-height:1.6;}
.principles li:before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--accent);}
.about-grid a.inline-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}

/* footer / contact */
footer{padding:80px 0 50px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:44px;margin-bottom:50px;}
@media(min-width:700px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}}
footer h5{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--text-dim);margin-bottom:16px;}
footer address{font-style:normal;font-size:15px;color:var(--text-dim);line-height:1.9;}
footer a.contact-link{font-size:16px;color:var(--accent);text-decoration:none;}
.socials{display:flex;gap:16px;margin-top:18px;}
.socials a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;color:var(--text-dim);transition:.15s;}
.socials a:hover{border-color:var(--accent);color:var(--accent);}
.foot-bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;padding-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--text-dim);}
