/*----------------------------------------*/
/*  Project overrides
/*  Loaded last, after responsive.css.
/*  Every deviation from the stock vendor template lives here so the
/*  vendor stylesheets stay untouched.
/*----------------------------------------*/

/*----------------------------------------*/
/*  01 - Inline "bottom text" callout
/*----------------------------------------*/

/* The pill has margin-right:5px but the trailing link had no margin-left,
   so the sentence ran straight into it ("...solution.View All"). */
.cacc-bottom-text .cacc-custom-button-link {
	margin-left: 6px;
}

/* .service-four is the only Homepage-04 section with no desktop padding of
   its own (compare .about-us-sec-four 120px, .why-choose-us-sec-four 85px),
   and .cacc-bottom-text.style-2 zeroes the component's own padding. While
   this section sat directly under the hero that left the intro line flush
   against it and it needed 80px here.
   It now follows .about-us-sec-four, whose 150px padding-bottom already
   separates the two -- stacking 80px on top produced a 230px void against
   roughly 105px at the neighbouring seams. So only a small nudge is needed.
   Scoped to >1200px on purpose: responsive.css already sets 20px (<=1200)
   and 40px (<=1024), and because this file loads last an unscoped rule
   would beat both of those. */
@media (min-width: 1201px) {
	.service-four .cacc-bottom-text.style-2 {
		padding-top: 10px;
	}
}

/*----------------------------------------*/
/*  02 - Line-art service icons
/*----------------------------------------*/

/* The icons in images/svg/ are stroke-based (fill="none" + stroke), unlike
   the template's fill-based ones. shortcode.css:2945 sets `fill` on svg/g,
   and a CSS declaration beats the SVG's own fill="none" presentation
   attribute -- which would flood the line art solid. So hold fill at none
   and drive the stroke instead, giving the same dark -> white hover the
   fill-based icons have. Shapes carrying their own fill (the #F39A38
   accents, the #fff masks) are untouched, exactly as the orange accents in
   the stock icons stay orange on hover. */
.cacc-service-style-3 .cacc-svg-line-icon svg,
.cacc-service-style-3 .cacc-svg-line-icon svg g {
	fill: none;
	stroke: var(--cacc-blackish-color);
	-webkit-transition: stroke .1s ease-in-out;
	transition: stroke .1s ease-in-out;
}
.cacc-service-style-3:hover .cacc-svg-line-icon svg,
.cacc-service-style-3:hover .cacc-svg-line-icon svg g {
	fill: none;
	stroke: var(--cacc-white-color);
}

/* The stock rule clamps service titles to a single line (display:-webkit-box
   + line-clamp:1 + ellipsis), which truncated "Making Tax Digital for income
   tax" and left no room for the arrow. Normal flow instead, centred, with the
   arrow stacked underneath. */
