/* Copier Upgrade page (Phase 8F) - scoped .tts-upg on the tts-home design tokens. */
/* Phase 32: dark-luxury conversion to match deployed Rev06 /copier-upgrade. */

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

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

/* Normalize theme element margins inside the Upgrade page (low specificity; widget rules win). */
.tts-upg h1, .tts-upg h2, .tts-upg h3, .tts-upg h4,
.tts-upg p, .tts-upg ul, .tts-upg ol, .tts-upg li,
.tts-upg dl, .tts-upg dd, .tts-upg dt { margin: 0; }
.tts-home.tts-home.tts-upg .tts-btn--xl { border-radius: 0.75rem; }
.tts-home.tts-home.tts-upg .tts-sh--center { margin-inline: auto; align-items: center; text-align: center; }
.tts-home.tts-home.tts-upg .tts-sh--dark .tts-sh__eyebrow { color: var(--h-brand-300); }
.tts-home.tts-home.tts-upg .tts-sh--dark .tts-sh__title { color: #fff; }
.tts-home.tts-home.tts-upg .tts-sh--dark .tts-sh__desc { color: rgba(226, 235, 243, 0.8); }

/* FAQ section wrapper (reused rental widget): bottom border + cream per the upgrade design. */
.elementor-30 .tts-home.tts-home.tts-rent--faq { border-bottom: 1px solid rgba(226, 232, 240, 0.7); background-color: #f8f6f1; background-image: linear-gradient(180deg, #fbfaf7, #f3f0e8); }

/* ---------- Hero ---------- */
.tts-home.tts-home.tts-upg--hero { position: relative; overflow: hidden; background: var(--h-navy-950); }
.tts-home.tts-home .tts-upg__heroinner { position: relative; padding-block: 7rem 4rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__heroinner { padding-top: 8rem; } }
.tts-home.tts-home .tts-upg__herogrid2 { margin-top: 2rem; display: grid; align-items: center; gap: 3.5rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__herogrid2 { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__herotext { grid-column: span 6 / span 6; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__heromedia { grid-column: span 6 / span 6; } }
.tts-home.tts-home .tts-upg__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-upg__pill svg { width: 1rem; height: 1rem; color: var(--h-brand-400); }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__pill { font-size: 11px; letter-spacing: 0.2em; } }
.tts-home.tts-home .tts-upg__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-upg__h1 { font-size: 3.75rem; } }
.tts-home.tts-home .tts-upg__accent { color: var(--h-brand-500); }
.tts-home.tts-home .tts-upg__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-upg__herodesc { font-size: 1.125rem; } }
.tts-home.tts-home .tts-upg__herobtns { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.tts-home.tts-home .tts-upg__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-upg__bacard { position: relative; margin-inline: auto; max-width: 32rem; border-radius: 1.75rem; background: #fff; padding: 1.25rem; box-shadow: 0 0 0 1px var(--h-navy-100), var(--h-lift-shadow); }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__bacard { padding: 1.75rem; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__bacard { margin-left: auto; margin-right: 0; } }
.tts-home.tts-home .tts-upg__bagrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.tts-home.tts-home .tts-upg__bacol { border-radius: 1rem; border: 1px solid var(--h-line); background: var(--h-mist); padding: 1rem; }
.tts-home.tts-home .tts-upg__bacol--new { border-color: var(--h-brand-200); background: rgba(253, 236, 236, 0.6); }
.tts-home.tts-home .tts-upg__bachip { display: inline-flex; border-radius: 9999px; background: #e2e8f0; padding: 0.125rem 0.625rem; font-size: 10px; line-height: 1.6; font-weight: 700; text-transform: uppercase; letter-spacing: 0.025em; color: #475569; }
.tts-home.tts-home .tts-upg__bachip--brand { background: var(--h-brand-500); color: #fff; }
.tts-home.tts-home .tts-upg__bamedia { position: relative; margin-inline: auto; margin-top: 1rem; aspect-ratio: 1 / 1; width: 100%; max-width: 11rem; }
.tts-home.tts-home .tts-upg__bamedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.tts-home.tts-home .tts-upg__bacol--old .tts-upg__bamedia img { opacity: 0.9; filter: grayscale(45%); }
.tts-home.tts-home .tts-upg__bacap { margin-top: 0.75rem; text-align: center; font-size: 0.75rem; line-height: 1rem; font-weight: 600; color: var(--h-slate-500); }
.tts-home.tts-home .tts-upg__bacap--new { color: var(--h-navy-900); }
.tts-home.tts-home .tts-upg__baarrow { position: absolute; left: 50%; top: 46%; z-index: 2; display: grid; height: 2.5rem; width: 2.5rem; transform: translate(-50%, -50%); place-items: center; border-radius: 9999px; background: var(--h-brand-500); color: #fff; box-shadow: 0 14px 34px -12px rgba(232, 31, 34, 0.8); }
.tts-home.tts-home .tts-upg__baarrow svg { width: 1.25rem; height: 1.25rem; }
.tts-home.tts-home .tts-upg__bafoot { margin-top: 1.25rem; border-top: 1px solid var(--h-line); padding-top: 1rem; }
.tts-home.tts-home .tts-upg__bafoot p { font-size: 0.75rem; line-height: 1.625; color: var(--h-slate-600); }

/* ---------- When to upgrade ---------- */
.tts-home.tts-home.tts-upg--signals {
	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-upg__siginner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__siginner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__siggrid { display: grid; align-items: start; gap: 3rem; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__siggrid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; } .tts-home.tts-home .tts-upg__siggrid > :first-child { grid-column: span 6 / span 6; } .tts-home.tts-home .tts-upg__siggrid > :last-child { grid-column: span 6 / span 6; } }
.tts-home.tts-home .tts-upg__sigtext { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 1rem; font-size: 1rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
.tts-home.tts-home .tts-upg__sigbtn { margin-top: 2rem; }
.tts-home.tts-home .tts-upg__sigcard { overflow: hidden; border-radius: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.1); background-color: rgba(255, 255, 255, 0.035); background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012)); box-shadow: 0 30px 80px -44px rgba(0, 0, 0, 0.75); }
.tts-home.tts-home .tts-upg__sigcardhead { border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.06); padding: 1.25rem 1.75rem; }
.tts-home.tts-home .tts-upg__sigcardhead p { font-family: Manrope, Inter, sans-serif; font-size: 1rem; line-height: 1.5rem; font-weight: 700; color: #fff; }
.tts-home.tts-home .tts-upg__siglist { list-style: none; padding: 0; }
.tts-home.tts-home .tts-upg__siglist li { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 1.75rem; }
.tts-home.tts-home .tts-upg__siglist li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.tts-home.tts-home .tts-upg__sigicon { margin-top: 0.125rem; display: grid; height: 2rem; width: 2rem; flex-shrink: 0; place-items: center; border-radius: 0.5rem; background: rgba(232, 31, 34, 0.15); color: var(--h-brand-400); }
.tts-home.tts-home .tts-upg__sigicon svg { width: 1rem; height: 1rem; }
.tts-home.tts-home .tts-upg__siglist li > span:last-child { font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.85); }
.tts-home.tts-home .tts-upg__sigfoot { border-top: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.03); padding: 1rem 1.75rem; font-size: 0.75rem; line-height: 1.625; color: rgba(226, 235, 243, 0.55); }

/* ---------- Value points ---------- */
.tts-home.tts-home.tts-upg--value { 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-upg__valinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__valinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__valgrid { margin-top: 3rem; display: grid; gap: 2.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__valgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; } }
.tts-home.tts-home .tts-upg__valgrid > .tts-reveal { height: 100%; }
.tts-home.tts-home .tts-upg__valcell { display: flex; height: 100%; flex-direction: column; }
.tts-home.tts-home .tts-upg__valicon { display: grid; height: 2.75rem; width: 2.75rem; place-items: center; border-radius: 0.75rem; background: #fff; color: var(--h-brand-600); box-shadow: var(--h-card-shadow); }
.tts-home.tts-home .tts-upg__valicon svg { width: 1.375rem; height: 1.375rem; }
.tts-home.tts-home .tts-upg__valtitle { margin-top: 1.25rem; font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; color: var(--h-navy-900); }
.tts-home.tts-home .tts-upg__valtext { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }

/* ---------- Before & after ---------- */
.tts-home.tts-home.tts-upg--assess {
	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-upg__assinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__assinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__asstable { margin-inline: auto; margin-top: 3rem; max-width: 56rem; 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-upg__assthead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--h-line); background: rgba(244, 247, 250, 0.6); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--h-navy-700); }
.tts-home.tts-home .tts-upg__assthead > div { padding: 0.875rem 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__assthead > div { padding-inline: 2rem; } }
.tts-home.tts-home .tts-upg__asslist { list-style: none; padding: 0; }
.tts-home.tts-home .tts-upg__asslist > li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.5rem; padding: 1.25rem 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__asslist > li { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; padding-inline: 2rem; } }
.tts-home.tts-home .tts-upg__asslist > li + li { border-top: 1px solid var(--h-line); }
.tts-home.tts-home .tts-upg__asssit { display: flex; align-items: flex-start; gap: 0.75rem; }
.tts-home.tts-home .tts-upg__assdot { margin-top: 0.375rem; height: 0.375rem; width: 0.375rem; flex-shrink: 0; border-radius: 9999px; background: #cbd5e1; }
.tts-home.tts-home .tts-upg__asssit p { font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }
.tts-home.tts-home .tts-upg__assresp { display: flex; align-items: flex-start; gap: 0.75rem; }
.tts-home.tts-home .tts-upg__assresp svg { margin-top: 0.125rem; width: 1rem; height: 1rem; flex-shrink: 0; transform: rotate(90deg); color: var(--h-brand-500); }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__assresp svg { transform: rotate(0deg); } }
.tts-home.tts-home .tts-upg__assresp p { font-size: 0.875rem; line-height: 1.625; font-weight: 500; color: var(--h-navy-900); }
.tts-home.tts-home .tts-upg__assfoot { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--h-line); background: #f8f6f1; padding: 1.25rem 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__assfoot { flex-direction: row; align-items: center; padding-inline: 2rem; } }
.tts-home.tts-home .tts-upg__assfoot p { font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }
.tts-home.tts-home .tts-upg__assfoot .tts-btn { flex-shrink: 0; }

/* ---------- How it works (centered timeline) ---------- */
.tts-home.tts-home.tts-upg--process { 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-upg__procinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__procinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__timeline { position: relative; margin-top: 3.5rem; list-style: none; padding: 0; }
.tts-home.tts-home .tts-upg__timelinebar { position: absolute; top: 0; bottom: 0; left: 1.25rem; width: 1px; background: var(--h-navy-200); }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__timelinebar { left: 50%; } }
.tts-home.tts-home .tts-upg__timeline > li { position: relative; padding-bottom: 2.5rem; padding-left: 3.5rem; }
.tts-home.tts-home .tts-upg__timeline > li:last-child { padding-bottom: 0; }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__timeline > li { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 5rem; padding-left: 0; padding-bottom: 3rem; } .tts-home.tts-home .tts-upg__timeline > li:last-child { padding-bottom: 0; } }
.tts-home.tts-home .tts-upg__tlnum { position: absolute; left: 1.25rem; top: 0.25rem; z-index: 10; display: grid; height: 2.5rem; width: 2.5rem; transform: translateX(-50%); place-items: center; border-radius: 9999px; background: var(--h-brand-500); font-family: Manrope, Inter, sans-serif; font-size: 0.875rem; line-height: 1.25rem; font-weight: 800; color: #fff; box-shadow: 0 12px 30px -12px rgba(232, 31, 34, 0.75); }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__tlnum { left: 50%; } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__tlside--left { grid-column-start: 1; padding-right: 2rem; text-align: right; } .tts-home.tts-home .tts-upg__tlside--right { grid-column-start: 2; padding-left: 2rem; } }
.tts-home.tts-home .tts-upg__tltitle { font-size: 1rem; line-height: 1.5rem; font-weight: 700; color: var(--h-navy-900); }
.tts-home.tts-home .tts-upg__tltext { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.625; color: var(--h-slate-600); }

/* ---------- Explore replacements ---------- */
.tts-home.tts-home.tts-upg--fleet {
	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-upg__fleetinner { padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__fleetinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__fleethead { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__fleethead { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.tts-home.tts-home .tts-upg__fleetgrid { margin-top: 3rem; display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__fleetgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__fleetgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-upg__fleetgrid > .tts-reveal { height: 100%; }

/* ---------- Related services ---------- */
.tts-home.tts-home.tts-upg--related { position: relative; overflow: hidden; background: var(--h-navy-900); }
.tts-home.tts-home .tts-upg__relgrid { position: absolute; inset: 0; opacity: 0.6; }
.tts-home.tts-home .tts-upg__relorb { position: absolute; right: -8rem; top: 0; height: 24rem; width: 24rem; border-radius: 9999px; background: rgba(232, 31, 34, 0.15); filter: blur(64px); }
.tts-home.tts-home .tts-upg__relinner { position: relative; padding-block: 5rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__relinner { padding-block: 6rem; } }
.tts-home.tts-home .tts-upg__relcards { margin-top: 3rem; display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__relcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tts-home.tts-home .tts-upg__relcards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tts-home.tts-home .tts-upg__relcards > .tts-reveal { height: 100%; }
.tts-home.tts-home .tts-upg__relcard { display: flex; height: 100%; flex-direction: column; border-radius: 1rem; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05); padding: 1.5rem; text-decoration: none; transition: all 0.3s; }
.tts-home.tts-home .tts-upg__relcard:hover { transform: translateY(-0.25rem); border-color: rgba(240, 112, 114, 0.4); background: rgba(255, 255, 255, 0.08); }
.tts-home.tts-home .tts-upg__relicon { display: grid; height: 2.75rem; width: 2.75rem; place-items: center; border-radius: 0.75rem; background: rgba(232, 31, 34, 0.15); color: var(--h-brand-300); }
.tts-home.tts-home .tts-upg__relicon svg { width: 1.375rem; height: 1.375rem; }
.tts-home.tts-home .tts-upg__reltitle { margin-top: 1rem; font-size: 1rem; line-height: 1.5rem; font-weight: 700; color: #fff; }
.tts-home.tts-home .tts-upg__reltext { margin-top: 0.5rem; flex: 1 1 0%; font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.75); }
.tts-home.tts-home .tts-upg__rellink { margin-top: 1.25rem; display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; color: var(--h-brand-300); }
.tts-home.tts-home .tts-upg__rellink svg { width: 1rem; height: 1rem; transition: transform 0.2s; }
.tts-home.tts-home .tts-upg__relcard:hover .tts-upg__rellink svg { transform: translateX(0.25rem); }
.tts-home.tts-home .tts-upg__relfoot { margin-top: 2.5rem; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1.25rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 2rem; }
@media (min-width: 640px) { .tts-home.tts-home .tts-upg__relfoot { flex-direction: row; } }
.tts-home.tts-home .tts-upg__relfoot p { font-size: 0.875rem; line-height: 1.625; color: rgba(226, 235, 243, 0.8); }
.tts-home.tts-home .tts-upg__relfoot .tts-btn { flex-shrink: 0; }
.tts-home.tts-home .tts-upg__relfoot .tts-btn svg { width: 1.125rem; height: 1.125rem; }
