/* Services page (Phase 8B) - scoped .tts-svc on the tts-home design tokens. */
/* Phase 28: dark-luxury conversion to match deployed Rev06 /services. */

body.page-id-26 { background-color: #050d1a; }

/* Page parity: no default widget gap/shadow spacing between stacked widgets. */
.elementor-26 .elementor-element.elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-26 .e-con,
.elementor-26 .e-con-full { --gap: 0px; gap: 0px; }

/* Normalize theme element margins inside the Services page (low specificity; widget rules win). */
.tts-svc h1, .tts-svc h2, .tts-svc h3, .tts-svc h4,
.tts-svc p, .tts-svc ul, .tts-svc ol, .tts-svc li,
.tts-svc blockquote, .tts-svc figure { margin: 0; }
.tts-home.tts-home.tts-svc .tts-btn--xl { border-radius: 0.75rem; }

/* Section heading tone/center modifiers */
.tts-home.tts-home.tts-svc .tts-sh--center { margin-inline: auto; align-items: center; text-align: center; }
.tts-home.tts-home.tts-svc .tts-sh--dark .tts-sh__eyebrow { color: var(--h-brand-300); }
.tts-home.tts-home.tts-svc .tts-sh--dark .tts-sh__title { color: #fff; }
.tts-home.tts-home.tts-svc .tts-sh--dark .tts-sh__desc { color: rgba(226, 235, 243, 0.8); }

/* ---------- Hero ---------- */
.tts-home.tts-home.tts-svc--hero { position: relative; overflow: hidden; background: var(--h-navy-950); }
.tts-home.tts-home .tts-svc__heroinner { position: relative; padding-block: 7rem 4rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__heroinner { padding-top: 8rem; } }
.tts-home.tts-home .tts-svc__herogrid { margin-top: 2rem; display: grid; align-items: center; gap: 3.5rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__herogrid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__herotext { grid-column: span 6 / span 6; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__herolinks { grid-column: span 6 / span 6; } }
.tts-home.tts-home .tts-svc__pill { display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.04); padding: 0.375rem 1rem; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: var(--h-navy-100); backdrop-filter: blur(4px); }
.tts-home.tts-home .tts-svc__pill svg { width: 1rem; height: 1rem; color: var(--h-brand-400); }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__pill { font-size: 11px; letter-spacing: 0.2em; } }
.tts-home.tts-home .tts-svc__h1 { margin-top: 1.75rem; font-family: Manrope, Inter, sans-serif; font-size: 2.6rem; font-weight: 800; line-height: 1.04; letter-spacing: -0.03em; color: #fff; text-wrap: balance; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__h1 { font-size: 3.75rem; } }
.tts-home.tts-home .tts-svc__accent { color: var(--h-brand-500); }
.tts-home.tts-home .tts-svc__herodesc { margin-top: 1.5rem; max-width: 36rem; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__herodesc { font-size: 1.125rem; } }
.tts-home.tts-home .tts-svc__herobtns { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.tts-home.tts-home .tts-svc__herometa { margin-top: 1.5rem; font-size: 0.75rem; line-height: 1rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(226, 235, 243, 0.55); }
.tts-home.tts-home .tts-svc__quicknav { margin-inline: auto; max-width: 32rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__quicknav { margin-left: auto; margin-right: 0; } }
.tts-home.tts-home .tts-svc__quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; list-style: none; padding: 0; }
.tts-home.tts-home .tts-svc__quick li { height: 100%; }
.tts-home.tts-home .tts-svc__quick a { display: flex; height: 100%; align-items: center; gap: 0.75rem; border-radius: 1rem; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.04); padding: 1rem; text-decoration: none; transition: all 0.3s; }
.tts-home.tts-home .tts-svc__quick a:hover { transform: translateY(-0.125rem); border-color: rgba(240, 112, 114, 0.4); background: rgba(255, 255, 255, 0.08); }
.tts-home.tts-home .tts-svc__quickicon { display: grid; height: 2.5rem; width: 2.5rem; flex-shrink: 0; place-items: center; border-radius: 0.75rem; background: rgba(232, 31, 34, 0.15); color: var(--h-brand-300); transition: all 0.3s; }
.tts-home.tts-home .tts-svc__quickicon svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-svc__quick a:hover .tts-svc__quickicon { background: var(--h-brand-500); color: #fff; }
.tts-home.tts-home .tts-svc__quickname { min-width: 0; flex: 1 1 0%; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: #fff; }
.tts-home.tts-home .tts-svc__quick a > svg { width: 1rem; height: 1rem; flex-shrink: 0; color: rgba(226, 235, 243, 0.4); transition: all 0.3s; }
.tts-home.tts-home .tts-svc__quick a:hover > svg { transform: translateX(0.125rem); color: var(--h-brand-300); }

/* ---------- Plans grid ---------- */
.tts-home.tts-home.tts-svc--plans {
	background-color: #050d1a;
	background-image:
		radial-gradient(70rem 40rem at 88% -12%, rgba(232, 31, 34, 0.07), transparent 62%),
		radial-gradient(60rem 34rem at -12% 108%, rgba(46, 94, 134, 0.16), transparent 60%),
		linear-gradient(180deg, #081a30 0%, #050d1a 100%);
}
.tts-home.tts-home .tts-svc__plansinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__plansinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-svc__plangrid { margin-top: 3rem; display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__plangrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__plangrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-svc__plangrid > .tts-reveal { height: 100%; }
.tts-home.tts-home .tts-svc__plancard { position: relative; display: flex; height: 100%; flex-direction: column; overflow: hidden; border-radius: 1rem; border: 1px solid var(--h-line); background: #fff; padding: 1.5rem; box-shadow: var(--h-card-shadow); text-decoration: none; transition: all 0.3s; }
.tts-home.tts-home .tts-svc__plancard:hover { transform: translateY(-0.25rem); border-color: var(--h-navy-200); box-shadow: var(--h-lift-shadow); }
.tts-home.tts-home .tts-svc__plannum { position: absolute; right: 1.25rem; top: 1.25rem; font-family: Manrope, Inter, sans-serif; font-size: 2.25rem; line-height: 2.5rem; font-weight: 800; color: var(--h-navy-100); transition: color 0.15s; }
.tts-home.tts-home .tts-svc__plancard:hover .tts-svc__plannum { color: var(--h-brand-100); }
.tts-home.tts-home .tts-svc__plantitle { max-width: 80%; font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; color: var(--h-navy-900); transition: color 0.15s; }
.tts-home.tts-home .tts-svc__plancard:hover .tts-svc__plantitle { color: var(--h-brand-600); }
.tts-home.tts-home .tts-svc__plantag { margin-top: 0.625rem; font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }
.tts-home.tts-home .tts-svc__planlink { margin-top: auto; display: inline-flex; align-items: center; gap: 0.375rem; padding-top: 1.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--h-brand-600); }
.tts-home.tts-home .tts-svc__planlink svg { width: 1rem; height: 1rem; transition: transform 0.2s; }
.tts-home.tts-home .tts-svc__plancard:hover .tts-svc__planlink svg { transform: translateX(0.25rem); }

/* ---------- Always included ---------- */
.tts-home.tts-home.tts-svc--included { position: relative; overflow: hidden; background: var(--h-navy-900); }
.tts-home.tts-home .tts-svc__inclgrid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-svc__inclinner { position: relative; padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__inclinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-svc__inclpoints { margin-top: 3rem; display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__inclpoints { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__inclpoints { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-svc__inclpoints > .tts-reveal { height: 100%; }
.tts-home.tts-home .tts-svc__inclcard { height: 100%; border-radius: 1rem; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05); padding: 1.25rem; }
.tts-home.tts-home .tts-svc__inclcard svg { width: 1.25rem; height: 1.25rem; color: var(--h-brand-400); }
.tts-home.tts-home .tts-svc__inclcard > svg { display: block; }
.tts-home.tts-home .tts-svc__inclcard p { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.85); }
.tts-home.tts-home .tts-svc__steps { margin-top: 3rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 2.5rem; }
.tts-home.tts-home .tts-svc__stepslabel { font-size: 0.75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: var(--h-brand-300); }
.tts-home.tts-home .tts-svc__stepgrid { margin-top: 1.5rem; display: grid; gap: 2rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__stepgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-svc__step { display: flex; gap: 1rem; }
.tts-home.tts-home .tts-svc__stepicon { display: grid; height: 2.5rem; width: 2.5rem; flex-shrink: 0; place-items: center; border-radius: 0.75rem; background: rgba(232, 31, 34, 0.15); color: var(--h-brand-300); }
.tts-home.tts-home .tts-svc__stepicon svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-svc__steptitle { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: #fff; }
.tts-home.tts-home .tts-svc__stepnum { font-family: Manrope, Inter, sans-serif; font-size: 0.75rem; line-height: 1rem; font-weight: 800; color: var(--h-brand-400); }
.tts-home.tts-home .tts-svc__steptext { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
.tts-home.tts-home .tts-svc__inclbtns { margin-top: 2.25rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }

/* ---------- Other services ---------- */
.tts-home.tts-home.tts-svc--other { border-block: 1px solid rgba(226, 232, 240, 0.7); background-color: #f8f6f1; background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8); }
.tts-home.tts-home .tts-svc__otherinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__otherinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-svc__othergrid { margin-top: 3rem; display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__othergrid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3.5rem; } .tts-home.tts-home .tts-svc__otherlist { grid-column: span 8 / span 8; } .tts-home.tts-home .tts-svc__othergrid > :last-child { grid-column: span 4 / span 4; } }
.tts-home.tts-home .tts-svc__othergroups { display: grid; gap: 2.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__othergroups { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; } }
.tts-home.tts-home .tts-svc__groupname { font-size: 0.75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: var(--h-brand-600); }
.tts-home.tts-home .tts-svc__groupitems { margin-top: 1rem; border-top: 1px solid var(--h-line); list-style: none; padding: 0; }
.tts-home.tts-home .tts-svc__groupitems > li { border-bottom: 1px solid var(--h-line); }
.tts-home.tts-home .tts-svc__grouprow { display: flex; align-items: flex-start; gap: 1rem; padding-block: 1.25rem; }
.tts-home.tts-home .tts-svc__groupicon { display: grid; height: 2.5rem; width: 2.5rem; flex-shrink: 0; place-items: center; border-radius: 0.75rem; background: #fff; color: var(--h-navy-700); box-shadow: var(--h-card-shadow); transition: all 0.3s; }
.tts-home.tts-home .tts-svc__groupicon svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-svc__groupitems > li:hover .tts-svc__groupicon { background: var(--h-brand-500); color: #fff; }
.tts-home.tts-home .tts-svc__groupbody { min-width: 0; flex: 1 1 0%; }
.tts-home.tts-home .tts-svc__grouptitle { font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: var(--h-navy-900); }
.tts-home.tts-home .tts-svc__grouptext { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }
.tts-home.tts-home .tts-svc__grouplink { margin-top: 0.625rem; display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; line-height: 1rem; font-weight: 700; color: var(--h-brand-600); text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-svc__grouplink:hover { color: var(--h-brand-700); }
.tts-home.tts-home .tts-svc__grouplink svg { width: 0.875rem; height: 0.875rem; transition: transform 0.2s; }
.tts-home.tts-home .tts-svc__groupitems > li:hover .tts-svc__grouplink svg { transform: translateX(0.125rem); }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__otherside { position: sticky; top: 7rem; } }
.tts-home.tts-home .tts-svc__otherframe { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 1.5rem; border: 1px solid var(--h-line); background: #fff; box-shadow: var(--h-card-shadow); }
.tts-home.tts-home .tts-svc__otherframe img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tts-home.tts-home .tts-svc__othercard { margin-top: 1.25rem; border-radius: 1rem; border: 1px solid var(--h-line); background: #fff; padding: 1.5rem; box-shadow: var(--h-card-shadow); }
.tts-home.tts-home .tts-svc__othercardtitle { font-family: Manrope, Inter, sans-serif; font-size: 1rem; line-height: 1.5rem; font-weight: 700; color: var(--h-navy-900); }
.tts-home.tts-home .tts-svc__othercardtext { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }
.tts-home.tts-home .tts-svc__othercardbtns { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.tts-home.tts-home .tts-svc__walink { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--h-navy-800); text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-svc__walink:hover { color: var(--h-brand-600); }
.tts-home.tts-home .tts-svc__walink svg { width: 1rem; height: 1rem; color: var(--h-brand-500); }

/* ---------- FAQ ---------- */
.tts-home.tts-home.tts-svc--faq { border-block: 1px solid rgba(226, 232, 240, 0.7); background: #fff; }
.tts-home.tts-home .tts-svc__faqinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__faqinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-svc__faqgrid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-svc__faqgrid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; } .tts-home.tts-home .tts-svc__faqgrid > :first-child { grid-column: span 5 / span 5; } .tts-home.tts-home .tts-svc__faqgrid > :last-child { grid-column: span 7 / span 7; } }
.tts-home.tts-home .tts-svc__reachcard { margin-top: 2rem; border-radius: 1rem; border: 1px solid var(--h-line); background: var(--h-mist); padding: 1.5rem; }
.tts-home.tts-home .tts-svc__reachtitle { font-size: 0.875rem; line-height: 1.25rem; font-weight: 700; color: var(--h-navy-900); }
.tts-home.tts-home .tts-svc__reachlist { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.875rem; line-height: 1.25rem; list-style: none; padding: 0; }
.tts-home.tts-home .tts-svc__reachlist li { display: flex; align-items: flex-start; gap: 0.75rem; color: var(--h-slate-600); }
.tts-home.tts-home .tts-svc__reachlist svg { margin-top: 0.125rem; width: 1.125rem; height: 1.125rem; flex-shrink: 0; color: var(--h-brand-500); }
.tts-home.tts-home .tts-svc__reachlist a { font-weight: 600; color: var(--h-navy-800); text-underline-offset: 2px; text-decoration: none; }
.tts-home.tts-home .tts-svc__reachlist a:hover { text-decoration: underline; }

/* ---------- Closing CTA ---------- */
.tts-home.tts-home .tts-svc__ctainner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__ctainner { padding-block: 6rem; } }
.tts-home.tts-home .tts-svc__ctacard { position: relative; overflow: hidden; border-radius: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.1); background-color: transparent; background-image: linear-gradient(to bottom right, #0c2038 0%, #0c2038 50%, #071527 100%); padding: 3.5rem 1.5rem; text-align: center; box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75); }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__ctacard { padding: 4rem 3rem; } }
.tts-home.tts-home .tts-svc__ctagrid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-svc__ctaorb { position: absolute; right: -5rem; top: -6rem; height: 18rem; width: 18rem; border-radius: 9999px; background: rgba(232, 31, 34, 0.25); filter: blur(64px); }
.tts-home.tts-home .tts-svc__ctabody { position: relative; margin-inline: auto; display: flex; max-width: 48rem; flex-direction: column; align-items: center; gap: 1.25rem; }
.tts-home.tts-home .tts-svc__ctaeyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: var(--h-brand-300); }
.tts-home.tts-home .tts-svc__ctaeyebrow svg { width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-svc__ctatitle { font-size: 1.875rem; line-height: 1.25; font-weight: 800; color: #fff; text-wrap: balance; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__ctatitle { font-size: 2.25rem; } }
.tts-home.tts-home .tts-svc__ctatext { max-width: 42rem; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.85); }
.tts-home.tts-home .tts-svc__ctabtns { margin-top: 0.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-svc__ctabtns { flex-direction: row; } }
.tts-home.tts-home .tts-svc__ctaphone { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: rgba(226, 235, 243, 0.75); text-decoration: none; transition: color 0.15s; }
.tts-home.tts-home .tts-svc__ctaphone:hover { color: #fff; }
.tts-home.tts-home .tts-svc__ctaphone svg { width: 1rem; height: 1rem; }