.cacc-service-style-3 .cacc-service-title,
.cacc-service-style-3 .cacc-service-title a {
	display: block;
	overflow: visible;
	text-overflow: clip;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

/* Whole card is the click target: a transparent link stretched over
   .conclusion-post-item (position:relative in shortcode.css). z-index:3 puts
   it above the icon (1) and the arrow (2) so a click anywhere lands on it.
   aria-hidden + tabindex="-1" keep it out of the accessibility tree -- the
   title link remains the single announced, focusable link per card. */
.cacc-service-style-3 .cacc-service-cover {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	border-radius: 7px;
	display: block;
}

/* Click affordance: a bare arrow pinned to the card's top-right corner. It is
   its own <a> to the same page rather than part of the title link, so it can be
   positioned against the card instead of the run of text; aria-hidden +
   tabindex="-1" keep it out of the accessibility tree, leaving the title as the
   single announced link.
   It anchors to .cacc-box-content-wrap (position:relative in shortcode.css),
   which spans the card's padded area -- so 0/0 lands inside the 30px padding
   rather than flush to the card edge.
   z-index:2, not 1: .cacc-service-icon is a full-width block at z-index:1 and
   comes later in the DOM, so at equal z-index it painted over the corner and
   swallowed the clicks. */
.cacc-service-style-3 .cacc-service-arrow {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	font-size: 15px;
	line-height: 1;
	color: #9AA3A8;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.cacc-service-style-3:hover .cacc-service-arrow {
	color: var(--cacc-white-color);
	-webkit-transform: translate(3px, -3px);
	transform: translate(3px, -3px);
}
@media (max-width: 767px) {
	.cacc-service-style-3 .cacc-service-arrow {
		width: 20px;
		height: 20px;
		font-size: 14px;
	}
}

/*----------------------------------------*/
/*  03 - Business / Personal services tabs
/*----------------------------------------*/

/* .cacc-tabs-links has no top spacing of its own, so the bar (and the
   full-bleed white strip its :before draws) ran straight into the
   "Our Services" line above it. */
.cacc-services-tabs {
	margin-top: 50px;
}

/* Below 768px responsive.css turns the tab bar into `display:block`, which
   stacks the tabs. That suits the stock four-tab bar, but with only two
   short labels they read better side by side, so keep the flex row. It
   also adds its own margin-top:50px there, which would double up with the
   wrapper margin above. */
@media (max-width: 767px) {
	/* responsive.css sets flex-direction:column-reverse here, because the
	   stock demo put the <ul> after the content and needed it lifted above.
	   Our markup already has the tabs first, so column-reverse dropped them
	   below the cards. Plain `column` keeps them on top. */
	.cacc-services-tabs {
		flex-direction: column;
	}
	.cacc-services-tabs .cacc-tabs-links {
		display: flex;
		margin-top: 0;
	}
	.cacc-services-tabs .cacc-tab-link {
		padding: 20px 10px;
	}
	.cacc-services-tabs .cacc-tab-link .cacc-tab-heading {
		font-size: 16px;
	}
}

/*----------------------------------------*/
/*  04 - "Who we help" pinned cards
/*----------------------------------------*/

/* The pinning in gsap-animation.js measures caccpanels[0].offsetHeight and
   applies it to every panel, so all eight must be the same height. The stock
   img rule is `width:100%` with no height, meaning height follows each file's
   own aspect ratio -- swap in a differently shaped photo and the pinned stack
   drifts. Locking the ratio to the supplied artwork (1448x1086) keeps the panels
   uniform whatever images get dropped in later. */
.cacc-element-card-box-style-1 .cacc-card-box-img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* Every panel shares one end -- `endTrigger: .cacc-element-card-box-style-1,
   end: bottom top+=<panelHeight+70 + count*25>` -- while each start is staggered
   down the container. At the stock three panels that left plenty of runway; at
   eight the starts consume nearly all of it and the last panel ends up pinned
   for ~5px, so it never gets a scroll-stop. Extending the container gives the
   final panel the same dwell as the rest. Scoped to the breakpoint where the
   JS actually pins (min-width:992px) -- below that it kills the triggers. */
@media (min-width: 992px) {
	.cacc-element-card-box-style-1 {
		padding-bottom: 580px;
	}
}

/*----------------------------------------*/
/*  05 - Services mega menu
/*----------------------------------------*/

/* The stock dropdown panel is a 250px single column. The services menu needs
   to hold two labelled lists, so widen it and lay the columns out with grid.
   Deliberately built from <div>/<span> rather than a nested <ul>: base.css
   positions `li > ul > li > ul` as a 100%-offset flyout, which a real nested
   list would trigger. It also keeps one <ul> under the item, which is what the
   mobile toggle in scripts.js opens.
   Note the long selectors: responsive.css styles dropdown links as
   `.main-menu .navigation > li > ul a` (specificity 0,2,3) and
   `.cacc-header-style-4 .main-menu .navigation > li > ul a` (0,3,3), so a
   short `.cacc-mega-item a` rule loses to both. These are pitched above them
   on purpose. */
.main-menu .navigation > li.cacc-services-menu > ul {
	width: 660px;
	padding: 22px 12px 18px;
}
.main-menu .navigation > li.cacc-services-menu > ul > li.cacc-mega-wrap {
	display: block;
	width: 100%;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-col {
	display: flex;
	flex-direction: column;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-title {
	display: block;
	margin: 0 0 8px;
	padding: 0 14px 9px;
	font-family: var(--cacc-heading-typography-font-family);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--cacc-global-color);
	border-bottom: 1px solid #E4E4E4;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-item {
	display: block;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-item a {
	display: block;
	padding: 7px 14px;
	border-radius: 5px;
	/* Matches the stock dropdown treatment in responsive.css:3558 --
	   Plus Jakarta Sans 700 / 13px / .26px / uppercase. */
	font-family: var(--cacc-heading-typography-font-family);
	font-weight: 700;
	font-size: 13px;
	line-height: 24px;
	letter-spacing: .26px;
	text-transform: uppercase;
	color: var(--cacc-blackish-color);
	-webkit-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-item a:hover {
	color: var(--cacc-global-color);
	background-color: var(--cacc-light-color);
}

/* On the mobile off-canvas menu the panel is a full-width accordion, so drop
   back to a single column and clear the desktop width. */
@media (max-width: 1200px) {
	.main-menu .navigation > li.cacc-services-menu > ul {
		width: 100%;
		padding: 0;
	}
	.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-title {
		padding: 18px 25px 10px;
		margin-bottom: 4px;
	}
	/* In the off-canvas panel the service links should read like the other
	   menu items (Home, About Us, Contact Us), which are Be Vietnam Pro 400
	   16px in sentence case -- not the uppercase Plus Jakarta Sans 700 the
	   desktop dropdown uses. Desktop keeps that treatment; this is >1200px
	   only. */
	.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-item a {
		padding: 11px 25px 11px 40px;
		border-radius: 0;
		font-family: var(--cacc-body-typography-font-family);
		font-size: 16px;
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: normal;
		text-transform: none;
		color: #000;
	}
}

/*----------------------------------------*/
/*  06 - Services dropdown chevron
/*----------------------------------------*/

/* Signals that Services opens a panel. Hidden below 1200px, where the mobile
   menu already appends its own .righticon caret via scripts.js -- two carets
   on the same row would be redundant. */
.main-menu .navigation > li.cacc-services-menu > a .cacc-menu-caret {
	display: inline-block;
	margin-left: 6px;
	font-size: 11px;
	line-height: 1;
	vertical-align: middle;
	-webkit-transition: transform .3s ease;
	transition: transform .3s ease;
}
.main-menu .navigation > li.cacc-services-menu:hover > a .cacc-menu-caret {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
@media (max-width: 1200px) {
	.main-menu .navigation > li.cacc-services-menu > a .cacc-menu-caret {
		display: none;
	}
}

/*----------------------------------------*/
/*  07 - Footer services accordion
/*----------------------------------------*/

/* Fourteen services as a flat two-column list made the footer very tall and
   hard to scan, so they are grouped behind two collapsible headings. Uses the
   Bootstrap collapse already bundled for the FAQ -- no extra JS. Collapsed by
   default on every breakpoint, which is what keeps the footer short. */
/* The footer row is `g-0`, so the column has no gutter and the toggle ran
   edge to edge into the next column. */
.cacc-footer-accordion {
	padding-right: 45px;
}
.cacc-footer-accordion .cacc-fmenu-group + .cacc-fmenu-group {
	margin-top: 4px;
}
@media (max-width: 991px) {
	.cacc-footer-accordion {
		padding-right: 0;
	}
}
.cacc-footer-accordion .cacc-fmenu-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 11px 0;
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	text-align: left;
	cursor: pointer;
	font-family: var(--cacc-heading-typography-font-family);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--cacc-white-color);
	-webkit-transition: color .25s ease-in-out;
	transition: color .25s ease-in-out;
}
.cacc-footer-accordion .cacc-fmenu-toggle:hover,
.cacc-footer-accordion .cacc-fmenu-toggle[aria-expanded="true"] {
	color: var(--cacc-global-color);
}
.cacc-footer-accordion .cacc-fmenu-toggle i {
	flex: 0 0 auto;
	font-size: 11px;
	line-height: 1;
	-webkit-transition: transform .3s ease;
	transition: transform .3s ease;
}
.cacc-footer-accordion .cacc-fmenu-toggle[aria-expanded="true"] i {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.cacc-footer-accordion .cacc-fmenu-panel ul.menu {
	margin: 0;
	padding: 10px 0 6px;
	list-style: none;
}
.cacc-footer-accordion .cacc-fmenu-panel ul.menu li {
	margin: 0;
	padding: 0;
}
.cacc-footer-accordion .cacc-fmenu-panel ul.menu li a {
	display: block;
	padding: 5px 0;
	font-size: 15px;
	line-height: 1.5;
}

/*----------------------------------------*/
/*  08 - Mobile menu panel
/*----------------------------------------*/

/* The logo header and the CTA/contact footer live inside .cacc-menu-wrap,
   which on desktop is just the inline nav container -- so they are hidden
   above the 1200px breakpoint where the off-canvas panel takes over. */
.cacc-mobile-menu-head,
.cacc-mobile-menu-foot {
	display: none;
}

@media (max-width: 1200px) {
	/* responsive.css paints a rgba(0,0,0,.9) backdrop over the page. Removed
	   outright rather than made transparent: it carries no close handler, so
	   an invisible layer would just swallow clicks on the page behind it. */
	.cacc-mobile-menu-bg {
		display: none !important;
	}

	/* Panel: a touch wider, with a soft edge shadow now that there is no
	   backdrop separating it from the page. */
	.cacc-menu-wrap {
		width: 320px;
		box-shadow: -10px 0 40px rgba(22, 34, 45, .16);
	}

	.cacc-mobile-menu-head {
		display: flex;
		align-items: center;
		min-height: 100px;
		padding: 18px 60px 18px 25px;
		border-bottom: 1px solid #ECF0F4;
	}
	/* The stacked mark is taller than it is wide, so it is sized by height to
	   sit at the same visual weight as the 45px horizontal logo in the bar. */
	.cacc-mobile-menu-head .cacc-mobile-menu-logo img {
		height: 64px;
		width: auto;
		display: block;
	}
	/* The close X is appended by gsap-animation.js at right:20px/top:40px;
	   centre it against the new logo bar instead. */
	.cacc-menu-wrap > .closepanel {
		top: 32px;
		right: 22px;
	}

	/* The nav list carries padding:90px 0 to clear the floating close button.
	   The logo bar now occupies that space, so the list can sit tight under it
	   -- this is what removes the large blank gap above "Home". */
	.cacc-menu-wrap #cacc-top-menu {
		padding-top: 8px;
		padding-bottom: 8px;
	}
	/* The panel's logo bar sits on a 25px left edge, but the nav links were on
	   20px and the dropdown links on 15px -- so the sub-items were indented
	   *less* than their parent, which inverts the hierarchy. Everything now
	   shares the 25px edge, with the service links stepped in from it, and the
	   rows are taller for a comfortable touch target. */
	/* responsive.css uses `.site-header .site-navigation ul.navigation > li > a`
	   (0,3,3) for the 10px/20px padding, so a shorter selector here loses. */
	.site-header .site-navigation .cacc-menu-wrap ul.navigation > li > a {
		font-size: 16px;
		padding: 15px 25px;
	}
	.cacc-menu-wrap .navigation > li.dropdown > .righticon {
		width: 54px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-col + .cacc-mega-col {
		margin-top: 6px;
	}
	.cacc-menu-wrap .navigation > li:last-child {
		border-bottom: 0;
	}

	.cacc-mobile-menu-foot {
		display: block;
		padding: 22px 25px 30px;
		border-top: 1px solid #ECF0F4;
	}
	.cacc-mobile-menu-foot .cacc-btn {
		display: flex;
		width: 100%;
		justify-content: center;
	}
	.cacc-mobile-menu-contact {
		margin: 20px 0 0;
		padding: 0;
		list-style: none;
	}
	.cacc-mobile-menu-contact li {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 7px 0;
		font-size: 14px;
		line-height: 1.5;
	}
	.cacc-mobile-menu-contact li i {
		flex: 0 0 auto;
		font-size: 15px;
		color: var(--cacc-global-color);
	}
	.cacc-mobile-menu-contact li a {
		color: var(--cacc-body-typography-color);
		word-break: break-word;
	}
	.cacc-mobile-menu-contact li a:hover {
		color: var(--cacc-global-color);
	}
	.cacc-mobile-menu-social {
		margin: 16px 0 0;
		padding: 14px 0 0;
		border-top: 1px solid #ECF0F4;
	}
	.cacc-mobile-menu-social li:not(:last-child) {
		padding-right: 8px;
	}
	.cacc-mobile-menu-social li a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background-color: var(--cacc-light-color);
		color: var(--cacc-blackish-color);
		font-size: 14px;
		-webkit-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
	}
	.cacc-mobile-menu-social li a:hover {
		background-color: var(--cacc-global-color);
		color: var(--cacc-white-color);
	}
}

/*----------------------------------------*/
/*  09 - Service pages: no sidebar
/*----------------------------------------*/

/* The sidebar column has been removed from the service pages, but
   responsive.css:3811 still sizes the content column as the 72% partner it
   was built to be (plus a 40px left gutter that separated it from the
   sidebar). Both are pitched at >1200px only, matching the original rules --
   below that the template already sets these columns to 100%. */
@media (min-width: 1201px) {
	.service-right-col {
		flex: 0 0 100%;
		padding-left: 0;
		/* Full width made the measure ~166 characters a line, more than double a
		   comfortable one, and blew the feature image up to 1408x865. Capping the
		   column and centring it puts the text back near the measure the template
		   was drawn at, and brings the image down with it. */
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* The intro used to be a three-line paragraph stacked above a full-width
   image, which rendered 556px tall and dominated the page. Setting them side
   by side gives the short intro a companion and drops the image to roughly a
   third of its previous height, without shrinking it into a thumbnail.
   All 14 files are 1600x983, so the 3:2 crop is identical on every page. */
.service-details .cacc-service-intro {
	margin-bottom: 55px;
}
.service-details .cacc-service-feature-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	width: 100%;
	margin-bottom: 0;
	border-radius: 8px;
}
.service-details .cacc-short-description {
	margin-bottom: 0;
}
.service-details .cacc-service-intro .cacc-short-description {
	padding-right: 30px;
}

/* Stacked below lg, where the columns collapse: the image sits under the text
   and needs its spacing back, in a shallower crop so it does not run long. */
@media (max-width: 991px) {
	.service-details .cacc-service-intro .cacc-short-description {
		padding-right: 0;
		margin-bottom: 28px;
	}
	.service-details .cacc-service-feature-image img {
		aspect-ratio: 16 / 9;
	}
	.service-details .cacc-service-intro {
		margin-bottom: 40px;
	}
}
@media (max-width: 767px) {
	.service-details .cacc-service-feature-image img {
		aspect-ratio: 3 / 2;
	}
	.service-details .ihbox-style-10-area {
		padding: 32px 24px 5px;
	}
}

/* The stock chart carried invented figures under an "Element 1 / Element 2"
   legend, so it has been dropped rather than dressed up with made-up numbers.
   What is left is a closing summary, restyled as a tinted panel with the three
   points evenly divided rather than a thin bordered box of small dots. */
.service-details .cacc-service-summary {
	padding: 40px 45px;
	background-color: var(--cacc-light-color);
	border: 0;
	border-radius: 8px;
}
.service-details .cacc-service-summary .list-group {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
}
/* Equal thirds separated by a hairline. Padding rather than gap, so the rule
   sits centred in the space instead of hugging the item after it.
   style.css:2552 sets padding-bottom on :not(:last-child) at 0,4,0, so a
   three-class rule here loses and the last item ends up shorter. Matched on
   specificity and loaded later, so this wins. */
.service-details .cacc-service-summary .list-group .list-group-item {
	flex: 1 1 0;
	min-width: 0;
	align-items: flex-start;
	padding: 2px 32px;
	margin: 0;
	border: 0;
}
.service-details .cacc-service-summary .list-group .list-group-item:first-child {
	padding-left: 0;
}
.service-details .cacc-service-summary .list-group .list-group-item:last-child {
	padding-right: 0;
}
.service-details .cacc-service-summary .list-group .list-group-item + .list-group-item {
	border-left: 1px solid #D9E0E6;
}
.service-details .cacc-service-summary .list-group .cacc-icon-list-icon {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	margin-top: 8px;
	margin-right: 12px;
	line-height: 1;
}
.service-details .cacc-service-summary .list-group .cacc-icon-list-icon svg {
	width: 9px;
	height: 9px;
}
.service-details .cacc-service-summary .list-group .cacc-icon-list-text {
	font-size: 16px;
	line-height: 1.6;
}

/* Below lg the three columns are too narrow for the dividers to help. */
@media (max-width: 991px) {
	.service-details .cacc-service-summary .list-group {
		flex-wrap: wrap;
	}
	.service-details .cacc-service-summary .list-group .list-group-item {
		flex: 1 1 240px;
		padding: 2px 24px;
	}
}
@media (max-width: 767px) {
	.service-details .cacc-service-summary {
		padding: 28px 26px;
	}
	.service-details .cacc-service-summary .list-group {
		flex-direction: column;
		gap: 18px;
	}
	/* flex-basis follows the main axis, so a width basis becomes a height once
	   the direction flips to column. */
	.service-details .cacc-service-summary .list-group .list-group-item {
		flex: 0 0 auto;
		padding: 0;
	}
	.service-details .cacc-service-summary .list-group .list-group-item + .list-group-item {
		border-left: 0;
	}
}

/*----------------------------------------*/
/*  10 - "How we work" process list
/*----------------------------------------*/

/* Two faults in the stock component. The markup gave item 1 an <h2> and the
   rest <h1>, so only the first picked up the 24px title rule and the others
   fell back to the global h1 size -- fixed in the markup. And the highlight
   rules target `h5`, an element this component does not contain, so the
   active item never actually highlighted. gsap-animation.js:273 does move
   .cacc-active on hover, so only the styling was missing.
   Pitched above `.cacc-bg-color-secondary ... .cacc-title-wrapper h2`
   (0,3,1), which paints every title plain white. */
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper h2 {
	font-size: 24px;
	line-height: 30px;
	margin-bottom: 12px;
	color: rgba(var(--cacc-white-color-rgb), .45);
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper .cacc-static-box-desc {
	color: rgba(var(--cacc-white-color-rgb), .35);
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper .cacc-box-number {
	color: rgba(var(--cacc-white-color-rgb), .45);
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}
/* active / hovered */
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper.cacc-active h2,
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper:hover h2 {
	color: var(--cacc-white-color);
}
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper.cacc-active .cacc-static-box-desc,
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper:hover .cacc-static-box-desc {
	color: rgba(var(--cacc-white-color-rgb), .75);
}
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper.cacc-active .cacc-box-number,
.cacc-bg-color-secondary .cacc-element-static-box-style-2 .cacc-hover-inner .cacc-title-wrapper:hover .cacc-box-number {
	color: var(--cacc-global-color);
}

/*----------------------------------------*/
/*  11 - Service page banner
/*----------------------------------------*/

/* shortcode.css:4922 sets one title-bar image for every page on the site.
   Scoped to .cacc-service-page (added to the page wrapper on the 14 service
   pages) so About, Services and Contact keep the original banner. The URL is
   resolved relative to this stylesheet, so it works from the subfolders too. */
.cacc-service-page .cacc-title-bar-wrapper {
	background-image: url(../images/service-banner.webp);
	/* The arrowhead sits about 28% down the artwork. `cover` on a 16:9 image in
	   a 550px bar crops top and bottom, and centring pushed the arrow close to
	   the top edge -- biasing the crop upwards drops the image and gives it
	   room. */
	background-position: center 25%;
}

/* The stock scrim is #0000006B at .4 opacity, roughly 17% effective black,
   which left the title fighting the bright part of this image. */
.cacc-service-page .cacc-title-bar-wrapper:before {
	/* Solid black driven by opacity alone, so the strength is one number rather
	   than an alpha hex multiplied by an opacity. Was #000000A6 at .55, which
	   worked out at roughly 36% -- this is 55%. */
	background-color: #000;
	opacity: .55;
}

/*----------------------------------------*/
/*  12 - Services page grid
/*----------------------------------------*/

/* Same stroke-vs-fill problem as the homepage cards: shortcode.css:2702 sets
   `fill: white` on .cacc-service-style-1 .cacc-service-icon svg/g, which
   would flood the line art solid. Hold fill at none and drive the stroke. */
.cacc-service-style-1 .cacc-svg-line-icon svg,
.cacc-service-style-1 .cacc-svg-line-icon svg g {
	fill: none;
	stroke: var(--cacc-white-color);
	stroke-width: 2.2;
}
.cacc-service-style-1 .cacc-svg-line-icon {
	width: 46px;
	height: 46px;
}
.cacc-service-style-1 .cacc-svg-line-icon svg {
	width: 100%;
	height: 100%;
}

/* The icon sits directly on the photo with no scrim, and these images are
   bright, so a white icon had nothing to read against. A soft top-left
   gradient gives it contrast without dimming the whole picture. */
.cacc-service-style-1 .cacc-featured-wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
	/* A flat base darkens the whole photo so nothing is left to chance, with
	   stronger gradients over the two corners that actually carry content --
	   the icon top-left and the title bottom-left. */
	background-color: rgba(22, 34, 45, .42);
	background-image:
		linear-gradient(150deg, rgba(22, 34, 45, .74) 0%, rgba(22, 34, 45, .32) 42%, rgba(22, 34, 45, 0) 72%),
		linear-gradient(to top, rgba(22, 34, 45, .84) 0%, rgba(22, 34, 45, .44) 30%, rgba(22, 34, 45, 0) 64%);
}

/* shortcode.css:2669 gives the title width:65% and clamps it to two lines, so
   "Making Tax Digital for income tax" ran out of room. Wider box, and the
   clamp lifted to three lines so nothing is cut. */
.cacc-service-style-1 .cacc-service-title,
.cacc-service-style-1 .cacc-service-title a {
	width: 80%;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

/* The stock cards were drawn for portrait artwork (440x540). These files are
   1600x983, so without a fixed ratio the cards would shrink and go uneven. */
.cacc-service-style-1 .cacc-featured-wrapper img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

/* Two labelled groups on one page now, so they need separating. */
.cacc-services-group-head {
	margin-bottom: 34px;
}
.cacc-services-group-gap {
	height: 70px;
}
@media (max-width: 767px) {
	.cacc-services-group-gap {
		height: 45px;
	}
	.cacc-service-style-1 .cacc-svg-line-icon {
		width: 40px;
		height: 40px;
	}
}

/*----------------------------------------*/
/*  13 - Services page heading
/*----------------------------------------*/

/* The banner carried this page's only <h1>. With it removed the page had no
   heading at all -- the one left was a CTA in the footer -- so the title now
   sits at the top of the content as plain type, no image behind it. */
.cacc-page-intro {
	max-width: 720px;
	margin-bottom: 55px;
}
.cacc-page-intro .cacc-page-title {
	margin: 0 0 16px;
	font-size: 48px;
	line-height: 1.12;
	letter-spacing: -1px;
}
.cacc-page-intro .cacc-page-intro-desc {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}
@media (max-width: 991px) {
	.cacc-page-intro .cacc-page-title {
		font-size: 38px;
	}
	.cacc-page-intro {
		margin-bottom: 40px;
	}
}
@media (max-width: 767px) {
	.cacc-page-intro .cacc-page-title {
		font-size: 32px;
	}
}

/*----------------------------------------*/
/*  14 - Footer copyright row
/*----------------------------------------*/

/* The row was built as a space-between pair (copyright left, links right).
   With the copyright centred, the whole row stacks and centres instead. */
.cacc-copyright-area .cacc-copyright-area-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
}
.cacc-copyright-area .cacc-footer-copyright-text-area {
	width: 100%;
	text-align: center;
}
.cacc-copyright-area .cacc-icon-list-items {
	margin: 0;
	text-align: center;
}

/*----------------------------------------*/
/*  15 - Plain (imageless) title bar
/*----------------------------------------*/

/* Contact drops the banner photo but keeps its heading, sub-text and
   breadcrumbs. shortcode.css:4922 gives every title bar a dark background plus
   an image, and :before paints a scrim over it, so all three are cleared here
   and the type flipped to the dark palette for a white background. */
.cacc-plain-titlebar .cacc-title-bar-wrapper {
	background-color: var(--cacc-white-color);
	background-image: none;
}
.cacc-plain-titlebar .cacc-title-bar-wrapper:before {
	display: none;
}
.cacc-plain-titlebar .cacc-title-bar-wrapper,
.cacc-plain-titlebar .cacc-title-bar-content {
	min-height: 0;
}
/* shortcode.css pads .cacc-title-bar-content 150px at the top to clear the
   banner artwork. With no image that stacked on the wrapper padding and left
   ~225px of blank space above the breadcrumb. */
.cacc-plain-titlebar .cacc-title-bar-wrapper {
	padding: 70px 0 10px;
}
.cacc-plain-titlebar .cacc-title-bar-content {
	padding: 0 0 25px;
}
.cacc-plain-titlebar .cacc-tbar-title {
	color: var(--cacc-blackish-color);
}
.cacc-plain-titlebar .cacc-title-bar-desc,
.cacc-plain-titlebar .cacc-title-bar-desc p {
	color: var(--cacc-body-typography-color);
}
.cacc-plain-titlebar .cacc-breadcrumb,
.cacc-plain-titlebar .cacc-breadcrumb a,
.cacc-plain-titlebar .cacc-breadcrumb span,
.cacc-plain-titlebar .cacc-breadcrumb .sep i:before {
	color: var(--cacc-body-typography-color);
}
.cacc-plain-titlebar .cacc-breadcrumb a:hover,
.cacc-plain-titlebar .cacc-breadcrumb .current-item {
	color: var(--cacc-global-color);
}
@media (max-width: 991px) {
	.cacc-plain-titlebar .cacc-title-bar-wrapper {
		padding: 55px 0 10px;
	}
}

/*----------------------------------------*/
/*  16 - Current service in the dropdown
/*----------------------------------------*/

/* Marks the entry for the page you are on. Pitched above
   `.main-menu .navigation > li > ul a` (0,2,3) and the header-style-4 variant
   (0,3,3), both of which set the dropdown link colour. */
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-current a,
.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-current a:hover {
	color: var(--cacc-global-color);
	background-color: var(--cacc-light-color);
}
@media (max-width: 1200px) {
	.main-menu .navigation > li.cacc-services-menu > ul .cacc-mega-current a {
		box-shadow: inset 3px 0 0 var(--cacc-global-color);
	}
}

/*----------------------------------------*/
/*  17 - Contact form privacy note
/*----------------------------------------*/

/* Replaces the theme's "save my name in this browser" comment checkbox, which
   the form never honoured. Sits between the last field and the submit button. */
.contact-form .contact-form-note {
	margin: 4px 0 26px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--cacc-body-typography-color);
}

/*----------------------------------------*/
/*  18 - Contact card title wrapping
/*----------------------------------------*/

/* The email address is one long token and overflowed its card below ~420px. */
.cacc-ihbox-style-11 .cacc-element-title {
	overflow-wrap: anywhere;
}
