/* ==========================================================================
   LeaderSol base — tiny reset + tokens + shared primitives. Loaded site-wide.
   ========================================================================== */
/* Shared content rail — header, footer, shop, sections all use this width. */
:root{
	--ls-cyan:#00ccf7; --ls-gold:#FDD000; --ls-ink:#0b1630; --ls-muted:#5a6472;
	--ls-line:#e5ebf0; --ls-container:1300px; --ls-gutter:20px;
	/* Aliases used by section components — must exist globally so buttons
	   like .lspf__btn still resolve outside .ls-sec (e.g. About page). */
	--cy:var(--ls-cyan); --gold:var(--ls-gold); --ink:var(--ls-ink);
	--body:var(--ls-muted); --line:var(--ls-line);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
	margin:0; font-family:'Quicksand',system-ui,-apple-system,sans-serif;
	color:var(--ls-ink); background:#fff; line-height:1.6;
	-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--ls-cyan); text-decoration:none; }
a:hover,
a:focus,
a:active,
a:visited{ text-decoration:none; }
/* Body / article text links only — keep a clear hover cue */
.ls-prose a:hover,
.entry-content a:hover,
.ls-post__body a:hover{
	text-decoration:underline;
	text-underline-offset:3px;
}
h1,h2,h3,h4,h5,h6{ line-height:1.2; margin:0 0 .5em; }
p{ margin:0 0 1em; }
button{ font-family:inherit; }
.ls-container,
.lstx-container{
	max-width:var(--ls-container);
	margin:0 auto;
	padding-left:var(--ls-gutter);
	padding-right:var(--ls-gutter);
	width:100%;
	box-sizing:border-box;
}

/* --------------------------------------------------------------------------
   Icon fonts — site-wide.
   flaticon.min.css only attaches font-family to `.flaticon`, while markup uses
   `.flaticon-*` alone (content only). Without this, arrows show as □ outside
   .ls-sec. Keep FA weights correct when theme CSS uses !important fonts.
   -------------------------------------------------------------------------- */
[class^="flaticon-"],
[class*=" flaticon-"]{
	font-family:"flaticon"!important;
	font-weight:normal!important;
	font-style:normal!important;
	font-variant:normal;
	line-height:1;
	display:inline-block;
	speak:never;
	text-transform:none;
	letter-spacing:normal;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
[class^="flaticon-"]::before,
[class*=" flaticon-"]::before{
	font-family:"flaticon"!important;
	font-weight:normal!important;
	font-style:normal!important;
	display:inline-block;
	line-height:1;
}

.fas,.fa{ font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome"!important; font-weight:900!important; }
.far{ font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome"!important; font-weight:400!important; }
.fal{ font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome"!important; font-weight:300!important; }
.fab{ font-family:"Font Awesome 5 Brands"!important; font-weight:400!important; }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
#content{ min-height:40vh; }
.ls-skip{ position:absolute; left:-9999px; top:0; background:#fff; padding:8px 16px; z-index:1000; }
.ls-skip:focus{ left:8px; top:8px; }

/* --------------------------------------------------------------------------
   Shared primary CTA buttons — always readable, brand cyan, white label.
   Covers About / Portfolio / forms / FAQ / etc. Icons keep their own fonts.
   -------------------------------------------------------------------------- */
.lspf__btn,
.lsform__btn,
.lsjobs__apply,
.ls-card__more.ls-btn,
a.lspf__btn,
button.lsform__btn{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:52px;
	padding:0 30px;
	border:none;
	border-radius:10px;
	background:#00ccf7!important;
	color:#fff!important;
	font-family:'Quicksand',system-ui,-apple-system,sans-serif!important;
	font-weight:700!important;
	font-size:15px!important;
	line-height:1.2;
	text-decoration:none!important;
	box-shadow:0 12px 26px -10px rgba(0,204,247,.6);
	transition:transform .2s, box-shadow .2s, background .2s;
	cursor:pointer;
	-webkit-text-fill-color:#fff;
}
.lspf__btn:hover,
.lsform__btn:hover,
.lsjobs__apply:hover,
a.lspf__btn:hover,
button.lsform__btn:hover{
	transform:translateY(-2px);
	background:#00b8e0!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff;
	text-decoration:none!important;
	box-shadow:0 18px 32px -10px rgba(0,204,247,.75);
}
.lspf__btn i,
.lsform__btn i,
.lsjobs__apply i,
.lspf__btn [class^="flaticon-"],
.lsform__btn [class^="flaticon-"],
.lspf__btn [class*=" flaticon-"],
.lsform__btn [class*=" flaticon-"]{
	color:#fff!important;
	-webkit-text-fill-color:#fff;
	font-size:14px;
	line-height:1;
}
/* Gold variant (service detail / premium CTAs) */
.lssvd__card .lsform__btn{
	background:#FDD000!important;
	color:#0b1630!important;
	-webkit-text-fill-color:#0b1630;
	box-shadow:0 12px 24px -10px rgba(253,208,0,.55);
}
.lssvd__card .lsform__btn:hover{
	background:#f0c400!important;
	color:#0b1630!important;
	-webkit-text-fill-color:#0b1630;
}
.lssvd__card .lsform__btn i,
.lssvd__card .lsform__btn [class^="flaticon-"],
.lssvd__card .lsform__btn [class*=" flaticon-"]{
	color:#0b1630!important;
	-webkit-text-fill-color:#0b1630;
}
