/*
* Skeleton V1.2
* Copyright 2011, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 6/20/2012
*/


/* Table of Content
==================================================
	#Reset & Basics
	#Basic Styles
	#Site Styles
	#Typography
	#Links
	#Lists
	#Images
	#Buttons
	#Forms
	#Misc */


/* #Reset & Basics (Inspired by E. Meyers)
================================================== */
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline; }
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block; }
	body {
		line-height: 1; }
	ol, ul {
		list-style: none; }
	blockquote, q {
		quotes: none; }
	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none; }
	table {
		border-collapse: collapse;
		border-spacing: 0; }


/* #Basic Styles
================================================== */
	body {
		background: #fff;
		font: 15px/1.6 "Raleway", "HelveticaNeue-Light", Arial, sans-serif;
		color: #444;
		-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
		-moz-osx-font-smoothing: grayscale;
		-webkit-text-size-adjust: 100%;
		text-rendering: optimizeLegibility;
 }


/* #Typography
================================================== */
	h1, h2, h3, h4, h5, h6 {
		font-weight: 300; 
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
	h1 { font-size: 46px; line-height: 1.2; margin-bottom: 20px; letter-spacing: -0.02em;}
	h2 { font-size: 35px; line-height: 1.3; margin-bottom: 16px; letter-spacing: -0.01em; }
	h3 { font-size: 28px; line-height: 1.35; margin-bottom: 12px; }
	h4 { font-size: 21px; line-height: 1.4; margin-bottom: 10px; }
	h5 { font-size: 17px; line-height: 1.5; }
	h6 { font-size: 14px; line-height: 1.5; }
	.subheader { color: #777; }

	p { margin: 0 0 24px 0; line-height: 1.75; }
	p img { margin: 0; }
	p.lead { font-size: 21px; line-height: 1.6; color: #777;  }

	em { font-style: italic; }
	strong { font-weight: bold; }
	small { font-size: 80%; }

/*	Blockquotes  */
	blockquote, blockquote p { font-size: 17px; line-height: 24px; color: #777; font-style: italic; }
	blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
	blockquote cite { display: block; font-size: 12px; color: #555; }
	blockquote cite:before { content: "\2014 \0020"; }
	blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #555; }

	hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; }


/* #Links
================================================== */
	a, a:visited { text-decoration: underline; outline: 0; }
	a:hover, a:focus { }
	p a, p a:visited { line-height: inherit; }


/* #Lists
================================================== */
	ul, ol { margin-bottom: 20px; }
	ul { list-style: none outside; }
	ol { list-style: decimal; }
	ul, ul.square { list-style: square outside; }
	ul ul, ul.circle { list-style: circle outside; }
	ul ul ul, ul.disc { list-style: disc outside; }
	ul ul li, ul ol li,
	ol ol li, ol ul li { margin-bottom: 6px; }
	li { line-height: 18px; margin-bottom: 12px; }
	ul.large li { line-height: 21px; }
	li p { line-height: 21px; }

/* #Images
================================================== */

	img.scale-with-grid {
		max-width: 100%;
		height: auto; }


/* #Buttons
================================================== */

	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		background: #eee; /* Old browsers */
		background: #eee -moz-linear-gradient(top, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); /* FF3.6+ */
		background: #eee -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.2)), color-stop(100%,rgba(0,0,0,.2))); /* Chrome,Safari4+ */
		background: #eee -webkit-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Chrome10+,Safari5.1+ */
		background: #eee -o-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Opera11.10+ */
		background: #eee -ms-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* IE10+ */
		background: #eee linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* W3C */
	  border: 1px solid #aaa;
	  border-top: 1px solid #ccc;
	  border-left: 1px solid #ccc;
	  -moz-border-radius: 3px;
	  -webkit-border-radius: 3px;
	  border-radius: 3px;
	  color: #444;
	  display: inline-block;
	  font-size: 11px;
	  font-weight: bold;
	  text-decoration: none;
	  text-shadow: 0 1px rgba(255, 255, 255, .75);
	  cursor: pointer;
	  margin-bottom: 20px;
	  line-height: normal;
	  padding: 8px 10px;
	  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }

	.button:hover,
	button:hover,
	input[type="submit"]:hover,
	input[type="reset"]:hover,
	input[type="button"]:hover {
		color: #222;
		background: #ddd; /* Old browsers */
		background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */
		background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,0,.3))); /* Chrome,Safari4+ */
		background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */
		background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */
		background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */
		background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */
	  border: 1px solid #888;
	  border-top: 1px solid #aaa;
	  border-left: 1px solid #aaa; }

	.button:active,
	button:active,
	input[type="submit"]:active,
	input[type="reset"]:active,
	input[type="button"]:active {
		border: 1px solid #666;
		background: #ccc; /* Old browsers */
		background: #ccc -moz-linear-gradient(top, rgba(255,255,255,.35) 0%, rgba(10,10,10,.4) 100%); /* FF3.6+ */
		background: #ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.35)), color-stop(100%,rgba(10,10,10,.4))); /* Chrome,Safari4+ */
		background: #ccc -webkit-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Chrome10+,Safari5.1+ */
		background: #ccc -o-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Opera11.10+ */
		background: #ccc -ms-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* IE10+ */
		background: #ccc linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* W3C */ }

	.button.full-width,
	button.full-width,
	input[type="submit"].full-width,
	input[type="reset"].full-width,
	input[type="button"].full-width {
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
		text-align: center; }

	/* Fix for odd Mozilla border & padding issues */
	button::-moz-focus-inner,
	input::-moz-focus-inner {
    border: 0;
    padding: 0;
	}


/* #Forms
================================================== */

	form {
		margin-bottom: 20px; }
	fieldset {
		margin-bottom: 20px; }
	input[type="text"],
	input[type="password"],
	input[type="email"],
	textarea,
	select {
		border: 1px solid #ccc;
		padding: 6px 4px;
		outline: none;
		-moz-border-radius: 2px;
		-webkit-border-radius: 2px;
		border-radius: 2px;
		font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
		color: #777;
		margin: 0;
		width: 210px;
		max-width: 100%;
		display: block;
		margin-bottom: 20px;
		background: #fff; }
	select {
		padding: 0; }
	input[type="text"]:focus,
	input[type="password"]:focus,
	input[type="email"]:focus,
	textarea:focus {
		border: 1px solid #aaa;
 		color: #444;
 		-moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
		-webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
		box-shadow:  0 0 3px rgba(0,0,0,.2); }
	textarea {
		min-height: 60px; }
	label,
	legend {
		display: block;
		font-weight: bold;
		font-size: 13px;  }
	select {
		width: 220px; }
	input[type="checkbox"] {
		display: inline; }
	label span,
	legend span {
		font-weight: normal;
		font-size: 13px;
		color: #444; }

/* #Misc
================================================== */
	.remove-bottom { margin-bottom: 0 !important; }
	.half-bottom { margin-bottom: 10px !important; }
	.add-bottom { margin-bottom: 20px !important; }



  /* #Syntax highlighting
  ================================================== */


.highlight {
  color: #f8f8f2;
  table-layout: fixed;
  white-space: nowrap;
  width:90%;
}

.highlight pre, .highlight code { display:block; margin:0; padding:0; background: none; overflow:auto; word-wrap: normal; }

.highlight, .linenodiv {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIHWPQ1dU1BgABzQC7XXMTYQAAAABJRU5ErkJggg==);
  display:block;
  padding: 10px;
  margin-bottom:20px;
}
.gutter, .lineno { color: #ccc; }

td.gl { width: 40px; }

.gutter {
  border-right: none;
  padding: 10px;
  text-align: right;
}
span.lineno {
  display: block;
  float: left;
  width: 40px;
  padding-right: 8px;
  text-align: right;
}


.hll { background-color: #49483e }
.c { color: #75715e } /* Comment */
.err { color: #960050; background-color: #1e0010 } /* Error */
.k { color: #66d9ef } /* Keyword */
.l { color: #ae81ff } /* Literal */
.n { color: #f8f8f2 } /* Name */
.o { color: #f92672 } /* Operator */
.p { color: #f8f8f2 } /* Punctuation */
.cm { color: #75715e } /* Comment.Multiline */
.cp { color: #75715e } /* Comment.Preproc */
.c1 { color: #75715e } /* Comment.Single */
.cs { color: #75715e } /* Comment.Special */
.ge { font-style: italic } /* Generic.Emph */
.gs { font-weight: bold } /* Generic.Strong */
.kc { color: #66d9ef } /* Keyword.Constant */
.kd { color: #66d9ef } /* Keyword.Declaration */
.kn { color: #f92672 } /* Keyword.Namespace */
.kp { color: #66d9ef } /* Keyword.Pseudo */
.kr { color: #66d9ef } /* Keyword.Reserved */
.kt { color: #66d9ef } /* Keyword.Type */
.ld { color: #e6db74 } /* Literal.Date */
.m { color: #ae81ff } /* Literal.Number */
.s { color: #e6db74 } /* Literal.String */
.na { color: #a6e22e } /* Name.Attribute */
.nb { color: #f8f8f2 } /* Name.Builtin */
.nc { color: #a6e22e } /* Name.Class */
.no { color: #66d9ef } /* Name.Constant */
.nd { color: #a6e22e } /* Name.Decorator */
.ni { color: #f8f8f2 } /* Name.Entity */
.ne { color: #a6e22e } /* Name.Exception */
.nf { color: #a6e22e } /* Name.Function */
.nl { color: #f8f8f2 } /* Name.Label */
.nn { color: #f8f8f2 } /* Name.Namespace */
.nx { color: #a6e22e } /* Name.Other */
.py { color: #f8f8f2 } /* Name.Property */
.nt { color: #f92672 } /* Name.Tag */
.nv { color: #f8f8f2 } /* Name.Variable */
.ow { color: #f92672 } /* Operator.Word */
.w { color: #f8f8f2 } /* Text.Whitespace */
.mf { color: #ae81ff } /* Literal.Number.Float */
.mh { color: #ae81ff } /* Literal.Number.Hex */
.mi { color: #ae81ff } /* Literal.Number.Integer */
.mo { color: #ae81ff } /* Literal.Number.Oct */
.sb { color: #e6db74 } /* Literal.String.Backtick */
.sc { color: #e6db74 } /* Literal.String.Char */
.sd { color: #e6db74 } /* Literal.String.Doc */
.s2 { color: #e6db74 } /* Literal.String.Double */
.se { color: #ae81ff } /* Literal.String.Escape */
.sh { color: #e6db74 } /* Literal.String.Heredoc */
.si { color: #e6db74 } /* Literal.String.Interpol */
.sx { color: #e6db74 } /* Literal.String.Other */
.sr { color: #e6db74 } /* Literal.String.Regex */
.s1 { color: #e6db74 } /* Literal.String.Single */
.ss { color: #e6db74 } /* Literal.String.Symbol */
.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.vc { color: #f8f8f2 } /* Name.Variable.Class */
.vg { color: #f8f8f2 } /* Name.Variable.Global */
.vi { color: #f8f8f2 } /* Name.Variable.Instance */
.il { color: #ae81ff } /* Literal.Number.Integer.Long */

.gh { } /* Generic Heading & Diff Header */
.gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
.gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */
.gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */


/* -----------------------------------*/
/* ----- 960px wide fancy grid! ----- */
/* -----------------------------------*/

/* by tim o'brien, t413.com
 * based on getskeleton.com
 */


/* ----- base grid----- */

.container               { position: relative; width: 960px; margin: 0 auto; padding: 0; }
.container .column       { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
.row                     { margin-bottom: 20px; }

.container .small.column { width: 300px; }
.container .half.column  { width: 460px; }
.container .big.column   { width: 620px; }
.container .full.column  { width: 940px; }


/* ----- Tablet (Portrait) -- 768px ----- */
  @media only screen and (min-width: 768px) and (max-width: 959px) {
    .container               { width: 768px; }

    .container .small.column { width: 236px; }
    .container .half.column  { width: 364px; }
    .container .big.column   { width: 488px; }
    .container .full.column  { width: 748px; }
  }


/* ----- Mobile (Portrait) ----- */
  @media only screen and (max-width: 767px) {
    .container                { width:  96%; }
    .container .column        { margin:  1%; }

    .container .small.column { width: 48%; }
    .container .half.column  { width: 48%; }
    .container .big.column   { width: 98%; }
    .container .full.column  { width: 98%; }
  }


/* ----- Mobile (Landscape) -- 480px ----- */
  @media only screen and (min-width: 480px) and (max-width: 767px) {
    .container                { width:  92%; }
    .container .column        { margin:  2%; }

    .container .small.column { width: 46%; }
    .container .half.column  { width: 46%; }
    .container .big.column   { width: 96%; }
    .container .full.column  { width: 96%; }
  }



/* ----- Clearing ----- */

  /* Self Clearing Goodness */
  .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }

  /* Use clearfix class on parent to clear nested columns,
  or wrap each row of columns in a <div class="row"> */
  .clearfix:before,
  .clearfix:after,
  .row:before,
  .row:after {
    content: '\0020';
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0; }
  .row:after,
  .clearfix:after {
    clear: both; }
  .row,
  .clearfix {
    zoom: 1; }

  /* You can also use a <br class="clear" /> to clear columns */
  .clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
  }

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
*, *:before, *:after { box-sizing: inherit; }

/* Override base font to Inter */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #f8fafc;
  background: #0f172a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ---------------------------*/
/* ----- Color System    ----- */
/* ---------------------------*/

/* autogenerated from _config.yml */

.border-navy { border-color: #0f172a !important; }
.text-navy   { color: #0f172a; }
.text-navy a { color: #0f172a; }
.bg-navy     { background-color: #0f172a !important; }

.border-darkblue { border-color: #1e293b !important; }
.text-darkblue   { color: #1e293b; }
.text-darkblue a { color: #1e293b; }
.bg-darkblue     { background-color: #1e293b !important; }

.border-charcoal { border-color: #1e1e2e !important; }
.text-charcoal   { color: #1e1e2e; }
.text-charcoal a { color: #1e1e2e; }
.bg-charcoal     { background-color: #1e1e2e !important; }

.border-slate { border-color: #334155 !important; }
.text-slate   { color: #334155; }
.text-slate a { color: #334155; }
.bg-slate     { background-color: #334155 !important; }

.border-teal { border-color: #0d9488 !important; }
.text-teal   { color: #0d9488; }
.text-teal a { color: #0d9488; }
.bg-teal     { background-color: #0d9488 !important; }

.border-cyan { border-color: #06b6d4 !important; }
.text-cyan   { color: #06b6d4; }
.text-cyan a { color: #06b6d4; }
.bg-cyan     { background-color: #06b6d4 !important; }

.border-white { border-color: #f8fafc !important; }
.text-white   { color: #f8fafc; }
.text-white a { color: #f8fafc; }
.bg-white     { background-color: #f8fafc !important; }

.border-muted { border-color: #94a3b8 !important; }
.text-muted   { color: #94a3b8; }
.text-muted a { color: #94a3b8; }
.bg-muted     { background-color: #94a3b8 !important; }

.border-black { border-color: #0f0f0f !important; }
.text-black   { color: #0f0f0f; }
.text-black a { color: #0f0f0f; }
.bg-black     { background-color: #0f0f0f !important; }

.border-green { border-color: #22c55e !important; }
.text-green   { color: #22c55e; }
.text-green a { color: #22c55e; }
.bg-green     { background-color: #22c55e !important; }

.border-amber { border-color: #f59e0b !important; }
.text-amber   { color: #f59e0b; }
.text-amber a { color: #f59e0b; }
.bg-amber     { background-color: #f59e0b !important; }

.border-red { border-color: #ef4444 !important; }
.text-red   { color: #ef4444; }
.text-red a { color: #ef4444; }
.bg-red     { background-color: #ef4444 !important; }


/* per-post colors */

  
  
  
  nav .p-contact { border-color: #1e1e2e; }
  #contact { background-color: #1e1e2e !important; color: #f8fafc; }
  #contact a { color: #f8fafc; }
  #contact .sectiondivider { color: #1e1e2e; }

  
  
  
  nav .p-how-we-work { border-color: #0f172a; }
  #how-we-work { background-color: #0f172a !important; color: #f8fafc; }
  #how-we-work a { color: #f8fafc; }
  #how-we-work .sectiondivider { color: #0f172a; }

  
  
  
  nav .p-projects { border-color: #334155; }
  #projects { background-color: #334155 !important; color: #f8fafc; }
  #projects a { color: #f8fafc; }
  #projects .sectiondivider { color: #334155; }

  
  
  
  nav .p-technology { border-color: #1e1e2e; }
  #technology { background-color: #1e1e2e !important; color: #f8fafc; }
  #technology a { color: #f8fafc; }
  #technology .sectiondivider { color: #1e1e2e; }

  
  
  
  nav .p-solution { border-color: #1e293b; }
  #solution { background-color: #1e293b !important; color: #f8fafc; }
  #solution a { color: #f8fafc; }
  #solution .sectiondivider { color: #1e293b; }

  
  
  
  nav .p-home { border-color: #0f172a; }
  #home { background-color: #0f172a !important; color: #f8fafc; }
  #home a { color: #f8fafc; }
  #home .sectiondivider { color: #0f172a; }



/* ---------------------------*/
/* ----- Typography      ----- */
/* ---------------------------*/

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 24px;
  letter-spacing: -0.03em;
  text-align: left;
  padding: 0;
}
.container h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
  text-align: left;
  padding: 0;
}
.container h3 {
  font-size: 24px;
  font-weight: 650;
  line-height: 1.3;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}
.container h4 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 12px;
}
.container p, .container ol, .container ul {
  font-size: 17px;
  line-height: 1.75;
  padding: 0;
  margin-bottom: 24px;
  letter-spacing: 0.005em;
}
.container ol, .container ul {
  padding-left: 24px;
  line-height: 1.8;
}
.container ul li, .container ol li {
  margin-bottom: 12px;
  padding-left: 4px;
}
.container strong {
  font-weight: 600;
}
.container p:first-of-type {
  margin-top: 0;
}

.center { text-align: center; }
.center h1, .center h2, .center h3, .center h4 { text-align: center; }
.left, .container .left { text-align: left; }


/* ---------------------------*/
/* ----- Base Elements   ----- */
/* ---------------------------*/

img {
  max-width: 100% !important;
  height: auto;
  vertical-align: middle;
}

hr {
  margin: 64px auto;
  width: 60%;
  border: none;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.container {
  word-wrap: break-word;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Links */
.container a {
  text-decoration: none;
  color: #0d9488;
  border-bottom: 1px solid rgba(13, 148, 136, 0.3);
  padding-bottom: 1px;
  transition: border-bottom-color 0.2s ease, color 0.2s ease;
}
.container a:hover {
  border-bottom-color: #0d9488;
}

code, pre {
  font-family: 'SF Mono', Monaco, Menlo, Consolas, 'Courier New', monospace;
}
code {
  background: rgba(255,255,255,0.08);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
}
pre {
  display: block;
  margin: 20px 0;
  padding: 16px;
  background: rgba(255,255,255,0.05);
  border-radius: 8px;
  overflow-x: auto;
}
pre code { background: none; padding: 0; }


/* ---------------------------*/
/* ----- Navigation      ----- */
/* ---------------------------*/




nav {
  font-size: 13px;
  width: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

nav ul {
  list-style: none;
  text-align: center;
  padding: 0;
  margin: 0;
  letter-spacing: -4px;
}

nav ul li {
  display: inline-block;
  border-top: 3px solid;
  padding: 3px;
  *display: inline;
  zoom: 1;
  line-height: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  min-width: 100px;
  line-height: 52px;
  margin: 0;
}

nav ul li a, nav ul li a:visited {
  display: block;
  color: #94a3b8;
  text-decoration: none;
  border-bottom: none;
  font-weight: 600;
  font-size: 13px;
  transition: color 0.2s ease;
}

nav ul li a:hover {
  color: #f8fafc;
}
nav ul li:hover, nav ul li.active {
  border-top-width: 5px;
  padding-top: 1px;
  transition: border-top-width 0.2s ease, padding-top 0.2s ease;
}
nav ul li.active a {
  color: #f8fafc;
}


/* ---------------------------*/
/* ----- Sections        ----- */
/* ---------------------------*/

.section {
  position: relative;
  display: block;
  width: 100%;
  min-height: 200px;
  padding: 96px 0;
}

.section:first-of-type {
  padding-top: 140px;
  padding-bottom: 48px;
  margin-top: 0;
}

#main {
  padding-top: 0;
}


/* ---------------------------*/
/* ----- Footer          ----- */
/* ---------------------------*/

#footer {
  padding: 24px 0;
  min-height: 0;
  text-align: center;
  background-color: #0f0f0f;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
}
#footer .container p {
  font-size: 13px;
  margin: 0;
  color: #94a3b8;
}
#footer .container a {
  color: #94a3b8;
  border-bottom-color: rgba(148, 163, 184, 0.2);
}


/* ---------------------------*/
/* ----- Section Dividers ----- */
/* ---------------------------*/

.subtlecircle {
  text-align: center;
  z-index: 3;
  border-radius: 50%;
  display: none;
}
.sectiondivider {
  display: none;
}


/* ---------------------------*/
/* ----- Hero Section    ----- */
/* ---------------------------*/

.container.hero {
  max-width: 1200px;
}
.container.hero h1 {
  text-align: left;
}
.container.hero p {
  text-align: left;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  margin-bottom: 48px;
}

.hero-subhead {
  font-size: 20px;
  line-height: 1.6;
  color: #94a3b8;
  margin-bottom: 32px;
}

.hero-bullets {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 40px;
}
.hero-bullets li {
  font-size: 18px;
  line-height: 1.6;
  padding: 8px 0;
  padding-left: 28px !important;
  position: relative;
}
.hero-bullets li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0d9488;
}

.hero-ctas {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.hero-proof {
  font-size: 14px !important;
  color: #64748b !important;
}

/* Hero diagram */
.hero-diagram {
  background: rgba(30, 41, 59, 0.6);
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 16px;
  padding: 48px 32px;
  text-align: center;
}

.diagram-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 32px;
}

.diagram-node {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  padding: 20px 24px;
  font-weight: 600;
  font-size: 15px;
  min-width: 100px;
}
.diagram-node.highlight {
  border-color: #0d9488;
  background: rgba(13, 148, 136, 0.1);
  color: #0d9488;
}

.diagram-arrow {
  font-size: 24px;
  color: #64748b;
  font-weight: 300;
}

.diagram-badge {
  display: inline-block;
  background: rgba(13, 148, 136, 0.15);
  border: 1px solid rgba(13, 148, 136, 0.3);
  border-radius: 20px;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #0d9488;
  letter-spacing: 0.02em;
}


/* ---------------------------*/
/* ----- Trust Strip     ----- */
/* ---------------------------*/

.trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 32px 0;
  margin-top: 48px;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.trust-item {
  font-size: 14px;
  font-weight: 500;
  color: #94a3b8;
  letter-spacing: 0.02em;
}

.trust-divider {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #475569;
}

.what-we-dont-do {
  text-align: center;
  font-size: 14px !important;
  color: #64748b !important;
  font-style: italic;
  margin-top: 24px;
}


/* ---------------------------*/
/* ----- Buttons         ----- */
/* ---------------------------*/

.btn-primary {
  display: inline-block;
  background: #0d9488;
  color: #f8fafc !important;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border: none !important;
  border-bottom: none !important;
  transition: background 0.2s ease, transform 0.15s ease;
  cursor: pointer;
}
.btn-primary:hover {
  background: #0f766e;
  transform: translateY(-1px);
  border-bottom: none !important;
}

.btn-secondary {
  display: inline-block;
  background: transparent;
  color: #94a3b8 !important;
  padding: 14px 32px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.3) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.3) !important;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease;
  cursor: pointer;
}
.btn-secondary:hover {
  border-color: #94a3b8 !important;
  color: #f8fafc !important;
}


/* ---------------------------*/
/* ----- Cards           ----- */
/* ---------------------------*/

.card-grid {
  display: grid;
  gap: 24px;
  margin: 40px 0;
}
.card-grid.thirds {
  grid-template-columns: repeat(3, 1fr);
}
.card-grid.quarters {
  grid-template-columns: repeat(4, 1fr);
}

.card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 14px;
  padding: 32px 28px;
  transition: border-color 0.2s ease, transform 0.15s ease;
}
.card:hover {
  border-color: rgba(13, 148, 136, 0.3);
  transform: translateY(-2px);
}

.card h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #f8fafc;
}

.card ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 20px;
}
.card ul li {
  font-size: 15px;
  line-height: 1.6;
  color: #cbd5e1;
  padding: 4px 0;
  padding-left: 20px !important;
  position: relative;
  margin-bottom: 8px;
}
.card ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0d9488;
}

.card-deliverable {
  font-size: 14px !important;
  font-weight: 600;
  color: #0d9488 !important;
  padding-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  margin-bottom: 0;
}

.card-outcome {
  font-size: 15px;
  color: #cbd5e1;
  margin-bottom: 16px;
}


/* ---------------------------*/
/* ----- Process Steps   ----- */
/* ---------------------------*/

.process-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin: 40px 0;
}

.step {
  text-align: center;
  position: relative;
}

.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(13, 148, 136, 0.15);
  border: 2px solid #0d9488;
  color: #0d9488;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.step h4 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: center;
}

.step p {
  font-size: 14px !important;
  color: #94a3b8 !important;
  line-height: 1.5;
  text-align: center;
}

/* connector lines between steps */
.step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 24px;
  right: -10px;
  width: 20px;
  height: 1px;
  background: rgba(148, 163, 184, 0.2);
}


/* ---------------------------*/
/* ----- FAQ             ----- */
/* ---------------------------*/

.faq-item {
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.faq-item:hover {
  border-color: rgba(148, 163, 184, 0.25);
}

.faq-item summary {
  padding: 20px 24px;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  color: #f8fafc;
  transition: color 0.2s ease;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before {
  content: '+';
  display: inline-block;
  width: 20px;
  margin-right: 12px;
  color: #0d9488;
  font-weight: 400;
  font-size: 20px;
}
.faq-item[open] summary::before {
  content: '\2212';
}

.faq-item p, .faq-item div {
  padding: 0 24px 20px 56px;
  font-size: 16px !important;
  color: #94a3b8 !important;
  line-height: 1.7;
  margin: 0;
}


/* ---------------------------*/
/* ----- Info List       ----- */
/* ---------------------------*/

.info-list {
  list-style: none !important;
  padding-left: 0 !important;
  columns: 2;
  column-gap: 40px;
  margin: 24px 0;
}
.info-list li {
  padding: 8px 0;
  padding-left: 24px !important;
  position: relative;
  font-size: 16px;
  break-inside: avoid;
}
.info-list li::before {
  content: '\2192';
  position: absolute;
  left: 0;
  color: #0d9488;
  font-weight: 600;
}


/* ---------------------------*/
/* ----- CTA Section     ----- */
/* ---------------------------*/

.cta-block {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.cta-block .lead {
  font-size: 20px;
  color: #cbd5e1;
  line-height: 1.65;
  margin-bottom: 40px;
}

.cta-options {
  margin-top: 32px;
}

.cta-alt {
  font-size: 15px !important;
  color: #64748b !important;
  margin-top: 24px;
}
.cta-alt a {
  color: #0d9488 !important;
}


/* ---------------------------*/
/* ----- Pipeline Cards  ----- */
/* ---------------------------*/

.pipeline-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.pipeline-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 14px;
  padding: 32px 28px;
  text-align: center;
}
.pipeline-card h3 {
  text-align: center;
}

.pipeline-status {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.pipeline-status.active {
  background: rgba(13, 148, 136, 0.15);
  color: #0d9488;
}


/* ---------------------------*/
/* ----- Section Intro   ----- */
/* ---------------------------*/

.section-intro {
  font-size: 20px !important;
  color: #94a3b8 !important;
  max-width: 720px;
  line-height: 1.65;
  margin-bottom: 48px;
}


/* ---------------------------*/
/* ----- Keep fluid vids ----- */
/* ---------------------------*/

.icontain {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.icontain iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* -----------------------------------*/
/* ----- Responsive              ----- */
/* -----------------------------------*/

/* Tablet */
@media only screen and (max-width: 959px) {
  .section { padding: 72px 0; }
  .section:first-of-type { padding-top: 120px; }

  .container h1 { font-size: 40px; }
  .container h2 { font-size: 30px; }
  .container h3 { font-size: 22px; }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .card-grid.thirds { grid-template-columns: repeat(2, 1fr); }
  .card-grid.quarters { grid-template-columns: repeat(2, 1fr); }

  .process-steps {
    grid-template-columns: repeat(3, 1fr);
  }
  .step:not(:last-child)::after { display: none; }

  .pipeline-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mid-size nav */
@media only screen and (max-width: 679px) {
  nav { font-size: 11px; }
  nav ul li {
    min-width: 56px;
    line-height: 36px;
    letter-spacing: 0.04em;
  }
}

/* Mobile */
@media only screen and (max-width: 767px) {
  .section { padding: 56px 0; }
  .section:first-of-type { padding-top: 100px; padding-bottom: 32px; }

  .container { padding: 0 16px; }
  .container h1 { font-size: 32px; line-height: 1.2; }
  .container h2 { font-size: 26px; }
  .container h3 { font-size: 20px; }
  .container p, .container ol, .container ul { font-size: 16px; }

  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-subhead { font-size: 18px; }
  .hero-ctas { flex-direction: column; }
  .hero-ctas .btn-primary,
  .hero-ctas .btn-secondary {
    text-align: center;
    width: 100%;
  }

  .diagram-flow { flex-direction: column; gap: 8px; }
  .diagram-arrow { transform: rotate(90deg); }

  .trust-strip { flex-direction: column; gap: 8px; text-align: center; }
  .trust-divider { display: none; }

  .card-grid.thirds { grid-template-columns: 1fr; }
  .card-grid.quarters { grid-template-columns: 1fr; }

  .process-steps { grid-template-columns: 1fr; gap: 24px; }
  .step:not(:last-child)::after { display: none; }
  .step { text-align: left; display: flex; align-items: flex-start; gap: 16px; }
  .step-number { flex-shrink: 0; margin-bottom: 0; }
  .step h4, .step p { text-align: left; }

  .info-list { columns: 1; }

  .pipeline-grid { grid-template-columns: 1fr; }
}

/* Tiny nav */
@media only screen and (max-width: 380px) {
  nav ul li { min-width: 48px; line-height: 20px; }
}

